»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
discord6 <Tyler (Aearnus)> hmm. what's the easiest way to get json data from a REST request from within perl6? 01:09
gerry83 downloaded Rakuko for Mac OS; but sometning is missing 02:55
Geth doc: threadless-screw++ created pull request #2917:
Correction of link in Markdown rather than Pod6
06:42
jmerelo Nice StackOverflow question stackoverflow.com/questions/572107...l6-values. I have the vague idea it's related to reduce operators, as he says, but who knows... 06:45
Geth doc: 95e1462e77 | threadless-screw++ | doc/Language/regexes.pod6
Correction of link in Markdown rather than Pod6
doc: 295e59b4c0 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | doc/Language/regexes.pod6
Merge pull request #2917 from threadless-screw/regex

Correction of link in Markdown rather than Pod6
synopsebot Link: doc.perl6.org/language/regexes
irced p6: my $x; $x *= 3; 06:46
camelia ( no output )
irced p6: my $x; say {$x *= 3};
camelia -> ;; $_? is raw { #`(Block|87419368) ... }
irced p6: my $x; say "{$x *= 3}";
camelia 3
irced p6: print do {[*]()} 06:48
camelia 1
irced yikes! 06:49
p6: print do {[+]()}
camelia 0
irced p6: print do {$x += 3}
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$x' is not declared
at <tmp>:1
------> 3print do {7⏏5$x += 3}
irced p6: my $x; print do {$x += 3};
camelia 3
irced I'm with the poster, when an Any is multplied it is used as an identity. 06:51
identity, in the language of mathematics, means the product is the same as that to which the identity was multiplied 06:53
so nothing is loss when an undefined variable is used as an operand in an arithmetic operation 06:54
since if it is added to, you get what was added to it and if it is multiplied to you get that which was multiplied to it. and perl6 takes identify to the next level making it applicable in addition. 06:55
kew
kewl
irced the only snag is [*](). but given that identity is "one" it makes sense that identify * identity is ... identify :-) 07:00
or in this case, that it is 1 when used in multiplication
thus [*](1) = 1 07:01
Geth doc: JJ assigned to antoniogamiz Issue Sharing Pod 6 caches github.com/perl6/doc/issues/1952
JJ unassigned from coke Issue Sharing Pod 6 caches github.com/perl6/doc/issues/1952

