»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:05 Cabanossi left 00:08 Cabanossi joined 00:22 lookatme joined
lookatme morning .o/ 00:22
00:35 raschipi joined 00:37 Cabanossi left 00:38 Cabanossi joined
lookatme I wonder why it exit from Perl 6 REPL mode when I press CTRL + C ? 00:40
00:44 BenGoldberg joined
raschipi lookatme: I think they didn't write a signal handler for SIGINT. By default, getting a SIGINT kills the program. 00:45
lookatme raschipi, It would be better add a handler for SIGINT. :) 00:46
raschipi I think it should do the same as the shell, print a new prompt 00:47
lookatme yeah 00:48
It will be helpful when type mistake happened 00:49
00:52 chee left, ctilmes left, lookatme left, ctilmes joined, lookatme joined, chee joined 01:04 andrzejku_ joined 01:07 andrzejku left 01:20 colomon left 01:25 troys_ is now known as troys 01:26 aborazmeh joined, aborazmeh left, aborazmeh joined 01:27 Actualeyes joined 01:37 raschipi left
samcv i'm making a perl 6 module that will query font information 01:40
will only work under linux but may be nice to add to our ecosystem :)
though i guess you can prolly install freetype on windows so potentially could work on windows 01:41
hobbs yeah, probably not a ton of people have it, but devs are more likely than most to have some GTK app on windows, which then brings freetype with it :) 01:47
samcv well. all people have fc-scan 01:49
anybody who has linux has freetype
unless you have no gui
and even if you don't... you probably still have it
ah. re windows you mean
hobbs yeah
samcv now i need to make a hash. i have one array of the value keys and one with the values 01:50
is there a builtin that will combine them
to a nice hash?
obviously the indexes match
hobbs my %hash = @keys Z=> @values; 01:55
01:56 troys is now known as troys_
samcv thank you kindly 01:56
hobbs or anonymously, Hash.new(@keys Z=> @values). The zip produces a list of pairs, it's the assignment to a hash that coerces it in the first one :) 02:00
MasterDuke m: my @a = <a b c>; my @b = ^3; my %h; %h{@a} = @b; dd %h # if you already have the hash and want to add to it 02:06
camelia Hash %h = {:a(0), :b(1), :c(2)}
hobbs cool, that one's the same as perl 5 really :) 02:07
except for the %
02:08 pilne left 02:10 yoleaux left
samcv hmm maybe shouldn't bother converting the integer values to int objects and just return them as strings? idk 02:11
then i have to do more processing. hm should prolly do it for the bools. i know beforehand what each thing is gonna be 02:12
now it's becoming more work :P
02:23 aborazmeh left
samcv well i did it. :) this is actually gonna be a really nice module 02:27
BenGoldberg m: my IntStr $x = 3; say $x.perl 02:28
camelia Type check failed in assignment to $x; expected IntStr but got Int (3)
in block <unit> at <tmp> line 1
BenGoldberg m: my IntStr(Cool) $x = 3; say $x.perl
camelia 5===SORRY!5=== Error while compiling <tmp>
Coercion IntStr(Cool) is insufficiently type-like to qualify a variable
at <tmp>:1
------> 3my IntStr(Cool) $x7⏏5 = 3; say $x.perl
expecting any of:
constraint
BenGoldberg m: my IntStr() $x = 3; say $x.perl
camelia 5===SORRY!5=== Error while compiling <tmp>
Coercion IntStr(Any) is insufficiently type-like to qualify a variable
at <tmp>:1
------> 3my IntStr() $x7⏏5 = 3; say $x.perl
expecting any of:
constraint
hobbs maybe *you're* insufficiently type-like 02:29
BenGoldberg I am a type that is shaped precisely like myself.
samcv since i already know which are int's which are double's and which are strings. and then the other "things" like FT_Face is obviously just going to be a string
since it wouldn't make any sense to convet it to something else 02:30
or CharSet is a 'type'
though it's really a string i guess
BenGoldberg An FT_Face is a pointer to a struct FT_FaceRec_.
samcv charset: '20-7e a0-ae b0-b6 b8-de e0-119 152-153 160-161 178 192 2c6-2c7 2c9 2d8-2dd 3c0 2013-2014 2018-201a 201c-201e 2020-2022 2026 2030 2039-203a 20ac 2122 2126 2202 2206 220f 2211 2215 2219-221a 221e 222b 2248 2260 2264-2265 25ca' 02:31
unless i should do something to that...
just gonna leave as a string like i got it
02:31 mtj_ left
hobbs you could make it a list of ranges for starters 02:31
02:33 noganex_ joined 02:34 mtj_ joined
samcv uhm 02:34
hm
most people might not want that info tho? idk have to balance processing time? what if you want to query tons of fonts 02:35
though. i do let you choose what to query
so you can just leave it out
going to be a good module. i just know 02:36
heh
02:36 noganex left
samcv hobbs, so ranges and integers? cause some are not ranges 02:36
hobbs was debating that
I think ranges and ranges would be less work 02:37
er, be friendlier to the user I mean
samcv ranges of one?
hobbs yeah
samcv hm
02:38 hythm left
hobbs I dunno, I guess you have to think about how it would be used, if it's used at all. One way would be answering the question "does the font have a glyph for this character?" I assume 02:38
another way would be mapping the indices, or is there another structure for that?
samcv not that i know of. i mean 02:39
it's as easy to make a range of one than make an integer
hobbs yeah
I just think a list of uniform types is less confusing to deal with
02:39 ghs39ghsggf joined, ghs39ghsggf left
samcv m: for ((1..2), 3)».list.flat { .say } 02:40
camelia 1
2
3
samcv m: for ((1..2), (3..3))».list.flat { .say }
camelia 1
2
3
samcv m: for ((1..2), (3..3)) { .say }
camelia 1..2
3..3
samcv m: for ((1..2), (3..3)).list { .say }
camelia 1..2
3..3
03:07 Cabanossi left 03:08 Cabanossi joined
samcv hobbs, what should i name the module? Font::Info ? Font::Query? 03:11
almost done with it
lookatme Font::QueryInfo ? 03:12
hobbs no opinion there sorry 03:13
samcv lookatme, i'll go with QueryInfo 03:14
lookatme It's simple and readable
03:18 kurahaupo joined, kurahaupo__ left 03:22 Sense8 joined 03:26 kurahaupo left, kurahaupo joined
samcv ugh i can't install File::Find ? 03:33
so i can't install Mi6
maybe it doesn't list in the META file? 03:34
hmm nope it's there. but somehow zef didn't install it
03:36 Cabanossi left
samcv eek gist.github.com/samcv/649fd921a387...ae2b03b380 03:37
03:38 Cabanossi joined
samcv so File::Find is installed for one perl 6 install but not the other. and zef thinks it's installed 03:38
03:41 AlexDaniel left 03:42 Actualeyes left 03:44 khw joined 03:51 Cabanossi left 03:52 Cabanossi joined 03:56 plythnas joined, plythnas left
perlawhirl bench: 2017.01,2017.05 gist.githubusercontent.com/0racle/.../boggle.p6 04:00
benchable6 perlawhirl, Successfully fetched the code from the provided URL.
perlawhirl, starting to benchmark the 2 given commits
perlawhirl, benchmarked the given commits, now zooming in on performance differences
perlawhirl, ¦2017.01: ««run failed, exit code = 1, exit signal = 0»» ¦2017.05: ««run failed, exit code = 1, exit signal = 0»»
perlawhirl bench: 2017.01,HEAD gist.githubusercontent.com/0racle/.../boggle.p6 04:02
benchable6 perlawhirl, Successfully fetched the code from the provided URL.
perlawhirl, starting to benchmark the 2 given commits
perlawhirl, benchmarked the given commits, now zooming in on performance differences
perlawhirl, ¦2017.01: ««run failed, exit code = 1, exit signal = 0»» ¦HEAD: ««run failed, exit code = 1, exit signal = 0»»
perlawhirl bench: 2017.01,HEAD gist.githubusercontent.com/0racle/.../boggle.p6
benchable6 perlawhirl, Successfully fetched the code from the provided URL.
perlawhirl, starting to benchmark the 2 given commits
perlawhirl, benchmarked the given commits, now zooming in on performance differences
perlawhirl, ¦2017.01: ««run failed, exit code = 1, exit signal = 0»» ¦HEAD: ««run failed, exit code = 1, exit signal = 0»»
perlawhirl obench: 2017.02 gist.githubusercontent.com/0racle/.../boggle.p6 04:03
bench: 2017.02 gist.githubusercontent.com/0racle/.../boggle.p6
benchable6 perlawhirl, Successfully fetched the code from the provided URL.
perlawhirl, starting to benchmark the 1 given commit
perlawhirl, ¦2017.02: ««run failed, exit code = 1, exit signal = 0»»
perlawhirl bench: HEAD gist.githubusercontent.com/0racle/.../boggle.p6
benchable6 perlawhirl, Successfully fetched the code from the provided URL.
perlawhirl, starting to benchmark the 1 given commit
perlawhirl, ¦HEAD: ««run failed, exit code = 1, exit signal = 0»»
samcv lookatme, hobbs github.com/samcv/perl6-Font-QueryInfo actually turned out exceptional 04:04
hobbs cool :) 04:05
let's see if I can get it to work 04:06
04:06 quester joined 04:07 yoleaux joined, ChanServ sets mode: +v yoleaux
samcv ok just made a fix 04:10
i would pull again if you checkout it out already. and i just updated the example
run the example and just give it a folder as an argument and it will dump all the data for all fonts in that folder 04:11
gist.github.com/8137eb7e3643d19f54...e5f41d25f8 04:12
here's the output i get running on a bunch of MS fonts
perlawhirl bench: HEAD gist.githubusercontent.com/0racle/.../boggle.p6
benchable6 perlawhirl, Successfully fetched the code from the provided URL.
perlawhirl, starting to benchmark the 1 given commit
samcv prolly better in raw gist.githubusercontent.com/samcv/8...0fonts.txt
benchable6 perlawhirl, ¦HEAD: «1.7936»
samcv let me know if you have any issues. should publish to ecosystem tonight :) 04:13
perlawhirl bench: 2016.12,2017.01,2017.02,2017.03,2017.04,2017.05 gist.githubusercontent.com/0racle/.../boggle.p6
benchable6 perlawhirl, Successfully fetched the code from the provided URL.
perlawhirl, starting to benchmark the 6 given commits
hobbs samcv: yeah, it works :)
samcv :)
very proud with how it turned out 04:14
now i can rename all these fonts!
benchable6 perlawhirl, benchmarked the given commits, now zooming in on performance differences
perlawhirl, gist.github.com/1262a5bd0f60120aa5...276394dda6
hobbs samcv: here's a random one: gist.githubusercontent.com/arodlan...file1.txt# 04:15
samcv not sure if i should make lang an array 04:16
but i'm not 100% sure if the info it dumps isn't just info in the font file
perlawhirl bench: 2017.01 gist.githubusercontent.com/0racle/.../boggle.p6
benchable6 perlawhirl, Successfully fetched the code from the provided URL.
samcv and it may not match that format
benchable6 perlawhirl, starting to benchmark the 1 given commit
perlawhirl, ¦2017.01: «1.6920»
04:17 wamba joined
hobbs samcv: I think it is a defined format. it looks like freetype is parsing the language tags that TrueType and OpenType use and converting them to IETF-style ones 04:22
perlawhirl bench: 2017.01,HEAD gist.githubusercontent.com/0racle/.../boggle.p6 04:24
benchable6 perlawhirl, Successfully fetched the code from the provided URL.
perlawhirl, starting to benchmark the 2 given commits
perlawhirl, benchmarked the given commits, now zooming in on performance differences 04:25
perlawhirl, ¦2017.01: «4.5081» ¦HEAD: «4.8042»
perlawhirl bench: 2016.10 gist.githubusercontent.com/0racle/.../boggle.p6 04:26
benchable6 perlawhirl, Successfully fetched the code from the provided URL.
perlawhirl, starting to benchmark the 1 given commit
perlawhirl, ¦2016.10: «4.8635»
perlawhirl bench: releases gist.githubusercontent.com/0racle/.../boggle.p6 04:28
benchable6 perlawhirl, Successfully fetched the code from the provided URL.
perlawhirl, starting to benchmark the 19 given commits
04:28 dustinm` left 04:29 dustinm` joined
hobbs samcv: which means you should be able to do something useful with them if you wanted, like splitting and putting in a set (unless there's already an appropriate type for language tags :) 04:30
samcv there aren't THAT many types
04:30 tinita left 04:31 tinita joined 04:32 benchable6 left, benchable6 joined, ChanServ sets mode: +v benchable6 04:33 curan joined, kyan joined
hobbs I mean, someone may have written a module for it, it's a generally useful thing 04:34
for purposes like doing HTTP content negotiation correctly :)
04:35 Actualeyes joined
samcv i mean they're already like 04:37
two letter languages
04:37 bwisti left
samcv aren't those standard 04:37
hobbs there's a bit more to it than that 04:38
and yes, there's a standard, but then there's another standard and another :)
04:42 khw left, mcmillhj joined
hobbs anyway, that's a problem easily deferred 04:43
if you wanted to do .split("|").Set it would probably be appropriate, but doing nothing and leaving that up to the user is hardly a crime 04:45
samcv yea 04:46
i mean it's listed as a String property
lookatme samcv, works fine on my fedora.
04:47 mcmillhj left 04:53 mcmillhj joined 04:58 mcmillhj left 05:00 kyan left 05:02 astj_ joined, astj left
perlawhirl bench: 2016.11,2016.12,2017.01,2017.02,2017.03,2017.04,2017.05 gist.githubusercontent.com/0racle/.../boggle.p6 05:04
benchable6 perlawhirl, Successfully fetched the code from the provided URL. 05:05
perlawhirl, starting to benchmark the 7 given commits
05:06 imcsk8 left, Cabanossi left 05:07 Cabanossi joined
benchable6 perlawhirl, benchmarked the given commits, now zooming in on performance differences 05:08
perlawhirl, gist.github.com/487f5cae8c166ecb6a...eaf79d7a9a
05:11 mr-foobar left 05:13 mr-foobar joined 05:14 imcsk8 joined 05:19 |oLa| joined 05:22 troys_ is now known as troys, mcmillhj joined 05:23 nadim joined 05:25 kurahaupo left 05:27 mcmillhj left 05:28 kurahaupo joined 05:31 nadim left 05:33 Sense8 left 05:37 lookatme left 05:46 xtreak joined 05:49 mcmillhj joined
samcv hobbs, actually figured out something i need to fix. family, style and fullname are localized 05:51
so i need to break up them and Z= them into a hash
:fullname("Arial Narrow Negreta,Arial Narrow tučné,Arial Narrow fed,Arial Narrow Fett,Arial Narrow Έντονα,Arial Narrow Bold,Arial Narrow Negrita,Arial Narrow Lihavoitu,Arial Narrow Gras,Arial Narrow Félkövér,Arial Narrow Grassetto,Arial Narrow Vet,Arial Narrow Halvfet,Arial Narrow Pogrubiony,Arial Narrow Negrito,Arial Narrow Полужирный,Arial Narrow Fet,Arial Narrow Kalın,Arial Narrow Krepko,Arial Narrow Lodia")
:fullnamelang("ca,cs,da,de,el,en,es,fi,fr,hu,it,nl,no,pl,pt,ru,sv,tr,sl,eu"),
and that's not super useful
TEttinger that is a long message 05:53
05:54 mcmillhj left 05:57 andrzejku_ is now known as andrzejku 05:58 lowbro joined
andrzejku hi people :) 05:58
05:59 xtreak left, xtreak joined 06:02 mcmillhj joined 06:04 domidumont joined 06:06 mcmillhj left 06:07 domidumont left 06:08 domidumont joined 06:09 BenGoldberg left 06:12 pmurias joined
pmurias draft of TPF::Amsterdam talk proposal: paste.debian.net/971387/ 06:13
06:14 mcmillhj joined 06:17 dwarring left 06:19 mcmillhj left 06:21 xtreak left
moritz pmurias: +1 06:21
06:21 xtreak joined 06:24 RK joined 06:25 ugglan left
RK Hello 06:25
06:25 RK left 06:26 nadim joined, xtreak left
moritz hi 06:26
06:26 mcmillhj joined 06:29 mr-foobar left, cyphase left, mr-foobar joined 06:31 troys left, mcmillhj left 06:34 cyphase joined, Cabanossi left, wamba left 06:37 Cabanossi joined 06:38 mcmillhj joined 06:39 hythm joined 06:43 mcmillhj left
perlawhirl bisect: gist.githubusercontent.com/0racle/...n_array.p6 06:45
bisectable6 perlawhirl, Successfully fetched the code from the provided URL.
perlawhirl, Bisecting by output (old=2015.12 new=aa9516b) because on both starting points the exit code is 0
perlawhirl, bisect log: gist.github.com/2accb25adf5727e727...eb15cf6a41
perlawhirl, (2016-04-05) github.com/rakudo/rakudo/commit/6a...822dac090b
perlawhirl bisect: old=2016.05 gist.githubusercontent.com/0racle/...n_array.p6 06:47
bisectable6 perlawhirl, Successfully fetched the code from the provided URL.
perlawhirl, Bisecting by output (old=2016.05 new=aa9516b) because on both starting points the exit code is 0
perlawhirl, bisect log: gist.github.com/05b155cf40b3389d74...99b236198b
perlawhirl, (2016-10-19) github.com/rakudo/rakudo/commit/7a...12c68ddb6d
06:52 mcmillhj joined
perlawhirl re ↑ dunno if tt's a regression or a correction, but that commit broke the use of the anonymous state var ($++) inside regex code blocks 06:52
06:57 mcmillhj left 07:00 keylet joined 07:02 xtreak joined, espadrine joined 07:08 mcmillhj joined 07:12 mcmillhj left 07:14 jjjack joined 07:15 abraxxa joined 07:16 jjjack left 07:18 keylet left, wamba joined 07:22 lizmat left 07:24 kurahaupo_ joined 07:25 lizmat joined, kurahaupo__ joined 07:26 kurahaupo__ left, kurahaupo left, kurahaupo joined, kurahaupo left 07:27 kurahaupo joined, kurahaupo left 07:28 kurahaupo_ left 07:33 liqg joined 07:34 liqg left, liqg joined 07:36 Cabanossi left 07:37 Cabanossi joined 07:38 mcmillhj joined
liqg p6: say 3.perl 07:40
camelia 3
07:43 mcmillhj left
masak p6: say "Perl".perl 07:44
camelia "Perl"
masak p6: say ".perl".perl 07:45
camelia ".perl"
pmurias submitted his TPF::Amsterdam talk 07:46
07:51 mcmillhj joined 07:56 mcmillhj left 08:03 jonas2 joined 08:05 MasterDuke left
moritz pmurias++ 08:11
08:16 llvm joined 08:18 mcmillhj joined 08:20 dakkar joined 08:22 mcmillhj left 08:27 keylet joined
keylet pastebin.com/G2g9cP0U 08:31
08:31 srandon111 joined
keylet perl6 prints this when i use .parse() 08:31
srandon111 hello all, is it worth learning perl6 instead of python/ruby ?
and which could be the advantages ?
keylet how can I work with these results as class 08:32
i. e. title_wrap.title_pair.title
check if some sub-class has an attribute
?
llfourn keylet: $res<title_wrap><title_pair>
keylet thank you! 08:33
08:33 mcmillhj joined
llfourn srandon111: it might be. Depends on what your project is I'd say. 08:33
it's advantages is that it's well designed and fun to use 08:34
m: say ('⚀' .. '⚅').roll(5) # that's how we roll 08:35
camelia (⚄ ⚁ ⚃ ⚀ ⚅)
08:36 ufobat joined 08:38 mcmillhj left 08:41 _cronus joined
_cronus hello 08:44
llfourn o/
_cronus I think I found a bug in JSON::RPC::Server 08:45
08:45 quester left, espadrine left
llfourn _cronus: perhaps report it on github? 08:46
_cronus it makes use of psgi.input, but it isn't set by PSGI unless $psgi-classic is set.
timotimo ah, so perhaps an api change in psgi happened and it didn't get changed to match? 08:47
_cronus llfourn: this is my intention, but since I'm very new to perl6 I'd like your help to verify that it is a bug and not my missinterpretation of how this is supposed to work.
llfourn _cronus: understood :) 08:48
08:49 mcmillhj joined 08:50 rindolf joined 08:53 xtreak left 08:54 mcmillhj left
_cronus I copied the simple example from github.com/bbkr/jsonrpc and client gave me Parse error (-32700): "Input (0 characters) is not a valid JSON string" 08:57
08:58 mr-foobar left
llfourn _cronus: I'd say that's at least a bug with the example 08:59
09:01 ggoebel left
_cronus changing psgi.input to p6sgi.input, or adding :psgi-classic in /opt/rakudo-star-2017.04/share/perl6/site/sources/81DB393EB1150D351C43BD914B340EA590E02CE7 makes it work. 09:02
09:04 abraxxa left, nattefrost joined, abraxxa joined
_cronus llfourn: true, I'll report it as a bug to the test case then 09:05
09:05 Cabanossi left
llfourn _cronus++ 09:06
09:07 Cabanossi joined 09:08 mr-foobar joined 09:09 abraxxa left, abraxxa joined 09:11 xtreak joined
_cronus llfourn: thanks 09:13
09:14 ggoebel joined 09:18 mcmillhj joined 09:19 xtreak left 09:24 ctilmes left 09:25 mcmillhj left 09:26 kaare__ left 09:28 _cronus left, liqg left 09:32 llvm left 09:42 zakharyas joined 09:50 Cabanossi left
pmurias srandon111: Perl 6 is more fun, python/ruby are more mature/have more jobs 09:50
srandon111 thanks pmurias 09:51
09:52 Cabanossi joined
tadzik srandon111: the way I see it, learning a new, different language expands your horizons, and you end up improving all your other programming work 09:55
Perl 6 has a lot cool things to learn, which may make you a better python programmer even if you never end up using Perl 6 for your job
09:58 ufobat left 10:05 zakharyas left 10:06 rumble joined 10:07 grumble left 10:08 rumble is now known as grumble 10:14 keylet_ joined
keylet_ perl6 grammars vs ANTLR4 10:14
what is better?
10:16 domidumont left 10:24 itaylor57 left
timotimo there's a converter that turns antlr4 grammars into perl6 grammars 10:24
so you don't have to care :P
on top of that, perl6 grammars give you a crapton of escape hatches to get around any limitations you might find 10:25
10:25 TEttinger left 10:26 Actualeyes left 10:30 itaylor57 joined
zengargoyle you can't go wrong by eventually throwing Perl 5 into the mix. it can be so quick and dirty and flexible and fast and throwaway that it's just damn handy regardless of your daily work language choice. :) 10:31
10:42 grondilu joined
grondilu Why doesn't this work? :-( 10:43
gist.github.com/grondilu/835343238...bc78daca50
10:44 zakharyas joined
grondilu I don't get why 'a+b' doesn't. 10:44
[ptc] hi perl6 10:45
dumb question of the day: is RT down atm? 10:46
just wondering if I'm suffering from PEBKAC
zengargoyle [ptc]: website works for me... 10:49
[ptc] zengargoyle: cheers. Must be something at my end. I keep getting 502s 10:50
grondilu nevermind I'll used the grammar in en.wikipedia.org/wiki/Parsing_expr...n_grammar. Seems to work better. 10:55
zengargoyle grondilu: yeah, seems to work, fail, fail, then infinite recursion. 10:57
11:05 Cabanossi left 11:06 zakharyas left 11:07 Cabanossi joined
grondilu m: say i**-1 11:14
camelia 6.12323399573677e-17-1i
grondilu ^that's LTA imho
m: say i**2 11:15
camelia -1+1.22464679914735e-16i
grondilu so is this
m: say i**2 == -1
camelia False
grondilu m: say i**2 =~= -1
camelia True
zengargoyle wonders how often modules.perl6.org/todo updates. i'm on a quest to make it happy. :P 11:17
m: say i*i, so i**2 == -1+0i, so i*i == -1+0i 11:21
camelia -1+0iFalseTrue
moritz exponentiation goes to polar form 11:22
so there are always imprecisions
11:22 eveo joined
zengargoyle ah, i halfway understand that. 11:22
moritz I know people don't like that, but Perl 6 is not a CAS :-) 11:23
eveo grondilu: that's floating point noise
keylet I try to get token $parsed<title_wrap><title_pair><title>
zengargoyle from 3blue1brown videos on youtube. :P
keylet but I get not only the string, but also all its substrings
what can I do if I don't want to get these substrings 11:24
? 11:25
moritz keylet: what are you doing now?
11:26 araraloren joined
keylet pastebin.com/gj11VKC8 11:26
grondilu moritz: I'm not asking Perl 6 to be a CAS, but Complex is not specced to use natives, is it? Shouldn't we have C<complex> for that? 11:27
keylet I want to only get 「аутэ́куку」
grondilu m: my complex $z;
camelia 5===SORRY!5===
Type 'complex' is not declared. Did you mean any of these?
Complex
Compiler

