🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm Set by lizmat on 8 June 2022. |
|||
timo | m: my @foo; @foo[2 ** 45 - 2 ** 16] = 1; | 00:12 | |
camelia | MoarVM panic: Memory allocation failed; could not allocate 281474976186376 bytes | ||
timo | m: my @foo; @foo[2 ** 45 - 2 ** 19] = 1; | 00:13 | |
camelia | MoarVM panic: Memory allocation failed; could not allocate 281474972516360 bytes | ||
timo | it looks like there's some (very large) sizes that you can ask for that will cause an abort inside mimalloc (can't reproduce it here on camelia though) | 00:16 | |
0xfffffffe0000 is the largest that mimalloc will allow in a check that's earlier than the abort i've seen | 00:18 | ||
m: say (2 ** 45 - 2 ** 19).base(16); say (2 ** 45 - 2 ** 16).base(16) | |||
camelia | 1FFFFFF80000 1FFFFFFF0000 |
||
timo | m: say 281474972516360.base(16) | 00:19 | |
camelia | FFFFFFC00008 | ||
timo | there's also a check in set_size_internal that says we can only allocate up to 1ULL << (CHAR_BIT * sizeof(size_t) - elem_addr_size) elements, but there's a tighter limit than the 8 or 4 bytes of pointers, since even on a 64bit architecture, we can only use ... i think 48 bits? at the moment | 00:22 | |
04:15
guifa left
04:50
guifa joined
07:41
finanalyst joined
08:01
sena_kun joined
|
|||
finanalyst | .tell suna_kun I would appreciate some help. Please see new-raku.finanalyst.org/language/REPL and try edit button. Looking to make a PR in github | 08:23 | |
tellable6 | finanalyst, I haven't seen suna_kun around, did you mean sena_kun? | ||
sena_kun | finanalyst, hi! How exactly can I help? | 08:37 | |
I see that the styles on the website were broken, but to fix that one needs to revert the changes | 08:38 | ||
Geth | roast: 69970ea7d7 | (Elizabeth Mattijsen)++ | S26-documentation/block-leading-user-format.t Fudge test passing in RakuAST |
08:39 | |
lizmat | spectest clean again | 08:40 | |
finanalyst | sena_kun: I have been asking around how to integrate with github. It was suggested I contact you. | 08:41 | |
sena_kun | the TOC styles got a lot worse: 1)nobody uses a separate button like "Contents" to operate the sidebar. Well, except the docs website now; 2)opening the sidebar moves the main column content, that's a bug/mistake; 3)no separation of the sidebar (a mistake), but instead the separate now have the common background, creating a confusing button-like feeling | ||
somebody also removed the logic of sidebar widening | 08:42 | ||
finanalyst | Styling is all my fault and I am happy to discuss. | 08:43 | |
BUt it is not styling that is currently a breaker | |||
It is integration with github | |||
sena_kun | what's the issue? | 08:44 | |
finanalyst | Styling is now VERY easily sorted, via templates and choosing the CSS framework | ||
Have you tried the edit button? top right of page | |||
sena_kun | I think github has a preview mode for markdown too | 08:45 | |
Yes, I am looking at the form right now | |||
finanalyst | The editor is Ace, a user can make changes. The changes are in browser. How to reaise a PR with those changes | ||
Ideally, the user should be authenticated with github, for giving credit to changes to the documents | 08:46 | ||
I have been reading all the documentation, but I have not yet sorted out how to do this | |||
sena_kun | doing this would be a lot more complex than just providing an edit url to github file | ||
finanalyst | indeed | 08:47 | |
But, an edit url does not allow for seeing the rendered HTML in real time of changes | |||
Or to see when a change breaks the RakuDoc source | 08:48 | ||
It is because of the complexity that I am asking for help. If it were easy, it would take considerably more time | |||
sena_kun | as I understand it, you first need to get the user's github auth token, via providing a login form for the docs website, to obtain the user and its auth token. Then you use a gh api directly or via octokit to create a branch and the commit nn their behalf (this will also require asking the user to give the docs website write access to their repositories, which is super scary), you construct the URL of a new PR and redirect the | 08:50 | |
user there in a new tab | |||
this is quite complex and involves doing some super scary and weird things (like the docs website asking you to log into github and give it write rights...). Personally, I do not believe a live preview is a feature that justifies the efforts | 08:51 | ||
finanalyst | that seems to be the pattern I have read. Bit it seems to involve setting up a third - user invisible - server to match code and token | ||
sena_kun | the docs website itself could've done that if it had a dynamic routing too | 08:52 | |
but that's not the matter | |||
are you very keen on implementing this? | |||
finanalyst | from what I can see is that much finer grain write access is possible, so only writing to the repo to create a PR can be granted to the app | ||
sena_kun | yes, that's true | 08:53 | |
the problem is, you still grant write access from your account to somebody | |||
to a documentation website (!) | |||
I never saw that | |||
finanalyst | I am keen on doing this because it will encourage a wider community help in correcting eg typos | ||
Also after speaking to [Coke] and lizmat , the ease of minor changes seems something to persue | 08:54 | ||
sena_kun | Are you sure this is a significant thing that prevents people from contributing? | ||
But even so, a requirement to log into the docs github with your account would scare off everyone a lot more than absence of live preview | 08:55 | ||
lizmat | seeing this conversation, and sleeping a bit over it | ||
I wonder whether it wouldn't make more sense to just ask people if / how they would like to be mentioned in the suggested change | 08:56 | ||
keep that in a cookie | |||
finanalyst | I have spoken to Bruce (util) who does not have commit access to Raku/doc. It is a big hassle to clone the who Raku/doc repo, make a minor change, raise a PR, just to add one letter | ||
lizmat | and have each suggestion just be put into a queue for someone else to process and commit to the repo | ||
sena_kun | maybe a bot can be provided then? | ||
lizmat | that someone else having write access to the doc repo | 08:57 | |
sena_kun | yes, that's a better way | ||
finanalyst | Since the online editor generates a patch, maybe we could just store the patches, then have someone get the patches | 08:58 | |
lizmat | finanalyst: yeah, that's what I was saying :) | ||
finanalyst | That would be safer, and much easier to implement | ||
lizmat | and less alarming to people wanting to contribute | ||
and also would remove the need of the contributor to have a github account | |||
finanalyst | indeed | 08:59 | |
very useful discussion. Thanks. | 09:00 | ||
sena_kun: I'm happy to discuss the other styling issues you have | 09:01 | ||
did you try the Raku REPL baar? | |||
sena_kun | finanalyst, I don't have that much time right now, alas, but I think most of what I see on the live website now would be resolved by a revert | ||
finanalyst | not a revert at all. this is a complete refactoring of the software | 09:02 | |
let me know when you have time | |||
sena_kun | why? There was a replacement of a flag-based sidebar control with a "Contents" button | ||
Just revert that change? | |||
finanalyst | its not a revert | 09:03 | |
sena_kun | I don't see what has it to do with software | ||
finanalyst | its built from scratch | ||
sena_kun | if the software cannot render the sidebar how it was, it has to be changed | ||
finanalyst | or do you mean the Icon? That can be changed | ||
sena_kun | yup | ||
plus the styles of the sidebar, can we get them back? | |||
the styles of the search bar widening are not working as they were | 09:04 | ||
finanalyst | Ino they do not work as before, because it was broken | ||
sena_kun | just make it as it was and it'll be OK 👍 | ||
in what way? | 09:05 | ||
finanalyst | the problem comes when resizing the screen. | ||
sena_kun | you mean the sidebar covering the main column content? | ||
finanalyst | Looking at the sidebar with Mac/Safari or using a tablet, and the TOC and main content overlap. | ||
You can see this on the current docs.raku.org site | 09:06 | ||
sena_kun | that's how it is everywhere. that's why usually the sidebar is hidden | ||
finanalyst | the new-raku site is built differently | ||
sena_kun | it's the default UI solution in the industry | ||
finanalyst | did you try the REPL bar? | ||
I would like for the TOC to have collapsible hierarchy, which open / close when clicking | 09:08 | ||
Also, you should look at the new-raku site in a mobile - its way better | |||
sena_kun | oh, I am scared to look there | 09:09 | |
finanalyst | The current site uses Bulma v0.9, the new-raku site uses Bulma v1, and the new site uses RakuDoc v2, not v1 | 09:10 | |
thank you for the consultation over github integration. I'm going to implement the new strategy | 09:11 | ||
sena_kun | anyway, my 5c is that UI guidelines of how a website should look in 20s is different compared to 10s, 00s and 90s. not following the current modern UI standards, IMO, does a lot more harm to getting more people who see outdated stuff, than minor features like a convenient preview. It may not look like what you are used to, but this doesn't make modern UI "broken" or "less convenient" (well, for you it may be, for new generations | 09:13 | |
of users it's the opposite). I believe Raku wants new generations of users to keep living, even as a niche language, so I think adapting everything for them is worth the effort | |||
hope I could help even a little bit, good luck! | |||
finanalyst | sena_kun: adapting for a wider diverse set of users is my ambition. Did you see how the UI is multilingual? | 09:24 | |
currently it has: English, Japanese, Ukrainian, Welsh, French and Dutch | 09:27 | ||
lizmat | m: say Q|my role R[::T] { }; my class C does R[Int] { }|.AST # nine: feels that should be fixable? | 11:08 | |
camelia | ===SORRY!=== Error while compiling EVAL_0 Could not instantiate role 'R'; exception details: Unknown compilation input 'qast' in any IMPL-COMPILE-DYNAMICALLY at src/Raku/ast/code.rakumod line 410 in any at src/Raku/ast/code… |
||
lizmat | golfed from t/spec/S02-types/generics.t | 11:09 | |
heh... appears to work with RAKUDO_RAKUAST=1 raku -e | 11:12 | ||
nine | That Unknown compilation input 'qast' hits me every time I try to use .AST in camelia | 11:14 | |
lizmat | aha, ok | ||
lizmat makes mental note | 11:15 | ||
m: role R[::T] { has @.a is T }; dd R[Int].new(:42a).a # something wrong in legacy grammar as well :-) | 11:19 | ||
camelia | Cannot modify an immutable Int (0) in block <unit> at <tmp> line 1 |
||
lizmat | aka, we've created an "a" attribute that is an Int, yet it has the @ sigil | 11:20 | |
actually, this goes deeper: | |||
m: my @a is Int = 1,2,3 | |||
camelia | Cannot modify an immutable Int (0) in block <unit> at <tmp> line 1 |
||
lizmat | either we need to make "my @a is Int" the same as "my Int @a", or we need to throw at compile time with a typecheck failure that Int isn't Positional | 11:21 | |
nine: do you agree ? | 11:22 | ||
nine | Sounds like we should prohibit. AFAIK the other way to write `my Int @a` is my @a of Int | 11:25 | |
This is definitely an area that needs way less magic and options instead of more | 11:26 | ||
lizmat | yeah, forgot the "of" option... so throwing feels appropriate | 11:27 | |
Geth | rakudo/bootstrap-rakuast: cdd9bba7cc | (Stefan Seifert)++ | 5 files WIP |
11:31 | |
rakudo/main: 4fad4276ef | (Elizabeth Mattijsen)++ | src/core.c/Any.rakumod RakuAST: add bare dd CHECK functionality As a core developer, I'm interested in the exact RakuAST tree that is being built for a given piece of code. Until now, I usually resorted to: raku -e 'say Q|the code|.AST' ... (20 more lines) |
12:16 | ||
lizmat | code > commit message :-) | ||
actually: commit message > code :) | 12:17 | ||
Geth | nqp/main: 4d4ac9fce3 | (Daniel Green)++ | 2 files Use correct typed accessors where able This prevents them from getting HLLized unnecessarily. |
||
rakudo/main: de421f7969 | (Daniel Green)++ | src/Perl6/bootstrap.c/BOOTSTRAP.nqp Use correct typed accessors where able This prevents them from getting HLLized unnecessarily. |
12:19 | ||
lizmat | ooohhh! | ||
going afk now, will bump NQP if not bumped already by then | |||
12:38
finanalyst left
|
|||
Geth | rakudo/main: 5bd76f547c | (Daniel Green)++ | tools/templates/NQP_REVISION Bump NQP for micro-optimizations |
12:57 | |
rakudo/bootstrap-rakuast: 5 commits pushed by (Stefan Seifert)++
|
13:15 | ||
rakudo/bootstrap-rakuast: 21 commits pushed by (Stefan Seifert)++ review: github.com/rakudo/rakudo/compare/2...41b159dcd7 |
13:20 | ||
nine | Bootstrap is now also up to date and working | 13:21 | |
14:02
finanalyst joined
16:39
sena_kun left
18:05
finanalyst left
|
|||
[Coke] | next | 18:57 | |
releasable6: next | |||
releasable6 | [Coke], Next release in ≈13 days and ≈0 hours. 1 blocker. 188 out of 189 commits logged | ||
[Coke], Details: gist.github.com/1edfea280253ed483b...d5e4bb7b22 | |||
20:31
finanalyst joined
21:51
sena_kun joined
21:57
finanalyst left
22:22
sena_kun left
|