»ö« 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.
00:03 aborazmeh joined, aborazmeh left, aborazmeh joined 00:04 lucasb left 00:05 Kaiepi left
discord6 <RaycatWhoDat> so, uh 00:34
AlexDaniel ya? 00:35
discord6 <RaycatWhoDat> I've never made a language or a compiler before
<RaycatWhoDat> but I think I have to at least make a toy one
<RaycatWhoDat> To that end, should I use NQP or just regular Perl 6
<RaycatWhoDat> or is NQP something I shouldn't be worrying about? 00:37
Xliff RayCatWhoDat: I would do it in Perl6. Convert it to nqp when you have something working.
Take advantage of the higher level constructs while you are working out the kinks.
discord6 <RaycatWhoDat> What's the benefit of converting it to NQP later on? 00:38
Xliff Speed.
discord6 <RaycatWhoDat> On a scale of 1 to zoom, how much speed?
Xliff Probably 3-8x? Depending on what you're doing.
That's on average.
discord6 <RaycatWhoDat> Interesting. Well, let's see if I can't get that going. Lemme check if there's a Lisp dialect using Perl 6. 00:39
Xliff Oh. That's spelled 'nqp'. 00:40
If you are more familiar with Lisp, then I take back everything I've said. :)
discord6 <RaycatWhoDat> o
<RaycatWhoDat> Good talk, then. 😛
Xliff Yeah. I probably should flee now. 00:41
Xliff flees
00:41 Xliff left
discord6 <RaycatWhoDat> Ehh, I'll still do what you said 00:41
<RaycatWhoDat> I need to learn Perl 6 anyway
<RaycatWhoDat> And grammars looks sweet
<RaycatWhoDat> look* 00:42
00:49 aborazmeh left 01:03 HoboWithAShotgun left
discord6 <Aearnus> learning nqp before Perl 6 is like learning JVM bytecode before learning Java 01:06
<RaycatWhoDat> > NOTE: there's no end-user support for NQP and the behaviour can change without notice. It's a tool for writing Perl 6 compilers, not a low-level module for Perl 6 programmers. 01:08
<RaycatWhoDat> Hmm. Maybe I shouldn't use NQP.
AlexDaniel yeah, you shouldn't 01:17
not for this purpose for sure :) 01:18
or at least, not yet :)
01:26 elcaro joined
vrurg AlexDaniel: I would be happy if at some point Perl6 can replace NQP completely. Should be possible, I guess. 01:33
AlexDaniel vrurg: I have no idea how we can get there 01:40
and if it even makes sense
vrurg AlexDaniel: neither do I. But it doesn't hurt to dream about. ;) 01:41
It makes sense from the perspective of totally unified environment. It's not always easy to predict what NQP can and what it can't. 01:42
01:46 molaf left
discord6 <RaycatWhoDat> uhhh 01:52
<RaycatWhoDat> Question
<RaycatWhoDat> Belay that. I think I know the answer. 01:53
AlexDaniel what was the question? 01:58
:)
01:59 molaf joined
vrurg "May ask you a qustion?" - " Yes!" – "Thank you, I already did!" 01:59
discord6 <RaycatWhoDat> I was trying to figure out what to do once the grammar parses my string. 02:01
<RaycatWhoDat> Is it safe to consider it playing the role of both parser and lexer?
<RaycatWhoDat> Or would it just be considered a parser? 02:02
AlexDaniel yes, and you use Actions to build the Abstract Syntax Tree
02:02 Kaiepi joined 02:04 Manifest0 left
discord6 <RaycatWhoDat> dangit 02:04
<RaycatWhoDat> why did I decide to start this tonight
AlexDaniel why not? It's fun
02:04 Manifest0 joined
AlexDaniel also it's useful to know how to do this stuff for small things 02:04
discord6 <RaycatWhoDat> True. 02:06
vrurg At least somebody does some really interesting stuff. I'm bored to death polishing makefiles... ;) 02:12
AlexDaniel vrurg: at least we're all grateful for that 02:22
unless you break stuff :D 02:23
vrurg Who breaks? Me? I would never ever! :p
AlexDaniel right right right right
riiiiiight
:)
vrurg is a saint! 02:24
BTW, did you see I made a PR for Hash -> Map coercion with deconting?
Should releive you of backward compat concern. 02:25
AlexDaniel I looked at it, it raised my bloat concern a bit 02:26
but it's probably ok :)
vrurg: speaking of bloat, there's a lot of code in nqp-configure, do we actually need all that?
vrurg AlexDaniel: That's my concern too, but I wanna see what lizmat and jnthn say. Fast and simpler solution would be explicit deconting in Hash::Map method 02:28
AlexDaniel: Most of it. I need patrickb to talk about some cleanups, but he's busy until October. 02:29
AlexDaniel in nqp-configure there's a perl5 file that has 1500 lines, and another one with 1000. Stuff in nqp is much shorter, at 400 freaking lines… :)
vrurg AlexDaniel: remember, it's a merge of two Configure.pl from NQP and Rakudo. Basically, NQP::Config is what you had in common in them. 02:31
AlexDaniel I haven't looked at it closely, so maybe me freaking out is unjustified, but most projects are not of that size and this thing is just for configuring rakudo and nqp…
yeah I understand that it's much better now :)
vrurg NQP::Macros – well, this one is no way to be shorter. Cross-make compatibility requires a lot of macros.
I didn't mean it's better or worse. Just mean that if it gets shorter then no more than 100-200 lines. 02:32
vrurg is thinking about learning cmake and switching to it.
AlexDaniel oh that's gonna make some people scream very loudly :D 02:33
vrurg Why? 02:34
If there're objections – well, it'd spare me a lot of work hours. I'd feel good about it. ;) 02:35
AlexDaniel I don't have any, people just love to hate cmake
vrurg Perhaps it worth a topic in problem-solving then. But, anyway, I would like to relax on fixing a couple of tickets first. 02:37
AlexDaniel sure, cool
vrurg This makefile unification sucket me dry.
*sucked
AlexDaniel vrurg: so what is make.nqp doing? For example, there's Makefile::Grammar, what is that for? 02:38
vrurg AlexDaniel: it is supposed to replace make altogether. But it's useless until we get precompiled moar for as many platforms as possible. Or otherwise there is no way to just run Configure.pl in rakudo and get things done. 02:40
AlexDaniel vrurg: how is precompiled moar going to help? 02:43
vrurg AlexDaniel: how would we run make.nqp to build NQP itself? There is an chicken/egg problem.
There was a discussion with timotimo back in May or June here, on the channel. 02:44
AlexDaniel vrurg: so let's say you have moarvm compiled separately, would you be able to run make.nqp this way?
vrurg Though it was probably related to switching Configure to NQP. Not really sure for now. 02:45
AlexDaniel I thought no because you don't have nqp built yet
right?
vrurg AlexDaniel: wrong. We have stage0 precompiled nqp in nqp. We can use it.
Ok, time to go. Let's continue tomorrow! 02:46
o/
AlexDaniel uh, right… and how does that fly with distros like debian?
you can't have a blob like that, do they create it from scratch somehow? 02:47
robertle: ↑ so what's the policy? I thought you can't have things like this: salsa.debian.org/perl6-team/nqp/bl...nqp.moarvm 02:50
irced i see in the perl6 faq that perl6 runs on a variety of backends. currently MoarVM & JVM, JavaScript in deelopment. what's this about JS? 03:02
AlexDaniel irced: perl6.github.io/6pad/ 03:03
irced takes a look. 03:04
03:04 evalable6 left 03:05 Kaiepi left, evalable6 joined
irced interesting, thanks for highlighting 6pad 03:06
03:45 adu joined
irced in the docs for Promise there is sample code as follows for the method in: 03:46
my $proc = Proc::Async.new('perl6', '-e', 'sleep 10; warn "end"');
my $result = await Promise.anyof( my $promise = $proc.start, Promise.in(5).then: { #..snip .then: { $promise.result } 03:47
my $result = await Promise.anyof( my $promise = $proc.start, Promise.in(5).then: { #..snip}).then: { $promise.result }
oh wait, i just got the answer.
03:51 molaf left 04:36 telex left, telex joined 04:41 sena_kun joined 05:01 Kaiepi joined 05:04 wamba joined
robertle AlexDaniel: you are correct, that looks quite wrong :) 05:39
05:48 robertle left 05:56 jmerelo joined 06:04 Kaiepi left
SmokeMachine .tell RaycatWhoDat if you wanna see a example of a simple toy language: github.com/FCO/bernaLang 06:10
tellable6 SmokeMachine, I'll pass your message to RaycatWhoDat
06:16 wamba left 06:37 aborazmeh joined, aborazmeh left, aborazmeh joined 06:41 domidumont joined
Geth ¦ problem-solving: AlexDaniel assigned to jnthn Issue stage0 is a binary blob, how can we do without it? github.com/perl6/problem-solving/issues/100 06:54
06:55 irced left 06:57 irced joined 07:01 [Sno] left, rindolf joined 07:03 wamba joined 07:05 dolmen joined
SmokeMachine Xliff: I think having it would be great! :) how is it going? 07:06
tellable6 SmokeMachine, I'll pass your message to Xliff
07:15 abraxxa joined 07:17 _jrjsmrtn joined
SmokeMachine irced: would you like to open a PR fixing the `$post1` issue (github.com/FCO/Red/issues/365)? 07:18
07:18 __jrjsmrtn__ left 07:19 abraxxa left 07:20 irced left, abraxxa joined
abraxxa sena_kun: good morning! 07:22
sena_kun: your fix resulted in the error message (HANDLED) Failed to open file /home/username/perl6/docs/ldap.asn: No such file or directory
sena_kun abraxxa, oh noes... well, that's not the fix itself, rather the update revealed a particular bug that was there for a long time. sigh. you can try to `zef uninstall Cro::LDAP` and then `zef install Cro::LDAP` 07:26
sena_kun needs to think about how to prevent `no such file` error
abraxxa how does it happen? 07:28
No candidates found matching identity: Cro::LDAP 07:29
sena_kun abraxxa, well, currently ASN::META depends on particular files being accessible during module usage... modules that are using it (currently Cro::LDAP) have those files at installation, but not at precompilation, so it fails
abraxxa zef update doesn't help either
sena_kun abraxxa, sorry, forgot it's not in the ecosystem, you need to update && use a local clone again 07:30
07:32 Manifest0 left 07:36 wamba left
abraxxa sena_kun: I forgot! thanks ;) 07:37
07:37 rindolf left
sena_kun also, I was looking at the paged control RFC and it is pretty easy to implement, but then I looked at my overall approach to API for controls and thought "It is somehow less than awesome and inconsistent, we need to do better", so it is on my todo list too, probably after $dayjob. :) 07:38
07:46 zakharyas joined 07:50 robertle joined 08:08 adu left 08:16 Kaiepi joined 08:21 dakkar joined 08:25 Itaipu left, wamba joined 08:26 Itaipu joined 08:27 dolmen left, reach_satori_ left
abraxxa sena_kun: great, thanks! 08:31
sena_kun: I pasted the requested output in the github issue
08:38 jmerelo left 08:39 HoboWithAShotgun joined 08:41 Sgeo joined 08:44 Sgeo__ left 08:45 Kaiepi left 08:48 dolmen joined 08:51 leont joined 08:55 domidumont left, domidumont joined 08:57 leont left
El_Che_ lo 09:00
09:00 El_Che_ is now known as El_Che
El_Che sena_kun: if you're added controls, the "relax" (-E relax) is a nice to have 09:01
09:23 aborazmeh left 09:36 dolmen left 09:41 pat_js joined 09:43 reach_satori joined 09:45 dolmen joined
wamba m: my $turtle = (1, 2 ... *);;my $hare = $turtle.clone;say $turtle.clone.head(2);say $hare.head(2);$turtle.head(2).say 09:51
evalable6 (1 2)
(3 4)
(5 6)
wamba m: my $turtle = (1, 2 ... *); $turtle.say;my $hare = $turtle.clone;say $turtle.clone.head(2);say $hare.head(2);$turtle.head(2).say
evalable6 (...)
(1 2)
(1 2)
(1 2)
09:58 dolmen left
wamba How "clone" on "Seq" should be work? 10:02
jnthn It arguably could throw an exception, given there's very little chance of it going well. :) 10:05
tellable6 2019-09-07T13:00:03Z #moarvm <brrt> jnthn presumably with a WinMain, I'd think
jnthn But cloning is shallow in general, so the two Seqs will share the same underlying iterator. 10:06
10:06 pmurias joined
jnthn Alternatively we could actually define the behavior it currently has. :) 10:08
(I'm quite sure that today it's undefined behavior.)
10:11 sena_kun left
SmokeMachine Xliff: any luck with the new driver? 10:12
tellable6 SmokeMachine, I'll pass your message to Xliff
SmokeMachine Xliff: was CommonSQL enough? 10:13
tellable6 SmokeMachine, I'll pass your message to Xliff
10:16 pmurias left 10:18 pmurias joined
SmokeMachine sena_kun: what about adding a submodule on `docs/` pointing to the wiki repo? make sense? 10:23
tellable6 SmokeMachine, I'll pass your message to sena_kun
SmokeMachine sena_kun: or maybe make the entire `docs/` be the submodule. That way, when generating the docs (if you push it) it will be on the wiki as well 10:25
tellable6 SmokeMachine, I'll pass your message to sena_kun
10:26 rindolf joined 10:33 Sgeo_ joined 10:37 Sgeo left 10:46 scimon joined
pmurias vrurg: rakudo.js build for me, thanks! 10:51
tellable6 2019-09-09T02:42:55Z #perl6-dev <vrurg> pmurias Please, check my latest merge. I made it compile perl6.js and copy it into rakudo.js for back compat purpose. Otherwise things work on my macos and even passes most core tests.
10:51 rindolf left 10:53 rindolf joined 10:57 daxim joined
daxim weekly, hsivonen.fi/string-length/ 10:57
weekly: hsivonen.fi/string-length/
notable6 daxim, Noted! (weekly)
10:57 Kaiepi joined 11:05 yqt joined 11:06 dolmen joined 11:10 zakharyas left, Sgeo__ joined 11:14 Sgeo_ left 11:17 pmurias left, dolmen left 11:20 yqt left 11:21 Black_Ribbon left 11:29 dolmen joined 11:30 Sgeo_ joined 11:33 Sgeo__ left 11:36 yqt joined 11:43 yqt left 11:53 lizmat joined, cpan-p6 left, cpan-p6 joined, cpan-p6 left, cpan-p6 joined 12:16 daxim left 12:17 daxim joined 12:24 HoboWithAShotgun left 12:28 ravenousmoose joined 12:34 gabiruh joined 12:35 ravenousmoose left 12:43 number6` joined 12:45 lizmat left
number6` hey, everyone. i have a question. why do you have to enclose multiple variables in parens when declaring them, as in my ($x, $y);, but can send multiple arguments to a function without using parens, as in say "the answer is ", 42; 12:47
12:50 sena_kun joined, lizmat joined
timotimo sub calls are "list prefix" precedence, i.e. what comes after them is parsed as a list that belongs to the prefix 12:51
i'm not sure why exactly the way "my" works was chosen, but I can imagine having to put parens makes it clear what happens in the case of "my Int $x, $y" (having to write it as "my Int ($x, $y)" 12:52
jnthn Well, `my $x, $y` is actually fine, it just doesn't declare $y, because of precedence 12:53
timotimo right, i parsed the question as presupposing that $y was also meant to be declared
12:54 Guest93 joined
number6` timotimo: jnthn: thank you. 12:55
12:56 HoboWithAShotgun joined
lizmat perl Configure.pl --gen-moar --gen-nqp --make-install 12:56
results locally for me in:
Missing or wrong version of dependency 'src/Perl6/World.nqp' (from 'gen/moar/CORE.c.setting') 12:57
is this a known issue? or is did I somehow mess up my local install?
timotimo huh, shouldn't be related to the git submodules with the build system stuff, right? 13:00
lizmat is not sure 13:01
timotimo if so, "git submodule update" could help
but i think some setting is active that makes that unnecessary or something? 13:02
lizmat just done that, no action, no error message
timotimo OK
what about a "make clean"? 13:03
lizmat same result 13:08
vrurg lizmat: can you try on with --gen-nqp=master? 13:11
lizmat: I think I know what happens. Do you CORE.c.setting.moarvm in you source root? COREs are now being compiled into blib/ but ModuleLoader may still try loading them from ./ while building. 13:16
lizmat $ ls -ls CORE.c.setting.moarvm 13:17
28576 -rw-r--r-- 1 liz staff 14629864 Sep 9 15:10 CORE.c.setting.moarvm
which implies to me that it is from just now?
aka, it gets placed in the wrong spot? 13:18
13:19 astronavt___ is now known as astronavt
vrurg lizmat: try git clean -dfx unless there is no changes you'd like to preserve. And then recompile. 13:19
unless there're changes, actually. 13:20
13:21 reach_satori left 13:22 reach_satori joined
timotimo not only changes 13:25
every file in there
that's not tracked
i happen to have a *lot* of stuff in my rakudo folder 13:26
SmokeMachine was anyone able to make gh-pages correctly highlight perl6 code? 13:27
13:28 camelCaser left
lizmat vrurg: well, seems like after that, the build succeeded 13:31
timotimo i hope you didn't lose anything important :S
lizmat there's always time machine :-) 13:32
timotimo good
vrurg timotimo: basically, -dfx is overkill, just to make sure. Should be enough to wipe CORE.*.moarvm from the source root. 13:33
13:33 reach_satori left
vrurg would as well move perl6*.moarvm from source root too for the purpose of easing cleanups, especially manual ones. 13:34
13:35 Xliff joined 13:41 zakharyas joined, MilkmanDan left 13:42 lucasb joined 13:43 MilkmanDan joined 14:03 wamba left, wamba joined
[Coke] m: say 3 14:11
evalable6 3
[Coke] m: while 1==2 {␤FIRST my $a=3;␤}␤ 14:12
evalable6 WARNINGS for /tmp/X4j1KJhdC3:
Useless use of LOOP_BLOCK_1 symbol in sink context (line 1)
[Coke] ^^ what is the uesless use there?
(golfed down from a larger program exhibiting the same issue)
timotimo m: while False { } 14:13
evalable6
timotimo m: while False { FIRST 1 }
evalable6 WARNINGS for /tmp/EYVNhdKtbO:
Useless use of LOOP_BLOCK_1 symbol in sink context (line 1)
timotimo m: while True { FIRST 1 }
evalable6 (signal SIGHUP) WARNINGS for /tmp/7bqzZ5kbiS:
«timed out after 10 seconds»
[Coke] the original had variables in the conditional.
timotimo ok, so it wouldn't know to dead-code-eliminate 14:14
Xliff m: while 1==2 {␤FIRST my $a=3; $a;}
evalable6 WARNINGS for /tmp/v5SFbEf33F:
Useless use of LOOP_BLOCK_1 symbol in sink context (line 1)
tellable6 2019-09-09T07:06:10Z #perl6 <SmokeMachine> Xliff: I think having it would be great! :) how is it going?
2019-09-09T10:12:16Z #perl6 <SmokeMachine> Xliff: any luck with the new driver?
2019-09-09T10:13:08Z #perl6 <SmokeMachine> Xliff: was CommonSQL enough?
[Coke] m: my $a=0; my $b = 3 while $a < $b {␤FIRST my $a=3;␤$a=$b}␤
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/DaPOQpPW8z
Unexpec…
[Coke], Full output: gist.github.com/e06d5cccc6832e582f...13851a2e98
[Coke] m: my $a=0; my $b = 3; while $a < $b {␤FIRST my $a=3;␤$a=$b}␤
Xliff .tell SmokeMachine Busy day, today. I will get back to you with questions. tl;dr -- Didn't work. Got errors. :(
evalable6 (signal SIGHUP) WARNINGS for /tmp/MOeGpb2RKg:
«timed out after 10 seconds»
tellable6 Xliff, I'll pass your message to SmokeMachine
[Coke] m: my $a=0; my $b = 3; while $a < $b {␤FIRST $a=3;␤}␤ 14:15
evalable6 WARNINGS for /tmp/6JQv4OXBLD:
Useless use of LOOP_BLOCK_1 symbol in sink context (line 1)
[Coke] ^^
SmokeMachine Xliff: :(
Xliff Oh! There you are!
SmokeMachine :) o/
Xliff One sec 14:16
timotimo ah dangit, i need to find a code example that exhibits interesting behavior for heap snapshots, but doesn't generate tens of gigabytes of snapshots in the process 14:17
the heapanalyzer itself, when reading a medium-sized snapshot, will generate tens of gigabytes of data, for example 14:18
the confprog compiler just has four snapshots in it that are all very similar
Xliff SmokeMachine: Unfortunately I am in the Proper OS. I guess I could install MS SQL server for Linux....
However yesterdays excursions have convinced me that once is enough. :) 14:19
If I were getting paid, however....
14:23 HoboWithAShotgun left
SmokeMachine Xliff: what were the problems you got? 14:24
Xliff Actually, I can't remember. It was a detailed error message that I forgot to save. I'd have to reboot to get it, and it's going to be a busy day, today. 14:25
Probably won't be back on that OS until this afternoon or evening. I'm EDT
14:27 jmerelo joined, Guest93 left 14:28 Guest93 joined
SmokeMachine Xliff: no problem! let's see it when you have some time... 14:29
14:31 scumdog joined 14:34 molaf joined 14:43 scumdog left 14:52 domidumont left, Sgeo__ joined 14:55 Sgeo_ left 14:58 wamba left
SmokeMachine m: (^10).map({ $_ if $_ %% 2 }).map: &say; 15:05
evalable6 0
2
4
6
8
SmokeMachine m: Supply.from-list(^10).map({ $_ if $_ %% 2 }).tap: &say # wouldn't it make sense to have the same behaviour?
evalable6 0
()
2
()
4
()
6
()
8
()
SmokeMachine m: Supply.from-list(^10).map({ |($_, $_+1, $_+2) }).tap: &say 15:13
evalable6 (0 1 2)
(1 2 3)
(2 3 4)
(3 4 5)
(4 5 6)
(5 6 7)
(6 7 8)
(7 8 9)
(8 9 10)
(9 10 11)
SmokeMachine m: (^10).map({ |($_, $_+1, $_+2) }).map: &say;
evalable6 0
1
2
1
2
3
2
3
4
3
4
5
4
5
6
5
6
7
6
7
8
7
8
9
8
9
10
9
10
11
15:15 dolmen left, HoboWithAShotgun joined
SmokeMachine shouldn't a Supply.map returning a Slip iterate over it and call `emit()` for each item? 15:16
m: Supply.from-list(^10).map({ $_ if $_ %% 2 }).tap: { .^name.say } 15:17
evalable6 Int
Slip
Int
Slip
Int
Slip
Int
Slip
Int
Slip
15:19 Sgeo_ joined 15:20 dolmen joined 15:22 Sgeo joined, Sgeo__ left
SmokeMachine would it work if here (github.com/rakudo/rakudo/blob/3f69....pm6#L323) I change for `[result].map: &emit` ? 15:24
15:25 Sgeo_ left 15:26 zakharyas left
jnthn SmokeMachine: Work maybe, but it'll result in a crazy slowdown 15:31
SmokeMachine: If we want it to work, I'd do it by adding another `multi` candidate `emit(Slip:D)` 15:32
SmokeMachine jnthn: makes sense... and do we want it to work? 15:33
15:34 pat_js left
jnthn SmokeMachine: I can't think of any harm that we'd get from it working, and it's probably useful. 15:35
15:36 mayuresh joined
SmokeMachine jnthn: and that makes both `map`s consistent... 15:36
jnthn Well, but one has to be careful making consistency arguments, because for example .flat on a Supply is about flattening the inner Supply values, not any inner List values. 15:37
A List of Supply objects treats the Supply values inside of it as just items, and a Supply emitting List values does similar 15:38
That's why I'm a little wary about letting Slip have any magical behavior here
15:39 robertle left
mayuresh hello. :) 15:41
anyone around?
jmerelo mayuresh: at least one :-)
mayuresh just dropped in to inquire about the status os 'mop' in p6
i meant; "status of 'mop'" :)
jmerelo mayuresh: there's a whole lot of that. Perl 6 includes a metamodel which allows you to build everything, not only objects. Check this out: docs.perl6.org/type/Metamodel::ClassHOW 15:42
mayuresh wow, that's awesome. will get to reading it now. thanks for sharing it. :) 15:43
bye.
jmerelo mayuresh: good luck :-)
15:43 mayuresh left
SmokeMachine jnthn: imho it would make sense if we have a equivalent of a slip to supplies (as s supply is the equivalent of a list...) 15:45
15:46 lichtkind joined, wamba joined
SmokeMachine I mean a auto-flatten supply... 15:46
jnthn Maybe, but the downside is that it'd not handle the use case you care about in the example (a map with an if) 15:49
SmokeMachine jnthn: Yes, that's why I'd prefer to let the Slip be the Supply's Slip... 15:50
15:52 Sgeo_ joined
[Coke] "Supply-Side Slip-onomics." 15:54
15:55 Sgeo left
SmokeMachine [Coke]: Sorry, it's too advanced to my poor English... what does that mean? 15:58
[Coke] an unfunny plan on en.wikipedia.org/wiki/Supply-side_economics 15:59
*play
jmerelo [Coke]: it was mildly funny :-)
jnthn I was amused :P
16:00 Sgeo__ joined
SmokeMachine Should I open a issue on problem-solve or just try to implement it? 16:01
16:03 Sgeo_ left
jnthn SmokeMachine: I think I'd be happy with a PR adding the multi candidate and some tests; if anybody objects, we can go through the full process. 16:04
SmokeMachine jnthn: ok, I'll try to do that! :)
16:07 Kaiepi left 16:19 MasterDuke left 16:25 dakkar left 16:27 scimon left 16:32 molaf left 16:37 Kaiepi joined 16:42 dolmen left 16:43 MilkmanDan left 16:45 sarna joined
sarna hi, can I somehow express that a function should take either an int or a string with some content? like, sub(param: int | "foo") 16:46
16:46 MilkmanDan joined
sarna I'm writing some bindings to JS in another language and I've been wondering if that's possible in raku :) 16:47
Elronnd I would make it a multimethod 16:48
16:50 dolmen joined
sarna I know it can be done in tens of better ways, but it's this particular one I'm curious about :D 16:50
Guest93 sarna: You could also sub ($x where Int | "foo")
sarna Guest93: that works? cool! 16:51
would it work on a class field as well?
16:51 robertle joined
Guest93 sarna: yeah, it should 16:54
sarna Guest93: sweet! thanks :)
16:56 aborazmeh joined, aborazmeh left, aborazmeh joined
SmokeMachine m: sub a($b where Int|Str) { say $b.^name }; a 42; a “bla”; a 3.14 16:56
evalable6 (exit code 1) Int
Constraint type check failed in binding to parameter '$b'; expected anonymous constraint to be met but got Rat (3.14)
in sub a at /tmp/4uoPHG6uoP line 1
in block <unit> at /tmp/4uoPHG6uoP line 1

Str
El_Che like Elronnd says, a multimethod is the most elegant (readable and safe) in my view 16:57
SmokeMachine m: sub a($b where Int|Str) { say $b.^name }; a 42; a “bla”
evalable6 Int
Str
SmokeMachine m: sub a($b where Int|Str) { say $b.^name }; a 3.14 16:58
evalable6 (exit code 1) Constraint type check failed in binding to parameter '$b'; expected anonymous constraint to be met but got Rat (3.14)
in sub a at /tmp/53p4cofckJ line 1
in block <unit> at /tmp/53p4cofckJ line 1
16:58 dolmen left 16:59 sarna left 17:07 grayrider left, number6` left 17:13 MilkmanDan left 17:15 MilkmanDan joined 17:19 camelCaser joined 17:27 Actualeyes joined 17:28 camelCaser left, camelCaser joined, veesh joined 17:50 aborazmeh left
Xliff my $a = 'b'; my $c = 'd'; my @e = «$a $c>; @e.gist.say 17:59
m: my $a = 'b'; my $c = 'd'; my @e = «$a $c>; @e.gist.say
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/QgLBF2clCR
Cannot …
Xliff, Full output: gist.github.com/e19f19e0916d7db72f...22181f450c
Xliff m: my $a = 'b'; my $c = 'd'; my @e = «$a $c»; @e.gist.say
evalable6 [b d]
Xliff m: my $a = 'b'; my $c = 'd'; my @e = «$a "$a $c" $c»; @e.gist.say 18:01
evalable6 [b b d d]
Xliff m: my $a = 'b'; my $c = 'd'; my @e = «$a "$a $c" $c»; @e.gist.say; @e.elems.say
evalable6 [b b d d]
3
Xliff m: my $a = 'b'; my $c = 'd'; my @e = «$a "$a $c" $c {$a}{$c}.c»; @e.gist.say; @e.elems.say 18:02
evalable6 [b b d d b d .c]
6
Xliff m: my $a = 'b'; my $c = 'd'; my @e = «$a "$a $c" $c $a$c.c»; @e.gist.say; @e.elems.say
evalable6 [b b d d b d .c]
6
Xliff m: my $a = 'b'; my $c = 'd'; my @e = «$a "$a $c" $c "{$a}{$c}".c»; @e.gist.say; @e.elems.say 18:03
evalable6 [b b d d bd .c]
5
Xliff m: my $a = 'b'; my $c = 'd'; my @e = «$a "$a $c" $c "{$a}{$c}.c"»; @e.gist.say; @e.elems.say
evalable6 [b b d d bd.c]
4
18:13 sno joined 18:17 leont joined 18:24 sauvin left 18:26 wildtrees joined 18:27 wildtrees left 18:28 MasterDuke joined, ravenousmoose joined, wildtrees joined 18:29 jjmerelo joined 18:30 jmerelo left 18:32 ravenousmoose left
Xliff m: my @a = ('a'..'f'); @a.map( "{*}.ext" ).say 18:45
evalable6 (exit code 1) Cannot map a Array using '"*.ext"'
Did a * (Whatever) get absorbed by a list?
in block <unit> at /tmp/vxiFCgwkBN line 1
Xliff m: my @a = ('a'..'f'); @a.map( * ~".ext" ).say
evalable6 (a.ext b.ext c.ext d.ext e.ext f.ext)
18:53 dwarring joined, wildtrees_ joined 18:56 wildtrees_ left, Xliff left, wildtrees left 18:57 jjmerelo left, wildtrees_ joined 18:59 patrickb joined
patrickb .tell Xliff re DBIish and MSSQL using DBDish::ODBC. I use that in a production system at work 19:02
tellable6 patrickb, I'll pass your message to Xliff 19:03
patrickb Prepared statements don't work. And are not trivial to implement.
tellable6 2019-09-04T01:41:40Z #perl6-dev <vrurg> patrickb Could you, pls, review and test R#3166?
synopsebot R#3166 [closed]: github.com/rakudo/rakudo/pull/3166 [WIP][build] [WIP] [HEADSUP] Extract common parts of backend makefiles into a common template
patrickb .tell Xliff Prepared statements do not work and are not trivial to implement. 19:04
tellable6 patrickb, I'll pass your message to Xliff
19:05 patrickb left 19:06 patrickb joined
patrickb .tell Xliff there is also a PR waiting for merge that fixes some column types github.com/salortiz/DBDish-ODBC/pull/5 19:07
tellable6 patrickb, I'll pass your message to Xliff
patrickb .tell salortiz did you notice github.com/salortiz/DBDish-ODBC/pull/5 19:08
tellable6 patrickb, I haven't seen salortiz around, did you mean sortiz?
patrickb .tell sortiz Did you notice github.com/salortiz/DBDish-ODBC/pull/5 19:09
tellable6 patrickb, I'll pass your message to sortiz
patrickb and with that I'm off again. o/
19:10 patrickb left 19:20 veesh left 19:21 veesh joined 19:33 molaf joined 19:39 sortiz joined
sortiz .tell patrickb I merge your PR, sorry for the delay. 19:42
tellable6 sortiz, I'll pass your message to patrickb
19:44 sortiz left, maettu left 19:46 Black_Ribbon joined 19:57 khisanth_ left 20:01 krychu joined 20:11 khisanth_ joined 20:21 sena_kun left 20:23 aborazmeh joined, aborazmeh left, aborazmeh joined
Kaiepi what was that nqp branch that was supposed to make it easier to debug when something's going awry with precomp? 20:31
20:39 Ven`` joined 20:42 Xliff joined 20:45 Cabanossi left 20:49 Cabanossi joined 20:54 reach_satori joined 20:57 tadzik is now known as nvidia, nvidia is now known as tadzik 21:01 a6502 joined
Geth doc: 7d6fe10965 | Coke++ | type-graph.txt
UInt is a subset, not a class
21:21
doc: d2e000d337 | Coke++ | type-graph.txt
have to mark enums as Int
21:25 rindolf left 21:28 wamba left 21:30 aborazmeh left 21:31 Sgeo_ joined
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2019/09/09/...repidated/ 21:34
21:34 Sgeo__ left
guifa lizmat++ 21:34
21:54 Guest93 left 22:16 tobs left, tobs joined 22:23 xinming_ left 22:24 Ven`` left, xinming_ joined, Ven`` joined, Ven`` left 22:31 xinming_ left, xinming_ joined 22:38 Kaiepi left 22:39 Xliff left, Kaiepi joined
lichtkind lizmat++ 22:44
22:46 dwarring left
guifa Ack, refactored my code to use a dynamic variable and when I turned back on a divide and conquer optimization it bombed because dynamic variables only survive a single spin off 22:52
22:55 xinming_ left 22:56 xinming_ joined 23:02 mowcat left, mowcat joined 23:21 yqt joined 23:23 Kaiepi left, Kaypie joined 23:33 krychu left 23:42 leont left 23:43 wildtrees_ left
SmokeMachine github.com/FCO/Red/wiki 23:45
wrong link 23:50
fco.github.io/Red/
23:52 lucasb left
AlexDaniel lizmat++ # great weekly! 23:59