JJ assigned to noisegul Issue There must be a better way of putting index pages together github.com/perl6/doc/issues/2579 409249ff7e | (JJ Merelo)++ | doc/Type/HyperSeq.pod6 First stage adapting methods from Seq refs #1897
07:22
doc: a305a9445f | (JJ Merelo)++ | doc/Type/HyperSeq.pod6
Writes all methods for HyperSeq, refs #1897
synopsebot Link: doc.perl6.org/type/HyperSeq
doc: 5b8e85c130 | (JJ Merelo)++ | 3 files
Documents RaceSeq, some fixes and adds to type-graph.txt closes #1897
jmerelo irced: you should probably create an issue in the documentation so that gets written down, either in Any itself or as a trap. 07:33
Geth ¦ problem-solving: AlexDaniel assigned to jnthn Issue What's up with hyper/race semantics? github.com/perl6/problem-solving/issues/77 07:35
AlexDaniel c: all my $x; $x *= 3; say $x 07:37
committable6 AlexDaniel, ¦all (61 commits): «3␤»
jmerelo AlexDaniel: strangely consistent, that's Perl 6 motto
AlexDaniel very nice question indeed, very interesting behavior :) 07:38
I think it's reasonable and this is what I expected, actually 07:39
but it's interesting to see how $x behaves as different values, if you look at it that way
jmerelo AlexDaniel: and this is the issue you created a year ago: github.com/perl6/doc/issues/2129 07:40
AlexDaniel ah fucking blobs
but yeah, it's a good ticket 07:41
jmerelo excited to go to Riga and finally meet people I've never met before and people I've met lots of times before 07:42
SmokeMachine AlexDaniel: I'm sorry... I'm trying... but I can't explain that better... :(
Geth ¦ problem-solving: AlexDaniel self-assigned Make Rakudo read from META6 modules with :ver<>, :auth<> and :api<> github.com/perl6/problem-solving/issues/76 07:43
AlexDaniel jmerelo: yes yes, me too :) 07:44
SmokeMachine AlexDaniel: What mean the fallback label? 07:45
AlexDaniel SmokeMachine: usually tickets are assigned to a developer who works on issues with a particular label, but we don't yet have a dev who works on the ecosystem/meta6.json stuff github.com/perl6/problem-solving/issues/45 07:47
SmokeMachine AlexDaniel: hum... thanks!
SmokeMachine AlexDaniel: did the log link help? 07:48
AlexDaniel SmokeMachine: example did, it's clearer now :) 07:49
SmokeMachine :)
antoniogamiz jmerelo: what should I do with 5to6-perlfunc?
SmokeMachine AlexDaniel: and on log there is ugexe saying how it should be done... I was trying to do... but Rakudo is not being compiled on my machine... it's hanging... 07:51
AlexDaniel SmokeMachine: interesting
SmokeMachine AlexDaniel: www.irccloud.com/pastebin/G5acEGip/ 07:52
irced jmerelo: i just thought the discussion was interesting! 08:09
jmerelo antoniogamiz: good question. At this point, it should probably be treated like everything else. You can raise an issue in /doc just in case people want to discuss... 08:10
antoniogamiz mmm, I will do that then. But if we want it to be treated like everything else we should change the current headers 08:11
of 5to6-perlfunc
irced jmerelo: and not an issue so much as a nominal feature. thanks for sharing the stackoverflow question. 08:13
jmerelo: but i suppose it could be an issue if a programmer expects an error from using an undefined value in an arithmetical expression!
c: my ($x, $y); print do { $x + 3 + $y } 08:15
committable6 irced, ¦my: «Cannot find this revision (did you mean “all”?)»
jmerelo irced: it's a documentation issue, something that should be documented. 08:16
irced jmerelo: yeah, the poster did not note that an error does in fact occur when not using *= += etc, as in $x where $x is Any + 3 gives use of uninitialized value 08:17
jmerelo AlexDaniel: I requested to be in charge (or in co-charge) of ecosystem stuff...
AlexDaniel m: my ($x, $y); print do { $x + 3 + $y } 08:18
camelia Use of uninitialized value of type Any in numeric context
3 in block at <tmp> line 1
Use of uninitialized value of type Any in numeric context
in block at <tmp> line 1
irced c: my ($x, $y); print do { $x + 3 + $y }
committable6 irced, ¦my: «Cannot find this revision (did you mean “all”?)»
irced m: my ($x, $y); print do { $x + 3 + $y }
camelia Use of uninitialized value of type Any in numeric context
3 in block at <tmp> line 1
Use of uninitialized value of type Any in numeric context
in block at <tmp> line 1
irced AlexDaniel: right 08:19
m: my ($x, $y); print do {$x*=3 + $y+=1}
camelia Use of uninitialized value of type Any in numeric context
in block at <tmp> line 1
Cannot modify an immutable Int (3)
in block <unit> at <tmp> line 1
irced m: my ($x, $y); print do {$x*=3}
camelia 3
irced m: my ($x, $y); print do {$y+=3}
camelia 3
irced m: my ($x, $y); print do { {$x*=3} + {$y+=1}}; #4 ? 08:20
camelia Cannot resolve caller Numeric(Block:D: ); none of these signatures match:
(Mu:U \v: *%_)
in block <unit> at <tmp> line 1
irced m: my ($x, $y); print do { {$x*=3} + {$y+=1} };
camelia Cannot resolve caller Numeric(Block:D: ); none of these signatures match:
(Mu:U \v: *%_)
in block <unit> at <tmp> line 1
irced m: my ($x, $y); print "{$x*=3} + {$y+=1}";
camelia 3 + 1
irced m: my ($x, $y); print "{{$x*=3} + {$y+=1}}";
camelia Cannot resolve caller Numeric(Block:D: ); none of these signatures match:
(Mu:U \v: *%_)
in block <unit> at <tmp> line 1
irced m: my ($x, $y); print "{val({$x*=3}) + val({$y+=1})}"; 08:21
camelia Value of type Block uselessly passed to val()
in block at <tmp> line 1
Value of type Block uselessly passed to val()
in block at <tmp> line 1
Cannot resolve caller Numeric(Block:D: ); none of these signatures match:
(Mu:U \v: *%_)…
irced m: my ($x, $y); print "{val($x*=3) + val($y+=1)}";
camelia Value of type Int uselessly passed to val()
4 in block at <tmp> line 1
Value of type Int uselessly passed to val()
in block at <tmp> line 1
irced m: my ($x, $y); print do { val($x*=3) + val($y+=1) }; 08:22
camelia Value of type Int uselessly passed to val()
4 in block at <tmp> line 1
Value of type Int uselessly passed to val()
in block at <tmp> line 1
irced m: my ($x, $y); print do { ($x*=3).^name };
camelia Int
irced m: my ($x, $y); print do { ($x*=3) + ($y+=1) };
camelia 4
irced m: my ($x, $y); print do { ($x*=3) + ($y+=1) }; # huh 08:23
camelia 4
irced so an object knows only its own identity 08:24
so to speak
m: my ($x, $y); print do { $x = ($x+=3) } 08:25
camelia 3
irced goes mentally insane. 08:26
AlexDaniel irced: I'm a bit lost, what's the issue again? 08:28
irced AlexDaniel: well 08:31
m: my $x; say "{$x+3}" 08:32
camelia Use of uninitialized value of type Any in numeric context
3
in block at <tmp> line 1
irced m: my $x; say "{$x+=3}"
camelia 3
irced m: my $x; do {$x+=3; print $x} 08:33
camelia 3
irced m: my $x; do {$x=$x+3; print $x}
camelia Use of uninitialized value of type Any in numeric context
3 in block at <tmp> line 1
irced AlexDaniel: the last two statements are equivalent 08:34
AlexDaniel: but the interpreter says otherwise
AlexDaniel: so, Any behaves differently depending on whether the assignment is long hand or short hand. 08:35
AlexDaniel: observe/
m: my $x; do {$x*=4; print $x}
camelia 4
AlexDaniel so
irced m: my $x; do {$x=$x*4; print $x}
camelia Use of uninitialized value of type Any in numeric context
0 in block at <tmp> line 1
AlexDaniel m: my $x; $x += 3
camelia ( no output )
AlexDaniel but
m: my $x; $x = $x + 3 08:36
camelia Use of uninitialized value of type Any in numeric context
in block <unit> at <tmp> line 1
irced and observe
lizmat the lack of warning with `+=` is intentional, afaik
irced m: my $x; print do {[*]$x}
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3my $x; print do {[*]7⏏5$x}
expecting any of:
infix
infix stopper
statement end
statement modifier
irced m: my $x; do print {[*]$x}
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3my $x; do print {[*]7⏏5$x}
expecting any of:
infix
infix stopper
statement end
statement modifier
irced m: my $x; print "{[*]$x}" 08:37
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3my $x; print "{[*]7⏏5$x}"
expecting any of:
infix
infix stopper
statement end
statement modifier
irced m: print "{[*]()}"
camelia 1
irced m: print "{[+]()}"
camelia 0
irced the any is assigned a value of 1 in multiplication or 0 in addition only in operations that are not longhand 08:38
lizmat: intentional lack of warning, but it is not even an exception when 08:39
m: my $x; print "{$x=$x+5}"
camelia Use of uninitialized value of type Any in numeric context
5 in block at <tmp> line 1
irced so jmerelo suggested i should create an issue in the documentation, how do i do that? 08:49
irced m: my $x; print $x+=3; 08:52
camelia 3
lizmat irced: github.com/perl6/doc/issues/new 08:57
irced oh, i found it documented at least for += 09:00
irced m: print [*]() 09:06
camelia 1
lizmat m: dd [~]() 09:08
camelia "" 09:09
lizmat it also goes for stringy infixes :-)
irced lizmat: thanks
irced m: print [~]().^name 09:31
camelia Str
irced m: my $x = [~](); say $x.DEFINITE.so; 09:32
camelia True
lizmat weekly: blogs.perl.org/users/laurent_r/2019...erl-6.html 09:36
notable6 lizmat, Noted!
irced thanks lizmat for the blog. 09:37
timotimo sena_kun: i think you may want to re-read that tweet you just answered to; they said "a dead end", rather than "dead", which is an important difference 13:05
masak though neither is all that good, usually 13:09
timotimo aye 13:10
i just thought the response was a little off because of what i perceive as a misunderstanding
masak dead ends are where one gets mugged :P
hey! maybe that should be our new slogan: "there's nowhere to run. yer money or yer life" -- Perl 6 13:11
timotimo a stroke of genius for our PR 13:12
masak "we suck at marketing -- but at least we're loaded" 13:14
perlbot Arianhaseist pasted a new file at perl.bot/p/6h8atx - 13:15
ugexe i live on a dead-end street and its nice because there isn't a bunch of assholes speeding both ways down the street 13:45
lizmat so you only get one-way speeders? Won't that make a lot more noise when they hit the wall ?? :-) 13:51
antoniogamiz lizmat: uh haha 13:52
ugexe i'm only able to get up to 40mph when peeling out of the driveway before i reach the stop sign so not really 13:53
El_Che is perl 6 also a dead end (cfr stevan's talk). What did I miss? 13:54
sena_kun timotimo, an important difference in what? 13:56
sena_kun timotimo, can't argue with misunderstanding part, though, I see fake news of "Perl 6 is dead" sort pretty often, now I might be seeing things. :S 13:57
antoniogamiz handle urls in perl6 is tough 14:00
sena_kun antoniogamiz, what part is confusing? 14:03
antoniogamiz make them valid ones 14:04
(I'm trying to fix url in the new doc system)
sena_kun antoniogamiz, this is not very specific. :) if there is some issue you tinker on, maybe we can help? 14:05
antoniogamiz ah no, I just told it idk..
ugexe you just puny-encode it. nothing difficult or confusing 14:06
antoniogamiz that does not work with / ^ %
ugexe wouldnt you just percent encode them? 14:07
antoniogamiz If I do that, would it be converted to a valid unix path? 14:08
sena_kun ^ is %5E, % is %25, / is %2F 14:09
www.w3schools.com/tags/ref_urlencode.asp
antoniogamiz but then I would have to encode % too
sena_kun % is %25 14:10
ugexe you don't reencode the percent symbol of the percent encoded entities
antoniogamiz I mean. there's path containing ^ % /
if I encode them, and write them to that path
sena_kun so if you have "/foo/bar/%", you encode it as "/foo/bar/%25" and that's all
antoniogamiz when you type %25 in the browser, it does not work
ugexe technically it should 14:11
antoniogamiz it doesnt, or at least not in my case
sena_kun I have a feeling that browser is too user-friendly and will convert `%` for you
just as it encodes emoji you can type into address bar into something normal
also, does it work in url on page? 14:12
antoniogamiz ?
sena_kun if you have a page that is served on path with %25, and you have another page that contains <a href="...%25">foo</a>, then you open up this second page, can you go to the first one? 14:13
antoniogamiz ah I think not 14:14
sena_kun did you try it or? 14:15
antoniogamiz but if I reencode the % i can
sena_kun reencode from what to what?
ugexe 點看foo^bar --> xn--foo%5Ebar-qg2rk18z 14:16
antoniogamiz %25
in my case I tested fff^
antoniogamiz and fff%5E did not work 14:16
so I encode % too => fff%255E 14:17
ugexe thats a security flaw
antoniogamiz (now I'm using uninames, as it was used before) 14:18
ugexe: it is? I did not know
ugexe www.cgisecurity.com/lib/URLEmbeddedAttacks.html
grep for Multiple Decoding 14:19
well maybe i misunderstood "so I encode % too => fff%255E" 14:21
antoniogamiz oh I didn't have any idea, thanks for th einfo
ugexe basically if you have a percent encoded entity like %25 you must be sure you never double decode it into something like %2525 14:22
antoniogamiz got it :D
someone knows what (elem) routine is? 14:23
github.com/perl6/doc/blob/5b8e85c1....pod6#L436
jnthn Infix operator for testing set membership 14:24
antoniogamiz mmm so it exists, but its page is not being generated 14:25
is called (elem)? or have another name?
ugexe docs.perl6.org/language/operators#..._%E2%88%88 14:27
antoniogamiz mm so it's actually documented 14:28
time to investigate what's going on
oohhh it's the header! it does not match any of the current rules 14:30
ups, there's quite a few cases mmm 14:31
Geth doc: 5933c30179 | Coke++ | xt/words.pws
newly docced classes
14:37
doc: 2377cab050 | Coke++ | type-graph.txt
Sequence is a role; Fix for #1897

xt/type-graph.t needs to know if something is a role, and will fail if assumes incorrectly. Be explicit.
antoniogamiz m: [1,2,3][0:*-1] 14:54
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3[1,2,3][0:7⏏5*-1]
expecting any of:
colon pair
antoniogamiz i thought it was like in python
tobs antoniogamiz: you have to rotate the :
m: [1,2,3][0..*-1] 14:55
camelia ( no output )
tobs m: [1,2,3][0..*-1].say
camelia (1 2 3)
antoniogamiz :oo
it makes sense x'd
ty
tobs not sure what 0:-1 would do in python, maybe it would omit the last element? Note that it doesn't here. 14:56
lucasb >>> [1,2,3][0:-1] #=> [1, 2]
antoniogamiz tobs: the same that .. 14:57
sena_kun m: [1,2,3][0..*-2].say; 15:00
camelia (1 2)
sena_kun the reason is that `*` gives you length, and you have to return index, so lenth is 3 and -1 is 2, so indexes are 0,1,2 and you get last element
so you need to actually get index before last one, hence -2, because first -1 is a shift because indexes are starting from zero, when length is not, and the second one is because you want an element that is before last 15:02
tobs fwiw, there is a problem solving ticket about indexing with ranges and whatevercodes as it's not always clear what does (or even *is*) what in a subscript: github.com/perl6/problem-solving/issues/50 15:03
afk&
antoniogamiz m: "postcircumfix « »" ~~ /postcircumfix « »/ 16:27
camelia ( no output )
antoniogamiz that should match, shouldn't it?
jmerelo m: "postcircumfix « »" ~~ /"postcircumfix « »"/ 16:34
camelia ( no output )
jmerelo m: say "postcircumfix « »" ~~ /"postcircumfix « »"/
camelia 「postcircumfix « »」
antoniogamiz oh mm 16:35
sena_kun m: say "postcircumfix « »" ~~ /\« \»/
camelia Nil
sena_kun m: say "«" ~~ /\«/ 16:36
camelia 「«」
sena_kun m: say "postcircumfix « »" ~~ /\« ' ' \»/
camelia 「« »」
sena_kun m: say "postcircumfix « »" ~~ /«post»/
camelia Nil
sena_kun m: say "postcircumfix « »" ~~ /«[p]»/
camelia Nil
hahainternet could someone point me to the docs on matching unicode character classes or groups or whatever the term actually is? 16:43
sena_kun hahainternet, maybe docs.perl6.org/language/regexes#Un...properties ? 16:44
hahainternet ah yes i think that will do, thank you very much :) 16:45
opitzs Hi, I'm trying to set the LD_LIBRARY_PATH from within perl, so it finds the oracle instant client directory, however, "%*ENV<LD_LIBRARY_PATH> = '/path';" doesn't seem to work.Any idea where I'm going wrong? Thank you versy much! 17:05
vrurg opitzs: You have a chance for it to work if you set it in BEGIN before using the module. 17:31
It won't work on macOS anyway though. 17:32
opitzs vrurg: Thank you! 17:33
vrurg: Thank you, works like a charm! 17:35
chloekek p6: use NativeCall; sub getenv(Str:D $k --> Str) is native {*}; %*ENV<FOO> = 'foo'; say getenv('FOO')
camelia (Str)
chloekek Setting on %*ENV doesn't update the environment of the process.
%*ENV is read by e.g. run, but perhaps not by the dynamic linker? 17:36
vrurg opitzs: welcome! 17:38
opitzs chloekek: It works in the begin block, so it cant be simply that the dynamic linker doesn't work with it. As this is my first perl6 script, I can't comment. Thank you! 17:39
vrurg m: $*ENV<FOO_VAR> = 42; use nqp; say nqp::getenvhash<FOO_VAR> 17:40
camelia Dynamic variable $*ENV not found
in block <unit> at <tmp> line 1
chloekek s/\$/%/
vrurg m: %*ENV<FOO_VAR> = 42; use nqp; say nqp::getenvhash<FOO_VAR>
camelia (Any)
chloekek p6: %*ENV<FOO_VAR> = 42; use MONKEY-GUTS; say nqp::getenvhash<FOO_VAR>
camelia (Any)
ugexe a module probably does something like `is native(%*ENV<foo>)`. by using BEGIN you force the ENV to be set before the signature is reached 17:41
vrurg But the linker perhaps considers %*ENV. I don't know.
chloekek wrote some Perl 5 today. Wasn't a bad experience, but "weird" :D 17:42
Had used Perl 5 a lot until a few years ago.
vrurg ===> Fetching [FAIL]: Data::MessagePack:ver<0.1.2> from [email@hidden.address] 17:44
ugexe: ^ any idea what this could be?
SmokeMachine ugexe: Should print this? www.irccloud.com/pastebin/n47yjjsv/ 18:33
timotimo i wonder if zef should get support for the perl6-all-modules repo :) 18:47
OTOH, you could literally just cd in there and do the installing
though not automatically finding the dependencies in there
moritz fwiw I've tried setting up the updater for perl6-all-modules on a different machine, and failed so far 18:49
it seems that git-subrepo now behaves differently, or something 18:50
El_Che git-subrepo has the tendance of exploting sooner or later 18:51
for me 18:52
(not in general)
ugexe vrurg: i don't see why it should work. does `git clone [email@hidden.address] work? 19:32
vrurg ugexe: it does. 19:33
ugexe it doesnt for me
i dont have their ssh key
vrurg Perhaps because I have git configured for github account. 19:34
ugexe i mean my git is configured to work with e.g. github 19:37
anywho in the config under the git plugin you can change scheme (I think its set to https?). maybe it is not working right for the [email@hidden.address] format 19:39
github.com/ugexe/zef/blob/e7389737...#L144-L147
the intention is so user can override ssh based urls with https 19:40
notably the `:` after the .com
timotimo .o( zef could also have Log::Timeline support ) 19:45
ugexe most of zef output goes through a "logger", and the logger prints it to the screen 19:46
github.com/ugexe/zef/blob/e7389737...m6#L24-L28 19:47
timotimo the thing about Log::Timeline is that there's not only events, but also "tasks", and all those will "nest"
ah, there's phase => START, and i suppose a corresponding phase => FINISH? 19:48
ugexe enum PHASE is export <BEFORE START LIVE STOP AFTER>;
timotimo Log::Timeline theoretically wants classes to be created for the different things that can "happen" 19:49
ugexe we do not know what all the tasks are before we start 19:50
timotimo right 19:51
ugexe if zef implemented Log::Timeline it would also essentially obsolete that module 19:52
timotimo the logger module you mean?
ugexe whatever it does period
since its not quite the thing that can be implemented with like a plugin
timotimo it's very cross-cutting
it doesn't have to be the only logger, of course 19:53
ugexe right but what im getting at is zef will never `use Some::External::Module` unless it can be made to work like a plugin. So for zef to implement Log::Timeline is to essentially EOL Log::Timeline because everyone has zef if they want to install Log::Timeline so why bother 19:54
timotimo haha
i see
ugexe along those lines i've pondered on zef generating makefiles which is requires something similar 19:56
timotimo makefiles that would do what? 19:57
to do building of perl6 modules based on Build.pm and the stuff in the meta json?
so a little bit like ufo, but a whole lot more stuff?
ugexe fetch, extract, install, everything
pretty much everything zef does can be broken down into simple shell commands
except for determining the dependency graph 19:58
timotimo interesting, so when such a makefile is spat out, you don't need zef any more?
ugexe yeah
i'm not even sure how useful that will ultimately prove. but it seemed like a fun idea 20:00
timotimo i definitely see why it'd be interesting i think
ugexe SmokeMachine: not quite. fields without entries are wrong 20:01
m: say CompUnit::DependencySpecification.new(:short-name<Test>).perl
camelia CompUnit::DependencySpecification.new(short-name => "Test", source-line-number => 0, from => "Perl6", version-matcher => Bool::True, auth-matcher => Bool::True, api-matcher => Bool::True)
ugexe not blank string
blank string would be :auth<> ala Test:auth<> and nobody does that 20:03
timotimo we should try putting a module with that in the ecosystem to see if anything breaks 20:04
ugexe you *can* have a module with a blank string as auth
timotimo right
ugexe m: use Test:auth(""); # but it must exist
camelia ===SORRY!===
Could not find Test:auth<> at line 1 in:
inst#/home/camelia/.perl6
inst#/home/camelia/rakudo-m-inst-1/share/perl6/site
inst#/home/camelia/rakudo-m-inst-1/share/perl6/vendor
inst#/home/camelia/rakudo-m-inst-1/shar…
timotimo right 20:05
ugexe Could not find Test:auth<> -- is a bit disengenious tho
m: use Test:auth<>
camelia Potential difficulties:
Pair with <> really means an empty list, not null string; use :auth('') to represent the null string,
or :auth() to represent the empty list more accurately
at <tmp>:1
------> 3use Test:auth<>7⏏5<…
ugexe m: use Test:auth<<>>; # and this just doesn't look right :P 20:06
camelia ===SORRY!===
Could not find Test:auth<> at line 1 in:
inst#/home/camelia/.perl6
inst#/home/camelia/rakudo-m-inst-1/share/perl6/site
inst#/home/camelia/rakudo-m-inst-1/share/perl6/vendor
inst#/home/camelia/rakudo-m-inst-1/shar…
masak do people use `temp` a lot? I feel it's a bit underused, especially with dynamic variables 20:11
(I'm building a recursive thing that keeps $*indent, and `temp` goes very well with that)
ugexe from what i remember it was pretty buggy 20:38
when i used it circa 4 years ago
i was wanting to use a pattern like `use Test; my $foo = ...; subtest "1" { ... }; subtest "2" { temp $foo = ...; ... };` 20:42
masak seems to work fine with my use cases, at least 20:55
ugexe: if you find something that's still unambiguously buggy, I'd be interested to know about it
I still haven't found a good, concrete use of `let`. I'm interested to be told how to use it in practice.
SmokeMachine ugexe: thanks! 21:56