at <tmp>:1
------> 3my complex7⏏5 $z;
Malformed my
at <tmp>:1
------> 3my7⏏5 complex $z;
moritz grondilu: it's specced to use Num by default
grondilu that's LTA 11:28
moritz and that comes without rounding errors, independently of whether they are num or Num
(Complex is supposed to be a role that supports other storage types, but so far nobody has bothered to implement that)
eveo keylet: say ~.<title> 11:29
stringify the match object
moritz or $_<title>.Str
(same thing, really)
eveo grondilu: what should it use instead of Num?
grondilu eveo: nothing, or just Real
zengargoyle thinks keylet needs to use a make in the title rule to squish things into a single string.
grondilu basically whatever you feed it during instanciation 11:30
eveo grondilu: huh? What do you mean nothing? Also Real is a role and Num is Real
grondilu (as long as it's Real)
eveo Num is Real
grondilu I mean role Complex { has Real ($.re, $.im); ... }
eveo Ah 11:31
So <1.5+5i> would make a Complex with Rat real and Int im
grondilu yeah why not?
keylet moritz: $_<title>.Str worked for me! thanks!
moritz grondilu: sure, do it 11:32
just measure performance before and after
and ** Complex will likely still be subject to floating point errors
grondilu no
11:32 wamba left
grondilu at least if exponent is integer 11:33
eveo You then hit an issue similar to what we have with allomorphs 11:34
moritz that^H^Hif it's Complex, it's not integer :-)
grondilu I've complained about Numeric several times already. This is just an expample. I guess I'll write a long issue one of these days.
moritz don't write issues. Fix them. 11:35
eveo As in, is <1.0+0i> eqv <1+0i> or not
moritz srsly, Complex with non-Num storage types would be nice to have, but actual use cases for that are pretty rare
grondilu is not sure about the semantics of &[eqv]
eveo grondilu: the issue about i**2 was already filed before and after a discussion rejected 11:36
keylet can I get the next element of the array if it exists, if I use for @array { $_ } ?
eveo keylet: you could iterate two at a time
zengargoyle seems all the bizarre stuff has been discussed and rejected. :) 11:37
eveo keylet: for @a -> $a, $b? {}
zengargoyle: well, it's been going on for a decade and a half
moritz m: for (1..8).rotor(2 => -1) -> $a, $b { say "$a: $b" }
camelia 1 2: 2 3
3 4: 4 5
5 6: 6 7
Too few positionals passed; expected 2 arguments but got 1
in block <unit> at <tmp> line 1
moritz m: for (1..8).rotor(2 => -1) -> $a, $b? { say "$a: $b" }
camelia 1 2: 2 3
3 4: 4 5
5 6: 6 7
Use of uninitialized value $b of type Mu in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in block at <tmp> line 1
7 8:
eveo need unpack
moritz m: for (1..8).rotor(2 => -1) -> ($a, $b) { say "$a: $b" } 11:38
camelia 1: 2
2: 3
3: 4
4: 5
5: 6
6: 7
7: 8
moritz thanks eveo
zengargoyle eveo: yeah, i know, it just makes me twinge on occasion. 1/3 + 1/3 + 1/3 == 1 is a selling point, but other things that seem to be cromulent are discussed and rejected.
keylet m: my @a = <a b c d e f g>; for @a -> $even, $odd { say "a) $even; b) $odd;" } 11:39
camelia a) a; b) b;
a) c; b) d;
a) e; b) f;
Too few positionals passed; expected 2 arguments but got 1
in block <unit> at <tmp> line 1
zengargoyle too hard, too slow, special case, etc. it's a mixed message.
keylet how to catch this exception?
11:39 araraloren left
eveo keylet: put a question mark after $b 11:40
keylet m: my @a = <a b c d e f g>; for @a -> $even, ?$odd { say "a) $even; b) $odd;" }
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed parameter
at <tmp>:1
------> 3 @a = <a b c d e f g>; for @a -> $even, 7⏏5?$odd { say "a) $even; b) $odd;" }
keylet m: my @a = <a b c d e f g>; for @a -> $even, $odd? { say "a) $even; b) $odd;" }
camelia a) a; b) b;
a) c; b) d;
a) e; b) f;
Use of uninitialized value $odd of type Mu in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in block at <tmp> line 1
a) g; b) ;
keylet m: my @a = <a b c d e f g>; for @a -> $even, $odd? { say "a) $even; b) " .. $odd? .. ";" } 11:41
camelia 5===SORRY!5=== Error while compiling <tmp>
Bogus postfix
at <tmp>:1
------> 3ven, $odd? { say "a) $even; b) " .. $odd7⏏5? .. ";" }
expecting any of:
infix
infix stopper
postfix
statement end…
zengargoyle m: my @a = <a b c d e f g>; for @a -> $even, $odd? { say "a) $even; b) {$odd orelse ''};" } 11:42
camelia a) a; b) b;
a) c; b) d;
a) e; b) f;
a) g; b) ;
11:44 araraloren joined
araraloren evening 11:44
eveo zengargoyle: .1 + .2 == .3 is that way because someone went ahead and made it and other people liked it. Things don't get done by whining in a chat channel about how shitty something is. Even with filed issues the discussion is essentially: <reporter> "I think you should spend a 100 hours of your time changing Complex to follow my idea" <responder> "I'm not convinced"
zengargoyle m: my @a = <a b c d e f g>; for @a -> $even, $odd? { say "a) $even; {$odd??"b) $odd;"!!''}" } 11:46
camelia a) a; b) b;
a) c; b) d;
a) e; b) f;
a) g;
zengargoyle eveo: you take me too seriously. 11:47
eveo zengargoyle: the Rat example is a red herring anyway. There are at least two big issues with rats. Fixing one naively would make rats much slower. The other would need a lot of careful thought
eveo &
11:47 eveo left
zengargoyle the converse being how a lot of function in p6 started as 'just the simplest thing that worked' and over time everything gets faster and better as people go back and replace the simple with the better. 11:51
almost every p6-weekly has some bit getting x% faster when y. 11:52
keylet m: my @a = <a b c d e f g>; for @a { say $_; } 12:00
camelia a
b
c
d
e
f
g
keylet m: my @a = <a b c d e f g>; loop @a { say $_; } 12:01
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3my @a = <a b c d e f g>; loop7⏏5 @a { say $_; }
expecting any of:
scoped block
keylet m: my @a = <a b c d e f g>; for @a -> $foo, $bar { say $foo; say $bar; }
camelia a
b
c
d
e
f
Too few positionals passed; expected 2 arguments but got 1
in block <unit> at <tmp> line 1
llfourn keylet: you want a for to iterate there
keylet: you have an odd number elements in that array so you can't iterate two-by-two 12:02
m: my @a = <a b c d e f g>; for @a -> $foo, $bar? { say $foo; say $bar; }
camelia a
b
c
d
e
f
g
(Mu)
keylet what is (Mu)?
llfourn keylet: like undefined
super undefined
keylet how to check if $var is (Mu)? 12:03
llfourn and tbh I was expecting it to me Any
zengargoyle eveo: luckily telling me to *-off is probably easier than trying to deal with me learning how to fix core things. :)
araraloren Mu is most undefined
keylet how to check if $var is (Mu)?
llfourn m: say Mu.defined;
camelia False
araraloren Mu is a class 12:04
m: say 1 ~~ Mu;
camelia True
keylet m: my @a = <a b c d e f g>; for @a -> $foo, $bar? { say $foo; say $bar; say $bar.defined; }
camelia a
b
True
c
d
True
e
f
True
g
(Mu)
False
llfourn checking if something is precisely Mu is actually rather hard iirc 12:06
but you usually don't see Mu -- And I'm suprised that an optional parameter to a loop block is Mu by default
m: say (-> $a, $b { }).say 12:07
camelia -> $a, $b { #`(Block|43595616) ... }
True
llfourn m: say (-> $a, $b { }).signature
camelia ($a, $b)
zengargoyle m: my @a = <a b c d e f g>; for @a -> $foo, $bar? { say $foo; ($bar orelse 'bar not defined').say; }
camelia a
b
c
d
e
f
g
bar not defined
llfourn m: say (-> $a, Mu $b { }).signature
camelia ($a, $b)
llfourn m: say (-> $a, $b { }).signature.params 12:08
camelia (Mu $a Mu $b)
llfourn apparently pointy block default type is Mu
12:10 AlexDaniel joined
araraloren m: say Mu.new.mro 12:10
camelia No such method 'mro' for invocant of type 'Mu'
in block <unit> at <tmp> line 1
araraloren m: say Mu.new.^mro
camelia ((Mu))
llfourn m: my $var = Mu; say ($var orelse .WHAT =:= $var) # is there any easier way? 12:11
camelia False
llfourn m: my $var = Mu; say ($var orelse .WHAT =:= Mu) # I mean, is there any easier way?
camelia True
araraloren m: say Mu.WHAT
camelia (Mu)
zengargoyle m: say (-> Mu:D $a, Mu:U $b { say $a; say $b; True}(1,Mu)) 12:12
camelia 1
(Mu)
True
moritz llfourn: what do you want to do?
llfourn moritz: just check if something in a variable with a container is Mu
you can't use ===, so you have to use =:=, but first you have to decont the variable 12:13
I'm not sure the easiest way to do that
moritz !~~ Any, maybe
~~ Mu:U
zengargoyle m: say Mu ~~ Mu:D; say Mu ~~ Mu:U
camelia False
True
llfourn m: say Any ~~ Mu:U 12:14
camelia True
moritz m: say $_ ~~ Mu:U for Mu, Any, Junction, Mu.new,
camelia True
True
True
X::Multi::NoMatch exception produced no message
in block <unit> at <tmp> line 1
moritz eeks
llfourn :P
!~~ Any is a fairly good solution 12:15
keylet now I want to get all tokens with name "foo" as strings
$parsed_by_grammar.~<foo> does not work
llfourn m: say ("a"|"b") !~~ Any
camelia False
llfourn keylet: put the ~ infront of the term
~$parsed_by_grammar<foo> 12:16
12:21 tipdbmp joined
keylet but I get an array that contains one element string "foo foo ...". I'd like to see "foo", "foo", "foo", ... 12:22
llfourn keylet: ah sorry I didn't see your early query, if foo is an array of matches you should do <foo>.map(*.Str)
ealier*
araraloren an array with one element ? 12:23
12:23 xtreak joined
tipdbmp Where can the "#|" pod thingy returned by the WHY metamethod be found in the Perl 6 language documentation? 12:23
llfourn tipdbmp: "#|" is pretty under developed so I don't think we've documented it 12:24
could be wrong
zengargoyle tipdbmp: look in the synopses and cross your fingers. 12:25
tipdbmp Right, okay then.
zengargoyle there's at least one module that uses #| in a real world use case.
keylet llfourn: $parsed_by_grammar<foo>.map(*.Str) works! thank you! 12:26
12:27 pmurias left
zengargoyle it was the GraphML module that somebody was recently presenting about. used #| for the automatic descriptions.... 12:27
llfourn keylet: no worries :) 12:28
12:28 xtreak left
zengargoyle tipdbmp: make that Graph 12:28
tipdbmp: make that GraphQL
github.com/CurtTilmes/Perl6-GraphQL 12:29
tipdbmp Why does a boolean argument get matched for an Int parameter with multi subs: sprunge.us/YhAS, is it because True/False are an enum values? 12:33
moritz m: say True ~~ Int
camelia True
moritz yes
12:35 jjjack joined
tipdbmp Perl 6 has native integers uint64, int32, etc, is Num a native float64? Can its bits be reinterpreted to and stored in a uint64? 12:35
moritz num is native, Num is boxed 12:36
and I don't know if we support any kind of reinterpretation; if so, it's somewhere in the nativecall code
tipdbmp m: my num $x = 1.0; my uint64 $y = uint64($x); say $y; 12:37
camelia This type cannot unbox to a native number: P6opaque, Rat
in block <unit> at <tmp> line 1
moritz needs 1.0e0
1.0 is a Rat
tipdbmp m: my num $x = 1.0e0; my uint64 $y = uint64($x); say $y; 12:38
camelia Cannot invoke this object (REPR: P6int; uint64)
in block <unit> at <tmp> line 1
moritz m: my num $x = 1.0e0; my uint64 $y = $x; say $y
camelia 1
moritz that's just coercion
tipdbmp What does the "REPR: P6int; uint64" message mean? 12:39
moritz it can't invoke an object, and the object it complains about has the representation P6int, and is of type uint64 12:40
12:42 mcmillhj joined
tipdbmp m: use NativeCall; my num $x = 1.0e0; my uint64 $y = nativecast(uint64, $x); 12:43
camelia Native call expected return type with CPointer, CStruct, CArray, or VMArray representation, but got a P6opaque (Num)
in sub nativecast at /home/camelia/rakudo-m-inst-1/share/perl6/sources/24DD121B5B4774C04A7084827BFAD92199756E03 (NativeCall) line 417…
tipdbmp Can NativeCall::nativecast be used to reinterpret num to uint64? 12:45
Is SETTING the same as CORE? 12:51
What is the variable $¢? 12:55
araraloren `The current match state is kept in the regex's $¢ variable which will eventually get bound to the user's $/ variable when the match completes. ` 12:59
design.perl6.org/S05.html#Match_objects
zengargoyle woot! got one module to pass todo's pedantism 13:01
is logotype still going to be a *thing*? 13:02
tipdbmp araraloren, thank you. 13:05
13:07 drrho left 13:09 jjjack left 13:13 mspo left
tipdbmp Can the "#? condition", "#?endif" blocks be used with constants: constant foo = False; #? foo\n say 'A'; #?endif 13:17
moritz tipdbmp: what are you doing? 13:19
that's only enabled in rakudo's source 13:20
not in regular Perl 6 code
see tools/build/gen-cat.nqp for that it understands
tipdbmp Looking at some of the core modules and those blocks show up. 13:21
13:24 drrho joined, cyphase left
keylet is it possible to insert content of any variable to $parsed<name> like $parsed<$foo>? 13:25
tadzik {} is what you're looking for
araraloren maybe you need $parsed{$foo} ?
tadzik <> is just an autoquoting {}
araraloren <> not support interplation 13:26
keylet yes, it is just what I want! :)
timotimo btw, cursor and match object have been unified and $/ and $𝕔 should now be the same thing 13:27
huh what did i type there
haha, that's not the combination of | and c i meant 13:28
$¢ is the one
grondilu m: subset NakedPair of Pair where !*.value.defined; multi infix:<+>(Real $, NakedPair $) { 0 }; say 1 + :a; 13:29
camelia ===SORRY!===
Circularity detected in multi sub types for &infix:<+>
grondilu ^false positive imho
13:29 cyphase joined, kaare_ joined
grondilu m: subset NakedPair of Pair where { .value === True }; sub foo(NakedPair $) { "ok" }; foo (:a) 13:31
camelia ( no output )
grondilu m: subset NakedPair of Pair where { .value === True }; sub foo(NakedPair $) { "ok" }; say foo (:a)
camelia ok
grondilu m: subset NakedPair of Pair where { .value === True }; sub foo(NakedPair $) { "ok" }; say foo(:a) 13:32
camelia Too few positionals passed; expected 1 argument but got 0
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
13:32 zakharyas joined, tipdbmp left
grondilu m: subset NakedPair of Pair where {.value === True}; multi infix:<+>(Real $, NakedPair $) { 0 }; say 1 + :a; 13:32
camelia ===SORRY!===
Circularity detected in multi sub types for &infix:<+>
grondilu m: subset NakedPair of Pair where {.value === True}; multi infix:<+>(Real $, Pair $) { 0 }; say 1 + :a; 13:33
camelia 0
grondilu m: subset NakedPair of Pair where {.value === True}; multi infix:<+>(Real $, Pair $ where {.value ===True}) { 0 }; say 1 + :a;
camelia ===SORRY!===
Circularity detected in multi sub types for &infix:<+>
grondilu m: multi infix:<+>(Real $, Pair $ where {.value ===True}) { 0 }; say 1 + :a;
camelia ===SORRY!===
Circularity detected in multi sub types for &infix:<+>
grondilu m: multi prefix:<+>(Pair $ where {.value ===True}) { 0 }; say +:a; 13:34
camelia 0
13:35 lizmat left
grondilu m: multi infix:<+>($, Pair $ where {.value ===True}) { 0 }; say 1 + :a; 13:35
camelia 0
grondilu FYI I'm working on something like: 13:39
use Symbolic; say :a + :b; # Plus[a,b] 13:40
github.com/grondilu/Symbolic
13:42 lizmat joined 13:43 AlexDaniel left 13:47 raschipi joined 13:50 bwisti joined 14:04 kaare_ left, MilkmanDan left, MilkmanDan joined 14:06 kaare_ joined 14:07 lizmat left 14:11 kaare_ left, kaare_ joined, wamba joined 14:13 cdg joined 14:14 lizmat joined 14:22 cdg left 14:27 kaare_ left 14:31 kaare_ joined 14:42 kaare_ left, domidumont joined 14:43 kaare_ joined 14:53 jonas2 left, kaare_ left 14:54 lowbro left 14:56 AlexDaniel joined 14:59 domidumont left, kaare_ joined 15:04 kaare__ joined, kaare_ left 15:10 zakharyas left 15:18 g4 left, wamba left 15:19 espadrine joined 15:20 Cabanossi left, lizmat left 15:21 vike joined 15:22 Cabanossi joined, AlexDaniel left 15:24 AlexDaniel joined, domidumont joined, kurahaupo_ joined, lizmat joined 15:25 lizmat left 15:28 lizmat joined 15:31 AlexDani` joined 15:32 cognominal left 15:33 raiph joined, AlexDaniel left
lucs 'p6doc -l' shows many topics, but which one covers perl6 command line options? 15:33
15:35 zakharyas joined 15:36 khw joined
timotimo i'm not sure we have one for that 15:40
15:41 AlexDani` is now known as AlexDaniel
araraloren What's the name of this command line option style `--/x`? # this disable command line option x 15:41
Such as `-abcd` has a name gnu style, as I know. 15:42
15:44 curan left
raschipi --x-but-long is GNU style, -x-but-long is X style, -x is traditional Unix styel 15:44
perlawhirl bisect: say DateTime.now.second.WHAT 15:45
bisectable6 perlawhirl, Bisecting by output (old=2015.12 new=14d7571) because on both starting points the exit code is 0
raschipi --\x to deactivate option x I never saw
sorry, --/x 15:46
araraloren raschipi thanks, how about `-abcd`, It mean enable `a b c d` option
raschipi Joining flags like that is traditional UNIX style.
Long options was a GNU invention
15:47 pmurias joined
pmurias hi 15:47
araraloren Oh, very thanks raschipi
15:49 bisectable6 left
raschipi BSD programs most times still don't have long options: www.unix.com/man-page/FreeBSD/1/ls/ 15:50
araraloren Yean, I know a style called bsd style **ps** supported 15:51
15:51 bisectable6 joined, ChanServ sets mode: +v bisectable6
lucs timotimo: Looks that way, eh. 15:52
raschipi Yeah, ps BSD style doesn't have any - (ps aux) 15:54
15:56 dolmen joined
raschipi ps aux is roughly equivalent to ps -ely using Unix syntax 15:56
15:56 abraxxa left
araraloren raschipi, em, yeah 15:58
I found a article about linux option style :www.catb.org/esr/writings/taoup/htm...10s05.html
s/a/an/
Thanks again for you kind help . Good night 15:59
15:59 araraloren left
keylet_ can I do "next" for more than one step in a loop ? 16:00
raschipi keylet_: just do next multiple times
timotimo but you'll have to keep a bit of state around
since next will immediately jump to the beginnig of the loop body 16:01
so you can't "next; next;"
16:03 dolmen left, dolmen_ joined 16:04 firstdayonthejob joined, dolmen_ left, dolmen joined 16:05 Cabanossi left 16:06 firstdayonthejob left, benchable6 left 16:07 Cabanossi joined, benchable6 joined, ChanServ sets mode: +v benchable6 16:09 domidumont left 16:10 sjn left 16:11 dogbert17 left 16:13 srandon111 left 16:14 eveo joined
eveo perlawhirl: this is the commit for the Date thing: github.com/rakudo/rakudo/commit/74...46bb6891bf 16:14
16:14 cdg joined
eveo .ask lizmat this commit change the time of DateTime.second from a Rat to Num. Does it matter? github.com/rakudo/rakudo/commit/74...46bb6891bf 16:14
yoleaux eveo: I'll pass your message to lizmat.
zengargoyle having Solaris flashbacks and remembering use '/usr/ucb/ps' because 'ps augxww' is so ingrained. 16:15
16:16 cdg_ joined, cdg left 16:18 sjn joined
eveo zengargoyle: FWIW, the speedups you see weekly often are paid for by a significant loss in readability (and subsequently maintability and accessbility): github.com/rakudo/rakudo/commit/c6...8474fcbb8b 16:18
16:18 cdg joined
zengargoyle is also not sure that MAIN auto option stuff will ever catch on. it's so different than any other option convention. 16:19
16:19 BenGoldberg joined
zengargoyle eveo: yeah, i know. there's trade-offs to be made. 16:19
mst zengargoyle: how so different?
16:21 cdg_ left
zengargoyle mst: --\opt -abc bundling mixing --arg non-arg non-arg --arg 16:22
mst zengargoyle: bundling would be nice, mixing options and arguments generally isn't 16:23
there's plenty of things I use that require options first
zengargoyle i love adding a -l or -d to the end of a `ls` command
or a -n and then up-arrow backspace to really run the command. 16:24
mst the key thing is that prohibiting mixing makes subcommand interfaces possible
16:24 zakharyas left
mst there's more than one way to do it ... but sometimes consistency is a good thing too 16:24
zengargoyle yeah, there are a few subcommand type things that only take args before the command and some that don't, or behave differently depending on whether the arg is global to the app or specific to the sub-command. it's all trade-off somewhere. 16:26
raschipi Arbitrary mixing of flags and arguments is also a GNU invention. Anyone that supports it is probably using their GetOpt lib.
is there bindings to getopt already? 16:27
zengargoyle true, but can be said of anyone using some other getopt lib.
i saw a Getopt::Tiny or something, haven't really looked at it yet. 16:28
eveo m: multi infix:<+>(Real, Pair $ where {.value === True}) { 42 }; say 1 + :a;
camelia ===SORRY!===
Circularity detected in multi sub types for &infix:<+>
eveo m: multi infix:<+>(Real where {True}, Pair $ where {.value === True}) { 42 }; say 1 + :a;
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot do non-typename cases of type_constraint yet
at <tmp>:1
------> 3multi infix:<+>(Real where {True}7⏏5, Pair $ where {.value === True}) { 42 }
expecting any of:
infix
eveo m: multi infix:<+>(Real $ where {True}, Pair $ where {.value === True}) { 42 }; say 1 + :a;
camelia ===SORRY!===
Circularity detected in multi sub types for &infix:<+>
eveo m: multi infix:<+>(Int, Pair $ where {.value === True}) { 42 }; say 1 + :a;
camelia 42
16:30 xzhao left, zakharyas joined
eveo grondilu: filed as rt.perl.org/Ticket/Display.html?id=131574 16:30
16:30 xzhao joined
zengargoyle i tend to think of speedups like the '.trans' method which was once the most basic CS101 implementation possible, then later replaced with the CS301 implementation. a bit more work, slower for extremly simple cases, much faster for any non-simple case. 16:30
16:33 pilne joined
zengargoyle also just likes Getopt::Long and Getopt::Long::Descriptive because they seem to do 99% of everything i want to do. i guess there will be a p6 one eventually. 16:37
eveo Go and make it 16:38
raschipi zengargoyle: The best way to go about it would be to write nativecall bindings to GNU GetOpt to garantee compatible behavior, I think
eveo buggable: eco getopt
buggable eveo, Found 6 results: Getopt::Tiny, Getopt::Long, Getopt::Type, Getopt::Kinoko, Getopt::Std. See modules.perl6.org/#q=getopt
16:38 eveo left
zengargoyle cool, there are many more now. 16:39
buggabl: eco pod2usage 16:40
raschipi buggable: eco pod2usage 16:41
buggable raschipi, Nothing found
zengargoyle doh, :) GLD and pod2usage were about the only things that made my scripts useable. :) 16:42
16:42 robertle joined
zengargoyle --help and --man gave the satisfaction of saying "did you try --help? or read --man?" and the impetus to write the docs in the first place. 16:44
16:45 alimon left
zengargoyle sorta looks like there aren't many users of the 'logotype' feature. 16:46
perlawhirl .tell lizmat re: eveo's msg... i think the real question is, should *.seconds type be consistent, eg: ( DateTime.new('2012-02-29T12:34:56Z'), DateTime.now ).map( *.second.^name )
yoleaux perlawhirl: I'll pass your message to lizmat.
Geth doc: eec88a1fc9 | (Jan-Olof Hendig)++ | doc/Type/Supply.pod6
Added some docs to Supply.produce
16:47
doc: 67c87296ae | (Jan-Olof Hendig)++ | doc/Type/Supply.pod6
Added examples to produce and reduce
16:47 domidumont joined 16:48 ChoHag joined 16:49 curan joined
keylet_ I just noticed this book campaign 16:50
www.indiegogo.com/projects/book-we...2#/updates
if somebody wants to help this man to make the book 16:51
raschipi Everyone is pretty excited for that book already, thanks for the help. lizmat and assossiates donated $1000 for example 16:53
16:54 dakkar left
keylet_ I've supported it too. It's a great idea! :) 16:54
17:02 pmurias left 17:04 ChoHag left 17:12 alimon joined 17:13 espadrine left 17:16 |oLa| left
AlexDaniel slaps bisectable6 17:18
bisect: say DateTime.now.second.WHAT 17:20
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=14d7571) because on both starting points the exit code is 0
raschipi huggable: hug bisectable6
huggable hugs bisectable6
bisectable6 AlexDaniel, bisect log: gist.github.com/1a7d3f4f0510c3f543...eaec8c5d03
AlexDaniel, (2015-12-29) github.com/rakudo/rakudo/commit/74...46bb6891bf
17:20 Cabanossi left
AlexDaniel (the reason why it died the first time seems to be github.com/perl6/whateverable/issues/148) 17:21
17:22 Cabanossi joined 17:25 zakharyas left
AlexDaniel committable6: 74ab0526f27^,74ab0526f27 say DateTime.now.second.WHAT 17:30
committable6 AlexDaniel, ¦74ab0526f27^: «(Rat)» ¦74ab052: «(Num)»
AlexDaniel that's interesting :)
17:34 raschipi left 17:45 setty1 joined 17:51 AlexDaniel left 17:52 AlexDaniel joined 17:55 travis-ci joined
travis-ci Doc build errored. Jan-Olof Hendig 'Added examples to produce and reduce' 17:55
travis-ci.org/perl6/doc/builds/242913554 github.com/perl6/doc/compare/7397c...c87296aed6
17:55 travis-ci left
keylet_ if I have a variable $foo, how can I replace the content of $foo (should be matched literally) in $bar with "xyz" ? 17:55
will $bar ~~ s/$foo/xyz/ work ?
jnthn keylet_: The $foo will be treated as a literal there, yes 18:00
It will only replace the first occurence; use s:g to replace all
18:07 wamba joined
Geth doc: e19bcc8137 | (Jan-Olof Hendig)++ | doc/Type/Supply.pod6
More link and formatting fixes
18:10
keylet_ is there any equivalent to python's "pass" ? 18:14
18:15 mr-fooba_ joined
perlpilot pass is a no-op isn't it. So ... don't do anything. 18:15
ttkp6 keylet_ - depending on context, you might want to use something like {} 18:16
18:17 mr-foobar left
perlpilot keylet_: why are you asking, exactly? Do you think you need pass or are you just curious? 18:18
keylet_ just curious :) 18:19
18:20 dogbert17 joined
jnthn afaik, pass is needed for syntactic reasons, but Perl 6 syntax works quite a lot differently so doesn't need such a thing :) 18:20
perlpilot pass is just a hack to get around the lack of block delimiters.
`while 1: pass` doesn't work too well if you don't have `pass` :) 18:21
18:27 cyphase left 18:31 xenu joined 18:35 abraxxa joined 18:40 andrzejk_ joined, cyphase joined 18:43 TeamBlast left 18:45 grondilu left 18:46 TeamBlast joined 18:47 abraxxa left 18:50 Cabanossi left
zengargoyle hrm, module builds locally, fails on travis. 18:50
18:51 cdg_ joined 18:52 Cabanossi joined, TEttinger joined
ugexe are you using the same perl6 -v on both? 18:54
18:55 cdg left
zengargoyle well, 2017.05-84-hash here and 'latest' in travis ... 18:55
ugexe cant draw any conclusion from that 18:56
18:57 pecastro joined
zengargoyle i do a --force and it then passes the auto prove phase...... 18:57
it recommended a --force-fetch, but that didn't help. 18:58
ugexe right, and im asking your perl6 versions because Proc has changed in the last few days and would result in failures where they shouldnt
zengargoyle travis-ci.org/zengargoyle/p6-Algor.../242955849
not using proc. 18:59
ugexe you were using zef in your last build 19:00
zef uses proc
zengargoyle on one previous --verbose build, it did the compile of the .so phase and failed.
ugexe it fails in your current build too, it just doesn't exit because of the problem i mentioned
zengargoyle yeah, switched to zef a few days ago and have been just fixing up META and other trivial things. worked, then didn't today. 19:01
19:01 travis-ci joined
travis-ci Doc build errored. Jan-Olof Hendig 'More link and formatting fixes' 19:01
travis-ci.org/perl6/doc/builds/242943817 github.com/perl6/doc/compare/67c87...9bcc8137b9
19:01 travis-ci left
ugexe yes, its rakudo bug 19:01
zengargoyle cool.
19:01 abraxxa joined
zengargoyle always runs into somwthing weird and freaks out for a bit. 19:01
19:02 |oLa| joined 19:03 cdg joined
zengargoyle i'll leave it in your or other's hands and assume it will work sometime later. :) 19:03
ugexe yeah hopefully by the end of today 19:05
19:05 cdg_ left
zengargoyle ugexe++ thanks for piece of mind. :) 19:05
19:13 TeamBlast left 19:17 TeamBlast joined, abraxxa left
nebuchadnezzar Hello, 19:19
timotimo hello> 19:20
perlpilot
.oO( is it me you're looking for? )
nebuchadnezzar I'm looking into precompilation with Debian, there is some discussion about “should we provide the precompiled files in packages” or “should we precompile at installation time”, to take an enlightened decision I need some information about CompUnit systems, I think I remember some blog post explaining the system but can not find them anymore, do you have links? 19:22
one of the question is: “must we precompile in correct dependency order or does the precompilation system walk the reverse dependency to precompile them before the current module?” 19:23
timotimo did you look at the CUR thing that nine has been working on for this very purpose? 19:29
Staging i think it's called?
nebuchadnezzar timotimo: you mean github.com/rakudo/rakudo/blob/nom/...l-dist.pl? 19:31
timotimo perhaps
nebuchadnezzar If Debian choose to compile at installation time (which seems to be the way it's going) I need a little more than installing. My plan is to extend the install-dist.pl to handle: removing one distribution, removing all precompiled files for a $*PERL.compiler.id (the PrecompilationStore::File has the code for this), bulding all distribution for a $*PERL.compiler.id 19:34
19:34 alimon left
nebuchadnezzar but I need to better understand how things are working to think clearly about it 19:35
19:35 alimon joined
nebuchadnezzar I can find the CompUnit blog post on pl6anet.org nor perl6.party (nor duckduckgo) :-/ 19:36
19:36 domidumont left 19:41 andrzejk_ left 19:45 andrzejk_ joined 19:50 Cabanossi left 19:52 Cabanossi joined, stmuk_ joined 19:53 hythm left 19:54 stmuk left
zengargoyle "precompile at installation time" seems to contradict "bulding all distribution for a $*PERL.compiler.id" 19:57
nebuchadnezzar zengargoyle: I mean, to update rakudo/NQP/MoarVM: 1) remove all precompiled files, 2) remove old rakudo/NQP/MoarVM packages, 3) install new rakudo/NQP/MoarVM packages, 4) precompile all installed distribution 20:00
20:01 hythm joined
zengargoyle wouldn't 4) just be re-install previously installed packages? assuming packages get precompiled on installation. 20:02
nebuchadnezzar zengargoyle: no, packages of distributions only contain sources, no need to reinstall them, by the way, it's how emacs,python and some other packages are handled 20:03
zengargoyle i think i get it, just remove old-precomp, and force a recomp after installing new rakudo/moar.
nebuchadnezzar that's right 20:04
zengargoyle that depends on the source that's in the REPO not being tied to the rakudo version that it was originally installed under. and just the precomp files are tied to the rakudo version. 20:08
zengargoyle not sure if source bits of repo are independent of rakudo that installed them. /rakudo/package/source/precomp or /package/source , /rakudo/source/precomp 20:10
20:12 alimon left
zengargoyle hopefully it's possible, i dislike having to re-install modules on rakudo upgrade myself :) 20:13
keylet_ I use two tokens and the first token captures some substrings the second should capture
can I make them lazy, so the first would match only substrings the second doesn't match anyway?
moritz yes 20:15
keylet_ how can I do this? 20:16
<foo>+? <bar>
? 20:17
zengargoyle m: my token A { fo? }; my token B { o* }; say 'fooooo' ~~ /<A><B>/ 20:18
camelia 「fooooo」
A => 「fo」
B => 「oooo」
keylet_ and if I use general quantifiers?
zengargoyle it's probably a ? which tends to mean match as few as possible. 20:21
20:21 Cabanossi left 20:22 AndroUser2 joined
zengargoyle do you have a particular example? 20:22
20:22 Cabanossi joined 20:23 troys joined 20:24 andrzejk_ left
AndroUser2 m: my token A { f o ** 1^..* }; my token B { o+ g }; say 'fooooooooog' ~~ /<A><B>/; 20:25
camelia Potential difficulties:
Space is not significant here; please use quotes or :s (:sigspace) modifier (or, to suppress this warning, omit the space, or otherwise change the spacing)
at <tmp>:1
------> 3my token A { f7⏏5 o ** 1^..* };…
AndroUser2 like this
AndroUser2 == keylet_ 20:26
moritz for the genral quantifier, the ? goes after the **
m: say 'fooo' ~~ /f o**?2..10/ 20:27
camelia Potential difficulties:
Space is not significant here; please use quotes or :s (:sigspace) modifier (or, to suppress this warning, omit the space, or otherwise change the spacing)
at <tmp>:1
------> 3say 'fooo' ~~ /f7⏏5 o**?2..10/…
moritz m: say 'fooo' ~~ /fo**?2..10/
camelia 「foo」
moritz I find that warning annoying
AndroUser2 me too :)
moritz I want to put the space in tehre to make clear it's only the o that's quantified
20:28 alimon joined
zengargoyle and that would grow from 2 if it was needed to fulfil the full match right. 20:28
geekosaur but spaces don't do grouping in regexes
20:28 MasterDuke joined
moritz they don't, but they can be used to emphasize 20:29
zengargoyle say 'fooo' ~~ /fo**?2..10 $/
AndroUser2 I don't get warnings when using grammars, noy single tokens
evalable6 「fooo」
moritz just like I can write 1 + 2**31
AndroUser2 * not
m: my token A { fo **? 1^..* }; my token B { o+g }; say 'fooooooooog' ~~ /<A><B>/; 20:30
camelia 「fooooooooog」
A => 「foo」
B => 「ooooooog」
AndroUser2 moritz, zengargoyle : thank you. unfortunately, there are no instructions for making general quantifiers frugal 20:32
in perl6 official website
moritz AndroUser2: then submit a patch that adds it 20:33
zengargoyle moritz++ i'd have to have guessed until it worked. :)
moritz FWIW, I'm considering writing a book on p6 regexes / grammars
and one option I'm considering is self-publishing, with the promise that if I make $X amount off it in the first two years, I'll open-source it 20:34
or something like that
(other options I'm considering are traditional publishing, or a p6 edition of Mastering Regular Expressions) 20:35
zengargoyle i'll proofread :P 20:39
moritz zengargoyle: /msg me an ssh pubkey 20:40
zengargoyle i'm really good at getting confused ar being a pedantic PITA. :)
moritz wc says 4k words, so not too much there yet 20:41
20:41 AndroUser2 left 20:42 AndroUser2 joined
Geth doc: prodotiscus++ created pull request #1379:
+ frugal matching for general quantifiers
20:45
doc: 9dbb4259af | (Fyodor Sizov)++ (committed by Moritz Lenz) | doc/Language/regexes.pod6
+ frugal matching for general quantifiers
20:47
moritz wow, that actually worked! :-) 20:48
(asking for a PR, I mean)
zengargoyle heh 20:49
well volunteereded 20:50
moritz -> SIGSLEEP 20:51
japhb I like the idea of people being hit with SIGSLEEP. :-) 20:55
20:55 zengargoyle left 20:56 zengargoyle joined
zengargoyle doesn't seem to know how to close a msg window :P 20:56
20:57 ChoHag joined 21:06 kanhu joined, kanhu left 21:07 mcmillhj left 21:15 alimon left 21:16 perlpilot left 21:17 |oLa| left 21:25 labster joined 21:27 ChoHag left 21:28 xenu left 21:29 nebuchadnezzar left 21:30 |oLa| joined 21:32 mcmillhj joined, nebuchadnezzar joined 21:34 AndroUser2 left, Cabanossi left, AndroUser2 joined 21:36 |oLa| left 21:37 Cabanossi joined, zakharyas joined 21:40 cpage_ left 21:43 ChoHag joined 21:45 AndroUser2 left 21:47 khw left 21:48 zakharyas left 21:58 wamba left, curan left 22:01 rindolf left, setty1 left 22:03 mcmillhj left 22:05 Cabanossi left 22:07 Cabanossi joined 22:10 mcmillhj joined 22:14 mcmillhj left, cpage_ joined 22:16 colomon joined 22:29 BenGoldberg left 22:30 BenGoldberg joined 22:40 BenGoldberg left 22:41 mcmillhj joined 22:46 mcmillhj left 22:47 BenGoldberg joined 22:48 troys is now known as troys_ 22:56 mcmillhj joined 23:00 mcmillhj left 23:03 cpage_ left 23:04 dolmen_ joined 23:05 dolmen left, travis-ci joined
travis-ci Doc build errored. Fyodor Sizov '+ frugal matching for general quantifiers' 23:05
travis-ci.org/perl6/doc/builds/243001894 github.com/perl6/doc/compare/e19bc...bb4259affd
23:05 travis-ci left 23:09 cognominal joined 23:10 ctilmes joined 23:12 nadim left 23:20 BenGoldberg left, Cabanossi left, ctilmes left 23:22 Cabanossi joined 23:24 eveo joined
eveo zengargoyle: type /part 23:24
23:31 cdg_ joined, BenGoldberg joined 23:34 colomon left 23:35 cdg left, cdg_ left 23:36 AlexDaniel left 23:37 nattefrost left, AlexDaniel joined 23:38 bioduds left 23:47 araujo left 23:54 araujo joined, araujo left, araujo joined 23:56 dolmen_ left