🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku Set by ChanServ on 14 October 2019. |
|||
00:01
p6steve joined
00:06
p6steve left
00:35
ensamvarg_g6 joined
00:39
KindOne joined
00:50
sena_kun joined
00:52
Altai-man_ left
00:55
rbt left
00:56
rbt joined
01:12
Kaeipi left,
Kaeipi joined
01:19
Altai-man_ joined
01:21
sena_kun left
01:26
molaf left
01:27
farcas1982regreg left
01:38
molaf joined
|
|||
guifa2 | stu002: I've not done an 100% literate style, but I've start doing a LOT more in-line documentation which approaches that style (particularly when I'm having to hew towards standards) | 01:40 | |
(also because I tend to only be able to program in spurts, so it helps me remember WTF I was doing | 01:41 | ||
raschipi | guifa2: any modules you published in this style? | 01:49 | |
01:50
aborazmeh left
|
|||
guifa2 | None that are purely so, but if you look here: | 01:54 | |
github.com/alabamenhu/LanguageTag/...ageTag.pm6 | |||
particularly the ACCEPTS() method for LanguageTagFilter | 01:55 | ||
and the check-valid for TransformedContent | |||
or lookup-language-tags | 01:56 | ||
but I need to do a *lot* of clean up and better documenting in there so no judging me :-) | |||
raschipi | No judgement from someone whose code still causes nightmares on his colleagues. | 01:59 | |
01:59
pilne left
02:01
Manifest0 left
02:02
Manifest0 joined
02:03
p6steve joined
|
|||
raschipi | Literate programming means that the end result is formatted nicely, with TeX for example. So these examples get us almost there. Perhaps a POD slang that keeps the code mixed into the final display would be it. | 02:06 | |
02:08
p6steve left
|
|||
guifa2 | We can't quite do full literate programming, but we can get close. But it's definitely possible to parse for pod6 and get some nice TeX-like literate output if you want to | 02:36 | |
raschipi | But then it will discard the code and the book won't make sense. | 02:39 | |
02:49
Kaiepi joined,
Kaeipi left
02:56
melezhik left
03:04
Kaiepi left
|
|||
cpan-raku | New module released to CPAN! Test::Async (0.0.6) by 03VRURG | 03:05 | |
03:06
k-man left
03:07
raschipi left
|
|||
guifa2 | .tell raschipi that the code is discarded at the moment is just because all pod renderers have chosen to do that :-) | 03:10 | |
03:10
rbt left
|
|||
tellable6 | guifa2, I'll pass your message to raschipi | 03:10 | |
03:11
rbt joined,
Kaiepi joined
03:17
k-man joined
03:20
sena_kun joined
03:21
Altai-man_ left
03:36
Itaipu left,
Itaipu joined
03:44
molaf left
03:53
k-man left
03:55
Util joined
04:12
k-man joined
04:23
Doc_Holliwood joined
04:24
p6steve joined
04:29
p6steve left
04:30
farcas1982regreg joined
|
|||
discord6 | <stu002> @guifa2 @raschipi @AlexDaniel thanks for that, POD documents may be enough for my needs. Being able to add LaTeX expressions would be nice though. | 04:35 | |
guifa2 | which LaTeX expressions would you want? The nice thing about a pod processor is that you can capture text andd process it accordingly if you want. So you could do a [latex: ] or something, and then process the innards if you need, e.g., math epxressions. There's probably already a library out there to help with processing TeX stuff, but I've not used it | 04:38 | |
discord6 | <stu002> @guifa2 that approach of a latex block handled by custom processing code may well be enough. | 04:44 | |
guifa2 | The nice thing about raku is that writing your own text processing stuff is a breeze :-) | 04:45 | |
discord6 | <stu002> Agreed. | ||
05:05
k-man left
|
|||
guifa2 | Actually, it seems no one has written a LaTeX parser. *wink* | 05:06 | |
*cough* | |||
05:10
k-man joined
05:14
[Sno] left
05:19
Altai-man_ joined
05:20
sauvin joined
05:22
sena_kun left
|
|||
discord6 | <stu002> @guifa2 I'm still very new to the language and ecosystem so probably not (yet) a good person to tackle that. | 05:22 | |
guifa2 | Understanding LaTeX takes enough time. Understanding TeX takes more time. A tight integration between Raku and LaTeX à la LuaLaTeX would be amazing but undestanding an immense amount of time. | 05:24 | |
that said, Raku is one of the few languages that would legitimately make parsing TeX probably merely uncomfortable rather than extremely painful. It would be an ugly grammar with some complex actions but .... it could be done | 05:27 | ||
moritz | I'd really love to have a more modern language on top of TeX's rendering engine | 05:55 | |
06:03
cpan-raku left
06:04
cpan-raku joined,
cpan-raku left,
cpan-raku joined
06:10
[Sno] joined
06:11
andrzejku joined
06:15
__jrjsmrtn__ left
06:17
__jrjsmrtn__ joined
06:22
Doc_Holliwood left
06:25
Kaiepi left
06:26
Kaiepi joined
06:42
p6steve joined
06:47
p6steve left,
stoned75 joined
06:50
girafe left
07:06
stoned75 left
07:09
stoned75 joined
07:20
sena_kun joined
07:21
Altai-man_ left
07:27
xelxebar_ left,
xelxebar joined
07:28
rindolf joined
|
|||
guifa2 | moritz: I agree 10000%. TeX is amazing. But it's also a product of its time and there are just a few modern niceties that would be amazing in it | 07:31 | |
guifa2 just got quantifiers working in binex! | 07:32 | ||
quantifiers + concat + literals = 70% of typical regexen? | |||
moritz | I might not be a your typical regex author, but I also use ^, $ and char classes a lot | 07:33 | |
07:34
stoned75 left
|
|||
guifa2 | moritz: I don't have really any of the metachars yet (although ^ and $ would be very easy). Right now I'm slowly working my way up the regex chain, once I hit termseq I'll get into metachar/grouping/capturing. | 07:40 | |
bedtime now | 07:43 | ||
07:46
girafe joined
07:47
girafe left
08:10
rbt left
08:11
rbt joined
08:15
kybr joined
08:16
p6steve joined
08:32
[Sno] left
08:36
girafe joined,
Black_Ribbon left
08:46
pecastro joined
|
|||
Geth | doc: 3be49a8b5b | (JJ Merelo)++ | doc/Type/Slip.pod6 .perl → .raku Closes #3348 |
08:53 | |
linkable6 | Link: docs.raku.org/type/Slip | ||
DOC#3348 [closed]: github.com/Raku/doc/issues/3348 [docs][easy to resolve] some .perl needs changing | |||
09:03
girafe left
09:04
stoned75 joined
09:08
girafe joined
09:10
girafe left
09:19
Altai-man_ joined
09:21
sena_kun left
09:22
p6steve left
09:34
kotrcka joined
09:35
lichtkind joined
09:37
girafe joined
09:38
[Sno] joined
09:53
stoned75 left
10:02
p6steve joined
10:07
natrys joined
10:18
epony joined,
lichtkind_ joined
10:20
lichtkind left
10:31
Doc_Holliwood joined
10:37
natrys left
10:49
andrzejku left
10:50
xinming_ joined
10:55
aborazmeh joined,
aborazmeh left,
aborazmeh joined
11:02
mowcat joined
11:11
xinming_ left
11:12
xinming_ joined
11:16
p6steve left,
MasterDuke left
11:20
sena_kun joined
11:21
Altai-man_ left
11:25
titsuki joined,
andrzejku joined
11:31
raschipi joined,
aborazmeh left
|
|||
raschipi | . | 11:31 | |
tellable6 | 2020-04-24T03:10:33Z #raku <guifa2> raschipi that the code is discarded at the moment is just because all pod renderers have chosen to do that :-) | ||
11:32
elcaro joined
11:37
Doc_Holliwood left
11:44
stoned75 joined
11:49
mowcat left,
p6steve joined
11:50
xinming_ left,
xinming_ joined
11:54
p6steve left
12:10
Voldenet joined,
Voldenet left,
Voldenet joined
12:11
molaf joined,
p6steve joined
12:12
Doc_Holliwood joined
12:15
xinming_ left,
patrickb joined
12:16
xinming_ joined
12:17
Maylay left
12:33
kotrcka left
12:35
MasterDuke joined
12:45
Maylay joined
12:47
raschipi left,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
12:50
raschipi joined
12:52
Doc_Holliwood left
12:56
xinming_ left
12:57
stoned75 left
12:59
xinming_ joined
13:02
stoned75 joined
13:04
rbt left
13:05
rbt joined
13:08
p6steve left
13:19
Altai-man_ joined,
xinming_ left
13:20
xinming_ joined
13:22
sena_kun left
13:23
Kaiepi left
|
|||
Altreus | ahaha thanks raku for apparently being the only language that uses <> as delimiters | 13:31 | |
jnthn | C++ too | ||
Altreus | surround.vim does not like it | ||
jnthn | C#, Java, etc. :) | ||
Altreus | It waits for me to complete the tag | ||
jnthn | (For templates and generics respectively) | ||
Altreus | I don't really want to surround the thing with <></> | ||
raschipi | It appears your vi is trying too hard. | 13:32 | |
Altreus | indeed | ||
It's too hipster - the only thing that uses <> is HTML5 | 13:33 | ||
tadzik | hrm, tons of languages use <> :o | ||
Altreus | :O | ||
I don't think many of them require you to replace {} with <> because you forgot what language it was | 13:34 | ||
tadzik | pretty much everything with generics in it | ||
heh, in that context perhaps not | |||
timotimo | Altreus:i think if you use > instead of < it will let you surround with just <> | 13:35 | |
yes, indeed it will | |||
DYK that you can also use surround.vim to change (foo) to ( foo ) and vice versa? | 13:36 | ||
that's the diference you get when you ys( vs ys) | |||
Altreus | yes that's the thing innit | 13:37 | |
timotimo | mh? | 13:38 | |
Altreus | I can't get with-space or without-space because one of them thinks it's HTML | ||
timotimo | ah, that's how you meant it | ||
Altreus | if I do cs{< it waits for HTML | ||
as it happens, cs{> does what I want | |||
hrm I thought it was the opposite | |||
Anyway there's no way to put <> with spaces :) | |||
timotimo | try a | 13:39 | |
13:39
vike left
|
|||
timotimo | no, wrong one | 13:39 | |
13:39
tejr left,
Kaiepi joined
13:40
tejr joined
|
|||
Altreus | it's OK, spaces are for millennials | 13:40 | |
timotimo | dangit. there is literally really no way? | 13:42 | |
13:45
vike joined
|
|||
timotimo | well, no built-in way. you can define custom surround mappings of course | 13:47 | |
[Coke] | m: dd << "this has spaces" >> | ||
camelia | "this has spaces" | ||
[Coke] | hurm. not quite. :) | 13:48 | |
14:03
Doc_Holliwood joined
14:04
p6steve joined,
melezhik joined
|
|||
AlexDaniel | greppable6: <<.*".*".*>> | 14:07 | |
greppable6 | AlexDaniel, 316 lines, 20 modules: gist.github.com/2f00abc9b853352071...9042d3993f | 14:08 | |
14:08
p6steve left
|
|||
AlexDaniel | greppable6: <<.*\$.*>> | 14:09 | |
greppable6 | AlexDaniel, 116 lines, 56 modules: gist.github.com/f7c6f920b176f801e9...973f567933 | ||
14:10
cognomin_ joined
14:11
cognominal left
14:16
|Sno| joined
14:20
[Sno] left
14:38
aborazmeh left
14:44
p6steve joined
15:11
molaf left
15:18
natrys joined
15:20
sena_kun joined
15:21
Altai-man_ left
15:37
stoned75 left
15:39
stoned75 joined
15:52
chloekek joined
16:07
sjm_uk joined
16:13
andrzejku left
|
|||
p6steve | is there a new name for prove6? | 16:14 | |
guifa2 | arg, & is probably going to be the most powerful of all of the conjunctions in Binex, but also annoyingly complex. | 16:16 | |
16:17
Kaiepi left
16:18
Kaiepi joined
|
|||
timotimo | provaku? | 16:18 | |
rakrove | |||
p6steve | prover | 16:19 | |
timotimo | ProverK | ||
[Coke] | I mean, prove seems like a fine name. :) I wouldn't be clever; if we feel we need a different name, maybe "verify" or "attest" | ||
timotimo | proveRK | ||
chloekek | pr6ve | ||
timotimo | well, we'd probably be going away from a 6 | ||
`evidence` | |||
discord6 | <tmtvl> Just have prove check whether to use Perl or Raku based on the use statement in the tests? | 16:20 | |
[Coke] | do we have to have a different name? | ||
16:20
farcas1982regreg left
|
|||
Altreus | doesn't prove just consume TAP? | 16:20 | |
timotimo | that's true, but it does also invoke your test programs and i think also discovers tests? | ||
[Coke] | Altreus: there's logic in there about what tests to run and how to run them. | ||
chloekek | tapestry | ||
timotimo | can we get something bible-y in there to honor The Language Creator™? | 16:21 | |
apocalypse seems slightly relevant; reveal whether the code is right or not | |||
Altreus | tapocalypse? | ||
p6steve | tempt | ||
timotimo | omg | ||
what was the name of the guy with the revelations? | 16:22 | ||
MasterDuke | john | ||
16:22
xinming_ left
|
|||
Altreus | John Wick? | 16:22 | |
[Coke] | I would prefer NOT having something bibly, but that may just be me. | ||
timotimo | isn't there already a johntheripper that's like a password bruteforcing tool? | ||
discord6 | <tmtvl> Yes. | 16:23 | |
16:23
xinming_ joined
|
|||
p6steve | rakup | 16:23 | |
MasterDuke | i assumed that's a play on the serial killer | ||
timotimo | i believe so | ||
discord6 | <tmtvl> I mean, if we want to provide our own TAP runner and consumer we could just call it something like rakutest. | ||
timotimo | jacktheripper exists too i believe? | 16:24 | |
MasterDuke | but johntherevealer would work | ||
timotimo | i assume the relation is like between sup and notmuch | ||
> Notmuch is an answer to Sup. Sup is a very good email program written by William Morgan (and others) and is the direct inspiration for Notmuch. | |||
MasterDuke | like less and more? | 16:25 | |
[Coke] | discord6: "rakutest" ++ | ||
timotimo | > alot, a curses frontend written in Python with the Urwid toolkit. | ||
> netviel, a single-page web app with Javascript frontend and Python backend. | |||
less, more, and don't forget most :) | 16:27 | ||
MasterDuke | nano, pico | 16:29 | |
timotimo | cat, tac | ||
16:29
xinming_ left
|
|||
timotimo | head, tail | 16:29 | |
16:30
xinming_ joined,
abraxxa left
|
|||
discord6 | <tmtvl> A test runner wouldn't be too hard to implement, basically something like for t in */*.t; do raku -Ilib t; done, we could hash that out in a few minutes. ...and write tests for the tester. | 16:30 | |
<tmtvl> Who tests the tester? It tests itself. | |||
16:32
abraxxa joined,
raschipi left
16:34
rindolf left
16:36
patrickb left
|
|||
p6steve | sub MAIN(:$name, :$auth, :$ver, *@, *%) { CompUnit::RepositoryRegistry.run-script("prove6", :$nam e, :$auth, :$ver); } | 16:37 | |
^^^ this is the body of prove6 | 16:38 | ||
16:40
Doc_Holliwood left
16:43
West85 joined
16:46
raschipi joined
|
|||
West85 | Hi folks. I'm having an issue with errors during configure on a raku star installation. | 16:46 | |
16:47
abraxxa left
|
|||
West85 | is there a zstd library I'm supposed to have installed | 16:47 | |
16:47
xinming_ left
|
|||
West85 | for heapsnapshot | 16:47 | |
p6steve | quit | 16:48 | |
exit | |||
16:48
xinming_ joined
|
|||
p6steve | 16:48 | ||
16:48
p6steve left
|
|||
[Coke] | West85: can you put the errors on (e.g.) gist.github.com? | 16:50 | |
guifa2 | re naming, attest would handle both the ideas of "prove" and the biblicliness simultaneously, but I think "prove" by itself works well | 16:51 | |
16:53
cognominal joined
|
|||
chloekek | hope | 16:54 | |
16:55
natrys left
|
|||
West85 | gist.github.com/WesternStar/4e0bf6...d27f8c4c1e | 16:56 | |
16:57
cognomin_ left
|
|||
timotimo | damn, it should be optional | 17:00 | |
West85:can you also post the output of earlier pieces? | 17:01 | ||
i hope i didn't majorly goof up :( | |||
West85 | Sure | ||
I updated the gist | 17:03 | ||
17:04
natrys joined
17:17
rindolf joined
17:19
Altai-man_ joined,
abraxxa joined
17:20
aborazmeh joined,
aborazmeh left,
aborazmeh joined
17:21
sena_kun left
17:29
sjm_uk left
17:34
MasterDuke left
17:35
patrickb joined
17:37
melezhik left
17:39
aborazmeh left
|
|||
AlexDaniel | timotimo: provaku xD | 17:47 | |
17:47
West85 left
|
|||
chloekek | provo | 17:48 | |
AlexDaniel | reminds me if Pakku | ||
github.com/hythm7/Pakku | |||
of* | |||
chloekek | Plankalkül | 17:49 | |
17:52
mowcat joined
18:06
titsuki left
18:07
Doc_Holliwood joined
18:23
kensanata joined
18:24
ensamvarg_g6 left
18:34
cognomin_ joined
18:35
molaf joined
18:38
cognominal left
18:40
molaf left
18:42
stoned75 left
|
|||
guifa2 | yay, & | && || are mostly working enough to move on to metachars | 18:42 | |
18:47
stoned75 joined
18:48
lembark joined
|
|||
lembark | Q: Anyone I could talk to about tracking down a memory leak in Rakudo? | 18:49 | |
tellable6 | 2019-12-25T16:48:43Z #raku <sena_kun> lembark hi! your FindBin module is failing tests for some reason, can you check it? | ||
lembark | Sure. | ||
Any idea which release of Rakduo (i.e., git id so I can test the right one). | |||
Q: Is there any way to run 'zef acquire and test only'? | 18:50 | ||
18:52
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
lichtkind_ left
|
|||
lembark | Building whatever's on github now... | 18:53 | |
^~~~~~~~In file included from /usr/include/pwd.h:63, from /scratch/RAKU/smoke-rakudo.d/include/libuv/uv/unix.h:37, from /scratch/RAKU/smoke-rakudo.d/include/libuv/uv.h:66, from src/vm/moar/runner/main.c:4:/usr/include/bits/types/FILE.h:7:25: error: conflicting types for | 18:55 | ||
‘FILE’ typedef struct _IO_FILE FILE; ^~~~ | |||
Q: Anyone successfully built whatever's on github now? | |||
timotimo | huh. perhaps you can try installing a newer libuv dev package and using --with-libuv or --has-libuv or whatever we called that flag | 18:59 | |
lembark | # which libuvwhich: no libuv in (/opt/bin:/opt/sbin:/sbin:/usr/sbin:/bin:/usr/bin) | 19:04 | |
Odd... looking for libuv. | |||
Grinnz | libuv would not be found in path, it's not a binary | ||
lembark | * dev-libs/libuv Latest version available: 1.35.0 Latest version installed: 1.35.0 Size of files: 1225 KiB Homepage: github.com/libuv/libuv Description: Cross-platform asychronous I/O License: BSD BSD-2 ISC MIT | 19:05 | |
1.35 seems to be the most recent one available on Gentoo. | |||
Sorry, which was a bad choice. Lack of caffeine. | |||
timotimo | OK, current moarvm master also has v1.35.0 included in it | 19:06 | |
lembark | Rebuilding w/o jvm; see if just moar works. | ||
19:06
xinming_ left
19:07
xinming_ joined,
MasterDuke joined
|
|||
lembark | Q: Is this significant from ./Configure? | 19:13 | |
ERROR: NQP_HOME is invalid: /root/project/rakudo-2020.02.1/install/bin/../share/nqp | |||
Double-checked, NQP_HOME isn't set in the environment building rakduo. | 19:14 | ||
lizmat | patrickb vrurg ^^ | 19:19 | |
19:20
sena_kun joined
|
|||
patrickb | lembark: The error message is misleading. It doesn't refer to the environment variable but to the nqp home itself. | 19:20 | |
lembark: Does that folder look like a legitimate nqp folder? Is it empty? | 19:21 | ||
19:22
Altai-man_ left
19:24
lucasb joined
|
|||
lembark | Full output from running Configure + make: pastebin.com/ngtEi3QW | 19:25 | |
I'm not running as su to build rakduo, no idea where it would have gotten reference to /root. | |||
19:26
wbn left
|
|||
lembark | I run the installs as myself into /opt/rakudo (stable tag) or /scratch/RAKU/smoke-rakudo.d (nightly smoke test via zef). | 19:26 | |
19:26
wbn joined,
xinming_ left,
aindilis` joined,
aindilis left,
aindilis` left
|
|||
lembark | Q: Where is the NQP root dir derived? From the prefix (which is being fed as /opt/rakudo). | 19:27 | |
19:28
xinming_ joined
|
|||
lembark | Q: Where would these files get configured? | 19:30 | |
19:30
stoned75 left
|
|||
lembark | $ find . -type f | xargs grep -l '/root/project/' 2>/dev/null./nqp/Makefile./nqp/nqp-m | 19:30 | |
patrickb | lembark: Was there an nqp executable preexisting in /opt/rakudo/bin/nqp ? If yes, do you happen to know where tha was from? | ||
lembark | Anything in /opt/rakudo was build via "cd rakudo; ./Congure --preifx=/opt/rakudo ... " & make all test install" | 19:31 | |
19:32
stoned75 joined
|
|||
lembark | See: pastebin.com/X8XaZy01 | 19:32 | |
19:33
aindilis joined
19:34
Black_Ribbon joined
|
|||
lembark | Nightly smoke test snags head of master build builds with prefix of /scratch/RAKU/smoke-raku.d; code in opt is highest-numbered tag with prefix = /opt/rakudo; | 19:34 | |
Q: How do I reset the /root/* paths (e.g. via config)? | |||
19:35
raschipi left
|
|||
lembark | There should be nothing referencing anything root or su-ish in anything I'm doing in /opt. | 19:35 | |
A: There is an nqp | 19:36 | ||
$ find /opt/rakudo/ -name 'nqp' -type f/opt/rakudo/2020.02.1/bin/nqp | |||
So much for newlines "/opt/rakudo/2020.02.1/bin/nqp" is the path. | 19:37 | ||
19:38
xinming_ left,
xinming_ joined
|
|||
lembark | Fresh clone of rakudo, fails with non-existing /root/project/rakudo-2020.02.1/install/bin/../share/nqp | 19:50 | |
pastebin.com/xsK1CEsj | |||
19:50
West85 joined,
pilne joined
19:51
kensanata left,
abraxxa left
19:52
abraxxa joined
|
|||
patrickb | lembark: Can you grep all relevant folders for `/root/project/rakudo-2020.02.1/install` to find out where that path comes from? | 19:52 | |
19:52
Metaperl6 joined
|
|||
lembark | There is no directory on the system /root/project. | 19:53 | |
Files containing /root/project are: | 19:54 | ||
./nqp/Makefile | |||
################################################################################ Included from /mnt/scratch/RAKU/rakudo/nqp/tools/templates/moar/Makefile.in ################################################################################M_NQP = nqpM_NQP_M = nqp-mM_BUILD_RUNNER = nqp-mM_BUILD_RUNNER_BIN = | 19:55 | ||
$(BASE_DIR)/$(M_BUILD_RUNNER)M_INST_NQP = inst-nqpM_INST_NQP_M = inst-nqp-mNQP_LIB_DIR_MOAR = $(NQP_LIB_DIR)# It's ok to shell quote this one as it only used in a command lineM_MOAR_INC_PATHS = \ \ -I'/root/project/rakudo-2020.02.1/install/include' \ | |||
-I'/root/project/rakudo-2020.02.1/install/include/moar' \ -I'/root/project/rakudo-2020.02.1/install/include/libatomic_ops' \ -I'/root/project/rakudo-2020.02.1/install/include/dyncall' \ -I'/root/project/rakudo-2020.02.1/install/include/moar' \ -I'/root/project/rakudo-2020.02.1/install/include/sha1' \ | |||
-I'/root/project/rakudo-2020.02.1/install/include/tinymt' \ -I'/root/project/rakudo-2020.02.1/install/include/libtommath' \ -I'/root/project/rakudo-2020.02.1/install/include/libuv'M_STAGE1_GEN_CAT = $(M_GEN_CAT) stage1M_STAGE2_GEN_CAT = $(M_GEN_CAT) stage2 | |||
patrickb | lembark: I just grepped though the repo on my side. That path is not part of the repo itself. So it has to have slipped in there somehow on your side. | ||
lembark | pastebin.com/aUhVXKMF | 19:56 | |
19:56
xinming_ left
|
|||
lembark | (ins)lembark@dizzy rakudo $ set | grep '/root'(ins)lembark@dizzy rakudo $ | 19:56 | |
19:56
chloekek left
|
|||
lembark | i.e., there is nothing with the string '/root' in my environment. | 19:56 | |
Q: Where is the nqp/Makefile generated? | |||
patrickb | nqp/Configure.pl + files in nqp/tools/templates | 19:57 | |
19:57
xinming_ joined
19:58
finsternis joined
19:59
Metaperl6 left
|
|||
patrickb | nqp/tools/templates/moar/Makefile.in as @moar::prefix@ in that spot | 19:59 | |
lembark: What's the contents of the config.status file in the nqp folder? | 20:00 | ||
20:01
maggotbrain joined
|
|||
lembark | pastebin.com/QQUpdQHu | 20:02 | |
20:03
stoned75 left
|
|||
lembark | Could turn off '--silent-build' if that helps. | 20:04 | |
20:05
cognominal joined
20:08
stoned75 joined
|
|||
lembark | Q: Is any of that remarkable? | 20:09 | |
20:09
cognomin_ left
|
|||
patrickb | lembark: Can you do a global grep for that path? It has to be in some file on your system. Knowing where it is might help in finding out how it ends up in the build. | 20:09 | |
lembark: Do I assume correctly that the build continues as usual and ends up working? If yes, then this is a minor inconvenience. It's still now how it should be though. | 20:10 | ||
lembark | Build fails with lack of "moar.h". | ||
I'll start by grep-ing home & /scratch/RAKU. | 20:11 | ||
Throw in /etc. | |||
jdv79 | what would be a good way to keep a "hyper map" fed? | 20:15 | |
lembark | pastebin.com/EshFQUgt | ||
jdv79 | it appears one can't just keep appending to the original array | 20:16 | |
lembark | jdv79: lazy gather. | ||
20:16
abraxxa left
|
|||
lembark | pastebin.com/e464x0KQ | 20:18 | |
patrickb | lembark: None of those files particularly stand out. That's a really interesting problem you have there... | ||
lembark | jdv79: @array is assigned from the lazy result of a gather; takes are run as needed to populate the array as it's fed through .map. | ||
20:19
abraxxa joined
|
|||
lembark | i.e., my @stuff = lazy gather loop { ... }; | 20:19 | |
@stuff.race( blah blah ).map( { frobnicate $_ } ); | 20:20 | ||
jdv79 | except that loop is the thing finding more values | ||
that wont work | |||
lembark | loop has a take in it. | ||
See pastebin. | |||
I'm running a loop over 129GiB of input that way right now. | 20:21 | ||
pastebin.com/e464x0KQ | |||
is a working example of a lazy gather calling a sub to extract some content that is fed into the .map on demand. | |||
jdv79 | i get the idea. thanks. | 20:23 | |
lembark | it shows up in a .precomp file. That might be a better place to start than grep-ing 1TiB of .iso archives in my photographic backups... | ||
Q: Any idea what this is used for? | 20:24 | ||
$ clear; find /home/lembark/.zef/store/Backtrace-AsHTML-0.0.1.tar.gz/Backtrace-AsHTML-0.0.1/lib/home/lembark/.zef/store/Backtrace-AsHTML-0.0.1.tar.gz/Backtrace-AsHTML-0.0.1/lib/.precomp/88C68DB709242DDB6220EB476EA54C7A7A1F89AB/B3/B32F3D4673775772D550FA05CBCB6070D6120723 | |||
"Backtrace-AsHTML" has the string "/root/project" in it, which may just have come from the nqp install. | 20:25 | ||
20:32
rindolf left
|
|||
lembark | Output from searching all of raku-land, my home for '/root/project': pastebin.com/0mxNQGTj | 20:33 | |
patrickb | lembark: Did you empty the /opt/rakudo/2020.02.1 folder prior to starting the build? | 20:38 | |
lembark | No. Possibly a holdover from Perl5, but I didn't want to blow off all the known modules. | ||
Easy enough to do it however; takes a minute to stop the raku code I have running. | 20:39 | ||
20:39
stoned75 left,
stoned75 joined
|
|||
lembark | Building now... | 20:41 | |
Removing the existing /opt/rakudo directory seemed to work. | 20:43 | ||
20:46
stoned75 left,
natrys left
20:48
stoned75 joined,
aborazmeh left
|
|||
lembark | At least the process is going a lot further. | 20:49 | |
Q: If I do a git checkout master or git checkout $some_tag + git clean -fdx + Configure --prefix=blah && make should I expect that rakudo + moar + nqp are fully rebuilt? | 20:51 | ||
This matters because I use a single cloned repository for my nightly smoke test and also for installing into /opt/rakudo (i.e., local production copy). | 20:52 | ||
It may be that I need separate locations to perform a full checkout each time. | |||
make -wk is up to running rakudo tests now. | |||
I don't find the string "/root/project" anywhere in rakudo. | 20:53 | ||
patrickb | lembark: If you checkout rakudo and do not specify --gen-nqp and --gen-moar then rakudo will take what it finds in prefix. | ||
It's possible that it even uses the nqp it finds when using --gen-nqp, not sure though. | 20:54 | ||
lembark | fixed="--prefix=$prefix --gen-nqp --gen-moar";back='moar';( args="--backends=$back $fixed"; echo "Config args: '$fixed'"; cd $(dirname $0)/rakudo; git status; | ||
i.e., it's alwyas run with gen-nqp and gen-moar; I've assumed that ./Configure.pl does the Right Thing w/ respect to git submodule update, which may not be correct. | 20:55 | ||
jdv79 | i don't want to run it cause it blocks | ||
but why does | |||
my $c = Channel.new; $c.send($_) for 1,2; $c.list.hyper(:1batch, :1degree).map: {say $_} | |||
not see the second val? | |||
it just hits on the first and blocks forever | 20:56 | ||
sans the hyper() it sees both | |||
20:58
raschipi joined
|
|||
lizmat | what if you increase the number of degrees ? | 21:00 | |
lembark | Hello Liz; hope you are wll. | ||
jdv79 | nah | ||
i guess i could build that-ish with gather/take/array/sleep/etc but it'll be messy | 21:01 | ||
lembark | The list may need to be eager in order to process it properly via map. | ||
that or explicitly lazy. | |||
jdv79 | the list out of a channel is a seq so its lazy | ||
afaik | |||
lembark | Hack a lazy loop with take on the channel. | 21:02 | |
assign the lazy loop to an array. | |||
Note that the array begins life empty in any case. | |||
jdv79 | yeah i guess i could hack around it but i think that example above should work | ||
lembark | At that point iterating the array will keep hitting the lazy loop to extract values. | ||
jdv79 | according to my probably shifty understanding | 21:03 | |
lembark | Look back at the pastebin. | ||
jdv79 | i know what you're saying | ||
jnthn | m: my $c = Channel.new; $c.send($_) for 1,2,3; $c.close; $c.list.hyper(:1batch, :1degree).map: {say $_} | ||
camelia | 1 2 3 |
||
lembark | Your sub replaces read-cunk. | ||
jdv79 | ah, it needs some prodding | ||
weird | |||
thanks | |||
jnthn | iirc, the end of the hyper chain controls the overall flow | 21:04 | |
lembark | The array works because the array really is just an iterative on-demand factory for return values. | ||
lizmat | lembark: I'm fine, thank you | ||
jnthn | So when we take a batch, that is also the point when we try to produce a new one | ||
lizmat | lembark: looks like you're doing fine as well :-) | ||
lembark | Surviving. | ||
jnthn | So it'll be waiting for some more values to batch; with the .close it'll know there's no more coming. | 21:05 | |
jdv79 | cool. seems to work better now. | 21:10 | |
now just need to know when to call close() - think i can figure it. thanks! | |||
guifa2 | arg. I hate writing implementation specific code | 21:11 | |
21:11
rbt left
|
|||
lembark | Close or you have to make the process of accepting values lazy so that the next value is looked up on demand. | 21:11 | |
guifa2 | but vrurg++ for finding the Backtrace difference :-) | ||
21:11
rbt joined
|
|||
jdv79 | its something of a special purpose "api aggregator" so values come in as part of current results... | 21:11 | |
its a bit roundabout but think i almost got it = | 21:12 | ||
rather, new array items may be birthed from processing previous array items | |||
21:13
mowcat left
|
|||
MasterDuke | jnthn: any particular reason $.degree is an `Int` here instead of an `int` (like $.batch)? github.com/rakudo/rakudo/commit/e7...4bad0583R7 | 21:13 | |
21:14
CandiceSwan joined
|
|||
El_Che | the great raku errors made me cranky about python white space in the stacktraces: twitter.com/nxadm/status/125379414...85091?s=20 | 21:16 | |
21:17
CandiceSwan left
21:18
patrickb left
|
|||
jnthn | MasterDuke: Can't think of one. I wonder if the distinction was even deliberate, or just a missed hit of the shift key... :) | 21:19 | |
21:19
Altai-man_ joined
|
|||
lembark | jdv79: think of this this way, the array assigned a lazy list is really nothing but a single factory entry. each time you access the 'next' element from the array the factory (e.g., lazy loop) is called until there are no values returned. | 21:20 | |
Q: Anyone know of a decent way to trace a memory leak in rakudo or moar? | 21:21 | ||
MasterDuke | jnthn: yeah, seemed like an accident | ||
lembark | Running a long-ish (120GiB) list through lazy list + map; rssmax keeps growing even though everything I can see gets cleaned up. | ||
MasterDuke | lembark: i've used heaptrack, but that works at the moarvm level. or you can try the heap snapshot profiler | ||
21:22
sena_kun left
|
|||
MasterDuke | lembark: btw, if you use heaptrack, i recommend adding `--full_cleanup` to your rakudo command line | 21:23 | |
lembark | Q: what does '--full-cleanup' do (or try to)? | 21:26 | |
MasterDuke | it free memory when moar shuts down instead of just letting the os do it. heaptrack sees it as leaks | 21:27 | |
raschipi | El_Che: Python errors really are annoying, I also had to deal with them today. A full stacktrace to tell me there was a missing command line switch, took way too much time to parse it. | 21:29 | |
lembark | Sanity check: | ||
@foobar = lazy gather loop { ... take $about_1_mib_of_text }; | 21:31 | ||
El_Che | raschipi: exactly | ||
lembark | @foobar.race( ... ).map( { process $_; $_ = Nil } ); | ||
Should not leave we with any contents in @foobar. | 21:32 | ||
I think? | |||
Problem here is that react is way too slow; map with race is several orders faster; but I keep watching the process grow until it starts swapping on a box with 128GiB of core. | 21:33 | ||
21:37
Xliff joined
|
|||
Geth | ecosystem: 5725a6c88a | thundergnat++ (committed using GitHub Web editor) | META.list Add String-Rotate to the ecosystem It's rotate; but for strings instead of arrays. See github.com/thundergnat/String-Rotate |
21:43 | |
guifa2 | So LTM.... | ||
is it supposed to be longest by string length, or largest number of tokens matched (so that <longtoken> ** 2 would lose out to <shorttoken> ** 4) ? | 21:45 | ||
Geth | ecosystem: 46654fb508 | thundergnat++ (committed using GitHub Web editor) | META.list Add Base::Any to the ecosystem Convert numbers to and from nearly any integer base See github.com/thundergnat/Base-Any |
||
21:49
cpan-raku left
21:51
cpan-raku joined,
cpan-raku left,
cpan-raku joined
21:55
abraxxa left
22:10
rbt left
22:11
rbt joined
|
|||
guifa2 fist pumps the air | 22:25 | ||
use Binex; my $bx = bx '[b...._...1 b...._...0]+ x00'; my $blob = blob8.new(1,4,9,6,3,8,0,3,2); $blob ~~ $bx; say $/.Blob | |||
# Blob[uint8]:0x<01 04 09 06 03 08 00> | |||
22:27
West85 left
|
|||
jnthn | lembark: my @foo = ... is assigning every value into @foo ('cus storage is what an array is for); the lazy only means it is populated on demand, but the data is retained. | 22:35 | |
lembark: If you want to build a lazy pipeline, stick it into a sigilless var, e.g. `my \foo = ...` | 22:36 | ||
Xliff | jnthn: Could you please look into github.com/MoarVM/MoarVM/issues/1275 and share your thoughts when you have the time | 22:39 | |
?> | |||
lembark | Q: How would the statement [email@hidden.address] ... ).map( { frobnicate $_; $_ = Nil } );" ever update @foo? | 22:49 | |
@foo used to iterate the contents of $_, but after that the map output is not assigned to anything. | 22:50 | ||
In any case [badly worded question], $_ = Nil should keep contents of @foo empty. | |||
Q: Why would @foo be growing if the contents of $_ are Nil-ified at use? | 22:51 | ||
22:59
xinming_ left
|
|||
jnthn | An array full of Nils still takes up space for element | 22:59 | |
*per element | |||
23:00
xinming_ joined
|
|||
lembark | Sanity check: Nill != (). Q: Is there any equivalent to 'pushing nothing' a'la map { () } in Perl5? | 23:02 | |
guifa2 | yes. Empty | 23:03 | |
iirc | |||
jnthn | Yes, but you're not actually pushing to the array | ||
guifa2 | m: my @a = 1,2,3; @a.push: Empty; say @a; | 23:04 | |
camelia | [1 2 3] | ||
jnthn | The problem is that you have an array in the first place | ||
lembark | The non-sigil is effectively a constant? | ||
jnthn | array = storage; if you don't want stuff to hang around in memory, don't funnel it via an array | ||
lembark: Yes | |||
Well, not quite a constant | |||
It's just an alias | |||
lembark | Reference to anonymous? | 23:05 | |
jnthn | It doesn't imply any kind of context | ||
lembark | the anon factory returned by lazy. | ||
jnthn | One of the commonly understood things is that `my @foo = <stuff>` is just making @foo reference <stuff>, but it's not. It's allocating an array and then iterating stuff in order to populate it. `lazy` only defers that population until the first time an element is accessed. | 23:06 | |
Yes; gather returns a Seq, which is something that can be iterated; my \foo = lazy gather { ... } just stores the iterable thing. | |||
lembark | Thank you. | 23:08 | |
Which leaves me with syntax \foo = lazy ... ; foo.race(...).map: { ... } ; I think? | 23:09 | ||
Or is it \foo.race...? | |||
jnthn | No, you only put the \ when declaring | 23:11 | |
It's because `my foo` would think foo is a typename | |||
23:13
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
lembark | chunked-input .race( degree => THREADS, batch => 1 ) .map( { sink process-chunk $_; Empty } ) ; | 23:17 | |
with \chunked-input = lazy ... ; | |||
jnthn | You don't need the Empty really | 23:18 | |
lembark | Grasping at straws with the growth. | ||
Finally got rakudo re-installed and modules rebuilt... using the \chunked-input = lazy part didn't change the rate of memory growth. | 23:19 | ||
At least not appreciably -- apparently storing Nil's doesn't use much space. | 23:20 | ||
23:20
sena_kun joined
|
|||
lembark | Does improve the speed, however, thank you. | 23:20 | |
23:21
Altai-man_ left
|
|||
guifa2 | weekly: github.com/alabamenhu/BinexObjex | 23:22 | |
notable6 | guifa2, Noted! (weekly) | ||
guifa2 | Still needs captures to really be useful, but hey, gotta start somewhere | ||
lembark | Neat idea. | 23:32 | |
23:33
molaf joined
23:48
Xliff left
23:53
xinming_ left
23:54
xinming_ joined
|