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