00:00:49 | * | sealmove joined #nim |
00:25:36 | * | ptdel joined #nim |
00:36:23 | * | zahary quit (Quit: Leaving.) |
00:38:42 | * | sealmove quit (Quit: WeeChat 2.7.1) |
00:42:14 | * | fanta1 joined #nim |
00:53:58 | dadada | can I insert arbitrary code that is stored in a string inside the quote do portion of a macro? |
00:55:14 | dadada | with `someStr` the string gets inserted but there are quotes being put around it |
00:55:50 | dadada | basically I want the string content to be parsed like regular code |
01:02:49 | FromDiscord | <clyybber> dadada: parseStmt, parseExpr |
01:03:05 | FromDiscord | <clyybber> I think you used it before even :D |
01:09:09 | dadada | clyybber: yes, and yes :-) I regress sometimes |
01:15:34 | * | couven92 quit (Read error: Connection reset by peer) |
01:16:11 | * | couven92 joined #nim |
01:17:52 | dadada | clyybber: can you have a look at some code quickly? |
01:17:56 | * | Hideki_ joined #nim |
01:19:42 | FromDiscord | <Elegant Beef> nah he's on a no code diet |
01:19:45 | FromDiscord | <Elegant Beef> Cant digest any |
01:20:43 | dadada | trying something that might seem a bit crazy and I'm getting (19, 11) Error: request to generate code for .compileTime proc: whereImpl here it is: https://play.nim-lang.org/#ix=2dvf |
01:21:35 | dadada | am experimenting here, the whereImpl proc is nowhere near finished and probably should be changed into an iterator |
01:22:34 | dadada | the macro probably should write the whereImpl proc/iterator, too |
01:22:36 | * | Hideki_ quit (Ping timeout: 256 seconds) |
01:26:40 | FromDiscord | <Varriount> dadada: Procedures that have NimNode parameters are implicitly marked with the compileTime pragma |
01:27:31 | dadada | obvious question: can it be disabledร |
01:27:33 | dadada | ? |
01:27:45 | dadada | and thank you Varriount! |
01:27:51 | * | Hideki_ joined #nim |
01:28:03 | FromDiscord | <Varriount> dadada: What would be the parameter type then? |
01:28:22 | FromDiscord | <Varriount> NimNode is really only useful at compile time |
01:29:04 | * | dwdv quit (Ping timeout: 255 seconds) |
01:29:04 | * | couven92 quit (Read error: Connection reset by peer) |
01:29:32 | * | couven92 joined #nim |
01:31:15 | * | fanta1 quit (Quit: fanta1) |
01:31:56 | FromDiscord | <clyybber> dadada: Varriount solved it right? |
01:32:04 | * | couven92 quit (Read error: Connection reset by peer) |
01:32:09 | FromDiscord | <clyybber> Then I'm off to bed :D |
01:32:13 | FromDiscord | <clyybber> gn8 |
01:32:31 | * | couven92 joined #nim |
01:32:38 | dadada | ty clyybber, and good night |
01:32:52 | dadada | yes he did |
01:42:02 | dadada | still very basic, but this version works: https://play.nim-lang.org/#ix=2dvi |
01:42:03 | dadada | ^^ |
01:42:52 | dadada | not wanting to reinvent the wheel here, is there a library or a builtin for nim that can do the same? |
01:43:48 | FromGitter | <zetashift> isn't that like `filter`? |
01:46:33 | dadada | yes, very similar to filterIt indeed |
01:48:42 | FromGitter | <gogolxdong> Anyone can explain what does this mean? |
01:48:48 | FromGitter | <gogolxdong> (https://files.gitter.im/nim-lang/Nim/dJvH/image.png) |
01:49:19 | FromDiscord | <Elegant Beef> what part? |
01:50:04 | FromGitter | <gogolxdong> this paragragh. Does it mean any application using asynchttpserver isn't production ready? |
01:50:33 | dadada | gogolxdong: it means you can use it for development and shouldn't use it for serious use (production) |
01:50:43 | Tanger | Probably means it's not scalable/effecient enough to run in an environment with real data, yeah? |
01:51:33 | FromGitter | <gogolxdong> Our production is using it, isn't our production a production? |
01:51:39 | FromGitter | <zetashift> https://www.reddit.com/r/nim/comments/8w69es/this_http_server_has_not_been_designed_to_be_used/ |
01:51:57 | FromGitter | <zetashift> the warning being for: I think it's a general warning that it hasn't been hardened against (say) slow loris or other attacks, so putting nginx in front of it for reverse proxying is a good idea. |
01:52:28 | FromGitter | <zetashift> I think the Nim forum is also using asynchttpserver and that's been running great |
01:52:38 | * | couven92 quit (Ping timeout: 256 seconds) |
01:52:49 | * | theelous3 quit (Read error: Connection reset by peer) |
01:52:53 | FromGitter | <gogolxdong> or does it mean using a reverse proxy makes it production ready? |
01:53:14 | * | theelous3 joined #nim |
01:54:32 | FromDiscord | <Elegant Beef> It's a simple warning that states it's not by itself not well tested or suggest to use it by itself |
01:54:34 | FromGitter | <zetashift> No it means it makes it more resilient against attackers |
01:55:04 | * | rockcavera joined #nim |
01:55:14 | FromGitter | <zetashift> You can use it in production and test it out but don't depent on it and have safeguards |
01:55:17 | FromGitter | <zetashift> depend* |
01:57:35 | * | Hideki_ quit (Remote host closed the connection) |
01:57:39 | FromGitter | <gogolxdong> we are using it with nginx, it certainly works well, but someone will hesitate to use it if take it literally, right? |
01:59:22 | dadada | maybe add a line about it being in use for the official nim forum with good results |
02:00:13 | FromGitter | <gogolxdong> or someone stands out and say 'hey, you are using asynchttpserver, your production sucks' |
02:00:32 | Tanger | XD |
02:04:29 | * | sagax joined #nim |
02:04:47 | * | endragor joined #nim |
02:14:25 | FromGitter | <gogolxdong> will they? |
02:14:53 | FromDiscord | <๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ> Is there another Nim-based HTTP server that's more battle hardened that people use currently? |
02:15:11 | FromDiscord | <๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ> (the above convo interests me as I write API-backed services) |
02:15:57 | * | gangstacat quit (Ping timeout: 260 seconds) |
02:17:24 | * | gangstacat joined #nim |
02:21:04 | * | rockcavera quit (Remote host closed the connection) |
02:23:13 | dadada | so my implementation of where is indeed basically the same as filterIt from sequtils , but I just benchmarked both of them and my implementation seems to be consistently twice as fast |
02:23:35 | dadada | which seems unlikely considering that I'm a total nim noob compared to whoever has written filterIt |
02:25:11 | dadada | where takes 30 seconds for 10000000 iterations on my PC, while filterIt takes 67 seconds |
02:26:01 | dadada | admittedly my testing might have errors in its methodology, but still |
02:26:28 | FromDiscord | <Rika> @๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ jester? i dont even know if that uses another http server |
02:26:46 | FromDiscord | <Rika> afaik it uses httpbeast |
02:26:56 | FromDiscord | <Rika> https://nimble.directory/pkg/httpbeast mhm different server |
02:27:18 | FromDiscord | <Rika> no windows support though |
02:27:39 | FromDiscord | <Rika> doesnt have any warning on production use, but still |
02:29:37 | dadada | my impl could also be using more memory or something like that |
02:31:57 | FromGitter | <zetashift> re: webservers not really asynchttpserver is nice imho, there is also this: https://github.com/planety/Prologue |
02:33:23 | FromDiscord | <flywind> It is not ready for use.It use asynchttpserver in windows and switch to httpbeast in linux. |
02:34:14 | disruptek | the problem with asynchttpserver is that any client exception crashes the whole server. |
02:35:05 | disruptek | unless you write your own server loop from scratch, i mean. |
02:35:33 | disruptek | ~stream |
02:35:34 | disbot | stream: 11https://twitch.tv/disruptek and mumble://uberalles.mumbl.io/ -- disruptek |
02:35:46 | disruptek | i'm streaming incremental compilation hackery. |
02:42:28 | dadada | disruptek: yes, I want to see incremental compilation in nim! go go go |
02:42:41 | disruptek | well, it already works. |
02:43:38 | dadada | this time your stream is fluent here, maybe you can talk a little bit about the state of ic |
02:44:11 | disruptek | i can, but it's quite a bit easier for me to tell who is watching when they chat on the stream itself. |
02:44:22 | disruptek | it's also maybe a little easier for people that arrive there. |
02:45:39 | dadada | and put some content on youtube, people there need to see that this community is vibrant |
02:46:07 | dadada | your desktop looks great |
02:46:29 | dadada | can't hear your voice, is that intentional? |
02:46:39 | disruptek | nope. |
02:47:49 | disruptek | okay, that should be fixed. |
02:47:53 | dadada | yes, your voice is there |
02:53:51 | * | chemist69_ joined #nim |
02:56:54 | * | chemist69 quit (Ping timeout: 258 seconds) |
02:58:17 | dadada | thanks disruptek , nice work/explanation |
03:05:55 | * | avsej quit (Read error: Connection reset by peer) |
03:06:03 | * | avsej_ joined #nim |
03:06:03 | * | avsej_ quit (Changing host) |
03:06:03 | * | avsej_ joined #nim |
03:06:26 | * | avsej_ is now known as avsej |
03:15:42 | * | muffindrake quit (Ping timeout: 256 seconds) |
03:15:51 | dadada | man, I love your stream <3 |
03:16:48 | * | Zectbumo quit (Remote host closed the connection) |
03:17:49 | dadada | you're chilled, nice music, and I like what you're doing |
03:17:56 | * | muffindrake joined #nim |
03:17:57 | disruptek | cool. |
03:18:23 | FromGitter | <gogolxdong> Is there a bgm in your stream? |
03:18:49 | FromGitter | <gogolxdong> background music |
03:19:02 | dadada | yes, there is |
03:25:34 | * | dadada quit (Ping timeout: 256 seconds) |
03:27:10 | * | dadada joined #nim |
03:28:41 | dadada | actually the ch in koch is spoken more like "wh" in whore than h in history |
03:29:35 | dadada | that was better! a bit to strong maybe, but much better... |
03:29:41 | dadada | s/to/too |
03:42:34 | * | adalricus joined #nim |
03:43:34 | dadada | jbpratt: I recommend play.nim-lang.org to try nim, maybe it'll get you addicted |
03:44:16 | dadada | but he can read the text on your stream, like you're just also saying :D |
03:47:52 | dadada | jbpratt: read https://totallywearingpants.com/posts/nim-language-highlights/ this is the best intro to Nim I've seen yet |
03:57:19 | * | gmpreussner joined #nim |
04:11:17 | dadada | jbpratt: awesome! |
04:21:08 | dadada | can select different qualities for your stream this time unlike last time |
04:28:25 | * | nsf joined #nim |
04:33:38 | * | jholland__ quit (Quit: Connection closed for inactivity) |
04:39:35 | dadada | could you try it on a smaller codebase? |
04:39:42 | leorize | @๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ Nim don't have any battle hardened http server atm |
04:40:20 | * | Zectbumo joined #nim |
04:40:22 | leorize | you're encouraged to use a well tested server such as nginx as a http reverse proxy to shield those servers from malicious inputs |
04:43:02 | disruptek | zzzzzz |
04:43:29 | dadada | I z |
04:58:46 | * | Jjp137 quit (Ping timeout: 255 seconds) |
04:59:04 | * | Jjp137 joined #nim |
04:59:33 | * | ptdel quit (Remote host closed the connection) |
04:59:34 | * | shadowbane quit (Remote host closed the connection) |
05:00:00 | * | shadowbane joined #nim |
05:00:20 | * | Jesin quit (Quit: Leaving) |
05:03:00 | * | Jesin joined #nim |
05:10:04 | FromGitter | <jason_koch_twitter> > *<dadada>* actually the ch in koch is spoken more like "wh" in whore than h in history |
05:10:05 | FromGitter | <jason_koch_twitter> timely |
05:10:29 | dadada | heh |
05:10:51 | FromGitter | <jason_koch_twitter> in any case |
05:11:03 | FromGitter | <jason_koch_twitter> i'm trying to create a *not* stripped build, but with -O1/O2 |
05:11:20 | FromGitter | <jason_koch_twitter> but whenever i do -d:release, or -opt:size, or any of many combinations, the symbols are stripped |
05:11:36 | FromGitter | <jason_koch_twitter> i searched web and docs and didn't come up with anything (or perhaps missed a combination) |
05:11:41 | FromGitter | <jason_koch_twitter> anyone have any ideas? |
05:11:57 | FromGitter | <jason_koch_twitter> i like the speed of -O2 but i also want to use it with `perf` |
05:12:39 | FromGitter | <jason_koch_twitter> i want fast, and with symbols |
05:14:38 | FromGitter | <jason_koch_twitter> i've currently got: โ --opt:speed --debuginfo --debugger:native --stackTrace:on --lineTrace:on |
05:14:41 | FromGitter | <jason_koch_twitter> i'm not sure what else i can add |
05:17:59 | dadada | jason_koch_twitter: I think some people use -d:danger for faster compilation, I could be mistaken though |
05:19:47 | FromGitter | <jason_koch_twitter> (fwiw with nimble) |
05:19:52 | FromGitter | <jason_koch_twitter> yeah i don't want danger, |
05:19:54 | FromGitter | <jason_koch_twitter> i just want -O2 |
05:20:07 | FromGitter | <jason_koch_twitter> i am ok with -O3 or -O3 |
05:20:16 | FromGitter | <jason_koch_twitter> but i can't work out how to do opt:speed and still get symbols |
05:23:42 | FromGitter | <jason_koch_twitter> OT for my question but i have to say, i really do enjoy nim |
05:24:14 | FromGitter | <jason_koch_twitter> the docs are not quite as good as other langs, but the compiler tells me (mostly) exactly what i need to do to fix it, and everything is pretty quick & simple |
05:25:29 | FromGitter | <jason_koch_twitter> just scrolling back .. |
05:25:44 | FromGitter | <jason_koch_twitter> @dadada the reason i am looking to do this is so i can answer exactly the sorts of things you raised |
05:26:04 | FromGitter | <jason_koch_twitter> `perf top` and `perf record`/report all work much better with symbols |
05:28:52 | FromGitter | <jason_koch_twitter> if anyone is interested i'd be happy to write-up more on using perf to make your nim code faster |
05:29:01 | FromGitter | <jason_koch_twitter> (if it hasn't been done already) |
05:29:17 | dadada | jason_koch_twitter: yeah, would be appreciated! I'm sorry I can't really help you as I'm still learning, too |
05:30:22 | dadada | jason_koch_twitter: this guide https://nim-lang.org/blog/2017/10/02/documenting-profiling-and-debugging-nim-code.html exists |
05:30:43 | dadada | yet, there can never be enough guides/howtos/tutorials/blog posts |
05:33:10 | FromGitter | <jason_koch_twitter> thank you kindly, i'll try a few more combos of options there |
05:35:04 | FromGitter | <jason_koch_twitter> :/ can't get it working |
05:35:08 | FromGitter | <jason_koch_twitter> i'll keep searching |
05:35:17 | FromGitter | <jason_koch_twitter> thanks dadada |
05:35:27 | dadada | nothing to thank :D |
05:35:49 | FromGitter | <jason_koch_twitter> a response =) |
05:35:58 | dadada | ah, well, you're welcome! |
05:36:07 | FromGitter | <jason_koch_twitter> just as a quick poll, do you use nim for server side stuff or frontend/ui? |
05:36:25 | dadada | I plan on using it for frontend/ui first |
05:36:53 | dadada | currently I'm mainly playing with the language concepts without specific use cases in mind |
05:37:15 | FromGitter | <jason_koch_twitter> newish to nim? |
05:38:13 | dadada | yes, I've known about it for a few years, but never actually gotten around to use it |
05:38:46 | FromGitter | <jason_koch_twitter> that's cool |
05:38:56 | dadada | this graph is depressing: https://heise.cloudimg.io/width/1858/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/imgs/18/2/8/5/4/4/1/0/RedMonk_Q1-c027beb8200c5eaa.png |
05:39:13 | FromDiscord | <Rika> Don't think about it too much |
05:39:25 | FromDiscord | <Rika> Some statistics omit too many details |
05:39:41 | dadada | Nim is behind languages (in popularity) that are clearly less evolved |
05:39:51 | FromGitter | <jason_koch_twitter> well |
05:39:51 | shashlick | Merit is not the same as popularity |
05:39:55 | FromGitter | <jason_koch_twitter> maybe true but maybe not |
05:39:56 | FromGitter | <jason_koch_twitter> yeah |
05:40:01 | FromDiscord | <Rika> How old do you think is this graph |
05:40:09 | dadada | shashlick: of course |
05:40:14 | shashlick | But people love being in a larger group |
05:40:16 | FromGitter | <jason_koch_twitter> it's really important in a large org to pick code that your peers can work with |
05:40:26 | FromGitter | <jason_koch_twitter> i love nim, and i have some small components in nim, but i'd be cautious putshing it more widely |
05:40:44 | dadada | I'm pointing this out because with this situation every new member of the community makes a bigger difference |
05:40:51 | FromDiscord | <Rika> How would nim grow if it's not being pushed though |
05:41:05 | dadada | compared to for example to node.js where I assume a new member will make very little difference |
05:41:09 | FromGitter | <jason_koch_twitter> i'm pushing it in areas where i think it's sensible |
05:41:17 | FromDiscord | <Rika> Ah that's okay then |
05:41:25 | FromDiscord | <Rika> Thought you weren't pushing for it at all lol |
05:41:28 | FromGitter | <jason_koch_twitter> just so it makes sense what i mean, i've got this running on 6-figure number of servers |
05:42:25 | FromGitter | <jason_koch_twitter> i have a wide deployment of a module in nim |
05:42:29 | dadada | one of my plans is to write a ui that teaches learning nim, but is also an introduction to programming languages in general, so it could be used in schools |
05:42:38 | FromGitter | <jason_koch_twitter> that's cool |
05:42:53 | FromDiscord | <Rika> I'm thinking of rewriting linenoise in nim |
05:43:09 | FromDiscord | <Rika> Or maybe making a more featured version of it |
05:44:41 | FromDiscord | <Rika> Oof |
05:44:55 | FromDiscord | <Rika> So how is everyone else xd |
05:44:57 | dadada | Rika: good plan |
05:46:00 | FromGitter | <jason_koch_twitter> do it |
05:46:25 | FromDiscord | <Rika> Well I don't know where to start since linenoise is in c |
05:46:35 | FromGitter | <jason_koch_twitter> start with the interface |
05:46:38 | FromGitter | <jason_koch_twitter> write a nim interface |
05:46:42 | FromGitter | <jason_koch_twitter> what does it look like |
05:46:46 | FromGitter | <jason_koch_twitter> then you can fill in the details |
05:46:46 | FromDiscord | <Rika> Though I can understand it, I don't know how it should look like in nim |
05:46:56 | FromDiscord | <Rika> I mean, how it would translate |
05:47:04 | FromGitter | <jason_koch_twitter> put something together and ask for feedback |
05:47:09 | FromDiscord | <Rika> Hmm okay |
05:47:24 | FromDiscord | <Rika> Though I also have too many backlogged projects haha |
05:47:54 | FromGitter | <jason_koch_twitter> i know this feeling :) |
05:48:24 | FromGitter | <jason_koch_twitter> how would i submit extra sections to this doc? |
05:48:50 | FromDiscord | <Rika> It's on github if you mean the nim lang docs |
05:49:02 | FromGitter | <jason_koch_twitter> https://nim-lang.org/blog/2017/10/02/documenting-profiling-and-debugging-nim-code.html |
05:49:03 | FromGitter | <jason_koch_twitter> blog |
05:49:06 | FromDiscord | <Rika> If the blog then I don't think you can |
05:50:59 | FromDiscord | <flywind> https://github.com/nim-lang/website/blob/master/jekyll/_posts/2017-10-02-documenting-profiling-and-debugging-nim-code.adoc |
05:51:17 | FromGitter | <jason_koch_twitter> nice! |
05:51:27 | FromGitter | <jason_koch_twitter> thanks @flywind i'll add some perf stuff |
05:52:16 | FromGitter | <watzon> Ok question, asked on Telegram but I think everyone's asleep. Is it possible to change the name of the compiled `.o` files? Right now I'm getting names like `@mmain.nim.c.o` and it would be nice if I could just have `main.o`. |
05:53:01 | FromGitter | <watzon> I'm playing with kernel development and I need to link everything manually, so being able to do that would clean up my Makefile a bit and make adding new files easier |
05:55:38 | FromGitter | <jason_koch_twitter> @watzon i'm doing a nimble compile with an executable, and i am using `--out:path/to/out= |
05:56:43 | FromGitter | <jason_koch_twitter> https://nim-lang.org/docs/nimc.html <- you can find it here under Advanced Options, `--out` |
05:57:22 | FromGitter | <jason_koch_twitter> (although now i think about it, i am guessing you are talking about intermediate files) |
05:58:30 | FromDiscord | <Elegant Beef> dadada is your ui learning thing going to be node graphs with lower level knowledge capabillities? |
05:58:36 | FromGitter | <watzon> Yeah I have the options `noMain` and `noLinking` on because I have to link the files manually along with a compiled assembly file and a linker script. |
05:59:55 | FromGitter | <watzon> I do have it working, and the kernel loads, I just don't want to have to deal with that naming if I don't absolutely have to. If nothing else I may just write a script to rename them. |
06:10:28 | FromDiscord | <๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ> IRT the graph posted on language popularity, I'd like to point out a few things: A. Nim only very recently hit 1.0, at lot of people (myself included) won't dedicate significant time to a language until the API stabilizes; B. That's just Github, which isn't reflective of all projects everywhere (I'm using Nim for internal stuff that doesn't belong on Github); C. Nim doesn't yet have a major 'backer' like Rust and G |
06:11:06 | * | silvernode joined #nim |
06:20:49 | adalricus | ' |
06:22:59 | silvernode | Good morning |
06:23:47 | silvernode | Sitting out in front of work on the laptop again, working on my text space game in Nim |
06:36:47 | * | narimiran joined #nim |
06:43:00 | silvernode | Any text adventure game engines for Nim? |
06:43:08 | silvernode | or frameworks rather |
06:44:37 | FromGitter | <watzon> Good question |
06:45:22 | FromGitter | <watzon> Well I got my kernel building. Right now it's basically the same thing as Dom's nimkernel project. Took a while to get that thing building after like 4 years of Nim updates. |
06:45:23 | FromGitter | <watzon> https://github.com/watzon/JackOS |
06:46:30 | silvernode | would be neat so see a OS written in nim |
06:46:48 | Zevv | watzon: you're usng arc and useMalloc? |
06:47:50 | FromGitter | <watzon> Right now I haven't done a ton of looking into the kernel code, it's just copied and lightly modified from Dom's original code |
06:48:17 | FromGitter | <watzon> Most of my time over the past hour has been getting it building and getting the Makefile set up |
06:48:22 | Zevv | ~ah right. you might want to look at those, and --os:any |
06:48:23 | disbot | no footnotes for `ah`. ๐ |
06:48:52 | FromGitter | <watzon> `--os:any`? |
06:50:19 | Zevv | that's pulling in as few things aspossible, you basic get no overhead. nim will use malloc/free instead of pulling in its own allocator and will do no gc, when used together with --gc:arc and -d:useMalloc |
06:50:58 | Zevv | https://nim-lang.github.io/Nim/nimc.html#nim-for-embedded-systems |
06:51:12 | FromGitter | <watzon> Ahh I'm using `--gc:none` right no |
06:51:16 | FromGitter | <watzon> I'll try those out |
06:53:07 | FromGitter | <watzon> Hmm I wonder if those instructions are out of date or if I'm missing something |
06:53:42 | FromGitter | <watzon> Seems like os:any isn't valid, and gc expects to be boehm, refc, or none |
06:54:03 | narimiran | you might need nim devel version for that |
06:54:54 | FromGitter | <gogolxdong> Is your kernel going to be micro kernel or monolithic kernel? |
06:55:43 | FromGitter | <watzon> Likely monolithic. I don't want to shake things up too much and make porting software any harder than it has to be. |
06:56:56 | * | silvernode quit (Ping timeout: 256 seconds) |
07:00:15 | dadada | Elegant Beef: the nim/programming learning ui if I ever get around to doing it would start with the basics, like creating strings and if-else ladders, and the user would have to complete each level with answering questions, so it's clear he has mastered that level, in the end after many levels people would learn to overload operators and create macros and so on, they would have to create their own code to |
07:00:21 | dadada | solve problems and show they're improving, spaced repetition could be part of it, there're so many possibilities, I'd aim this at young people that have never done programming before, but there could be a mode for experienced programmers, so that they can learn nim fast |
07:01:26 | dadada | I'd probably make this extensible so that knowledge could be added by volunteers |
07:02:07 | FromGitter | <watzon> @dadada that would be pretty cool |
07:02:19 | FromDiscord | <Elegant Beef> seems interesting |
07:02:23 | FromGitter | <watzon> Nim could use some more learning resources |
07:02:38 | dadada | it would be a desktop application, but there'd probably be a wider audience with a web application (but I don't plan on getting a server) |
07:03:32 | dadada | I'd prefer to realize it in nim/Qt, but there's no such thing yet :D |
07:03:36 | narimiran | @watzon document your progress with kernel stuff, and you'll help imporving that learning resources situation ;) |
07:03:57 | FromGitter | <watzon> Very true ๐ |
07:04:08 | FromDiscord | <Elegant Beef> do you already use your free github pages? |
07:04:28 | FromDiscord | <Elegant Beef> It'd be a static site as far as i see, so just the domain name required |
07:04:35 | FromGitter | <watzon> Unfortunately the process isn't as easy as with zig, but nim has been around longer and I figure it will be easier in the long run since it compiles to C |
07:08:16 | Zevv | watzon: the docs are new, your compiler is old :) |
07:08:19 | * | solitudesf joined #nim |
07:08:24 | Zevv | this is in the devel tree |
07:08:26 | dadada | ๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ: the graph I posted doesn't just rely on github numbers contrary to what you said, it's a combination of stack overflow and github numbers, and I agree that one shouldn't overvalue it, yet this graph can also be interpreted in a positive way, compared to its capabilities Nim is undervalued (thus less popular), which means there's lots of room to grow, and basically this is |
07:08:32 | dadada | what I'm betting on |
07:10:52 | FromGitter | <watzon> Gotcha |
07:16:48 | FromDiscord | <๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ> dadada: Ahhh, I missed that, sorry, the IRC feed is a touch tough to read through quickly ๐ |
07:17:21 | dadada | ๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ: yeah, I feel the same |
07:20:11 | * | jjido joined #nim |
07:26:39 | * | PMunch joined #nim |
07:28:02 | * | dddddd quit (Ping timeout: 240 seconds) |
07:57:23 | FromDiscord | <๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ> Uhhh... so, net and asyncnet both have a warning on their wrapSocket procs: This code is not well tested, may be very unsafe and prone to security vulnerabilities. |
07:58:22 | FromDiscord | <๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ> That is not the sort of thing I wanted to see when trying to establish a TLS connection to a service ๐ฆ :/ |
08:00:00 | * | gmpreussner quit (Quit: kthxbye) |
08:00:05 | PMunch | may |
08:00:23 | * | FromGitter quit (Read error: Connection reset by peer) |
08:00:49 | PMunch | If you're running a server you should run it behind a reverse proxy, other than that you are very likely fine. The forums have been running for years without any (known) issues |
08:01:23 | FromDiscord | <๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ> This is not a server, this is a client trying to establish an encrypted connection to a server |
08:02:32 | PMunch | Should be fine |
08:02:36 | FromDiscord | <๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ> So I suppose in this case this is not a huge deal, but I also don't make a habit of terminating TLS anywhere before the actual service in the case where I run services |
08:03:04 | PMunch | FWIW there are no known vulnerabilities with it, it's just a precaution since it's not tested all that rigoursly |
08:04:30 | FromDiscord | <๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ> Is the lack of testing just because the community doesn't really have people that do that kind of testing? |
08:04:43 | FromDiscord | <Rika> Bet it is |
08:05:01 | * | gmpreussner joined #nim |
08:05:33 | FromDiscord | <๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ> I need to convince the Red team at work that they need to test these methods haha |
08:13:30 | PMunch | Where do you work where you've got an actual red team? |
08:16:02 | * | chemist69_ quit (Ping timeout: 256 seconds) |
08:16:31 | * | chemist69 joined #nim |
08:18:51 | FromDiscord | <Varriount> Araq: The cycle breaker stuff says "the cost of traversing a subgraph with cycles is 2*N, rather than N" - what does " rather than" refer to? Classic cycle traversal? |
08:25:50 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzzโฆ) |
08:28:33 | FromDiscord | <Varriount> @๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ For what it's worth, the language itself has rather extensive tests |
08:29:23 | Araq | Varriount: ordinary ARC destruction |
08:30:20 | Araq | N+E vs 2*(N+E) would be more precise (nodes and vertices) |
08:32:55 | * | adalricus quit (Quit: ERC (IRC client for Emacs 26.3)) |
08:41:10 | FromDiscord | <๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ> PMunch: The Walt Disney Company ๐ |
08:52:55 | * | Vladar joined #nim |
08:54:27 | PMunch | Oh cool |
08:54:41 | PMunch | Never thought of them doing IT stuff, but of course they would |
08:59:02 | * | floppydh joined #nim |
09:04:10 | * | bunbunbunbunny joined #nim |
09:04:12 | bunbunbunbunny | hello. |
09:08:27 | PMunch | Hi |
09:09:10 | * | dwdv joined #nim |
09:10:24 | bunbunbunbunny | how can i maintain a sequence of values e.g. of length 3 |
09:10:31 | bunbunbunbunny | where there will either be items or nil |
09:10:45 | bunbunbunbunny | i tried makign a seq[ref MyObject] |
09:10:52 | * | krux02 joined #nim |
09:11:40 | PMunch | Well, you could make it a ptr MyObject |
09:11:48 | PMunch | Or define MyObject as a ref object |
09:11:53 | bunbunbunbunny | right |
09:12:00 | PMunch | But the best option is probably to use the options module |
09:12:06 | bunbunbunbunny | what |
09:12:09 | bunbunbunbunny | there's an option module? |
09:12:20 | PMunch | https://nim-lang.org/docs/options.html |
09:12:21 | PMunch | Sure |
09:12:24 | bunbunbunbunny | omg |
09:12:26 | bunbunbunbunny | +1 |
09:12:28 | bunbunbunbunny | thakns |
09:13:28 | PMunch | You can also use my optionsutils module to make them a bit easier to work with: https://nimble.directory/pkg/optionsutils |
09:13:41 | bunbunbunbunny | cool thanks |
09:13:54 | * | letto_ joined #nim |
09:13:55 | PMunch | federico3, is the nimble.directory hosted docs down? |
09:14:02 | * | letto quit (Ping timeout: 240 seconds) |
09:15:52 | bunbunbunbunny | i saw in sequtils it has lc for list comprehension |
09:15:55 | bunbunbunbunny | but it has no documentation |
09:15:58 | bunbunbunbunny | why is that |
09:17:36 | bunbunbunbunny | also there's no way to mix types is there |
09:17:42 | bunbunbunbunny | in a sequence |
09:18:23 | PMunch | No, sequences are single type |
09:18:39 | PMunch | You would need to use a variant object to mix |
09:19:13 | bunbunbunbunny | ah ok |
09:19:26 | PMunch | https://nim-lang.org/docs/manual.html#types-object-variants |
09:20:01 | FromDiscord | <flywind> lc is deprecated.If you use devel, you can use collect for list comprehension. |
09:20:16 | bunbunbunbunny | o |
09:20:23 | bunbunbunbunny | thanks |
09:21:57 | FromDiscord | <flywind> https://nim-lang.github.io/Nim/sugar.html#collect.m%2Cuntyped%2Cuntyped |
09:22:26 | bunbunbunbunny | can i describe my problem and maybe get some suggestions as to how to handle it |
09:23:56 | * | bunbunbunbunny quit (Quit: Lost terminal) |
09:25:27 | PMunch | Well you could've if you stuck around.. |
09:25:58 | Zevv | routing problem trying to reach forum.nim-lang.org |
09:31:36 | Araq | not for me |
09:32:03 | PMunch | I can also reach it just fine |
09:38:38 | federico3 | PMunch: it should be up |
09:43:10 | Zevv | ok, then it's something local |
09:44:37 | PMunch | federico3, are you able to access the docs for this package? https://nimble.directory/pkg/optionsutils |
09:46:18 | * | Hideki_ joined #nim |
09:47:49 | * | Hideki_ quit (Remote host closed the connection) |
09:49:01 | * | Hideki_ joined #nim |
09:49:24 | * | couven92 joined #nim |
09:49:32 | * | Zectbumo quit (Remote host closed the connection) |
09:53:44 | * | Hideki_ quit (Ping timeout: 256 seconds) |
09:55:46 | * | couven92 quit (Ping timeout: 255 seconds) |
10:01:33 | PMunch | Hmm, how do I pass a macro named `?.` to --expandMacro? |
10:03:00 | * | Zectbumo joined #nim |
10:10:35 | Araq | like anything else, taking into account the shell's quoting rules |
10:15:12 | Araq | (which I don't know because shell scripting is the worst kind of programming after punchcards) |
10:15:29 | dom96 | hello hello |
10:15:33 | dom96 | I am back from holidays |
10:15:41 | PMunch | Welcome back :) |
10:15:46 | PMunch | Where did you go? |
10:16:03 | dom96 | Liverpool and Poland to visit family and friends |
10:16:32 | PMunch | Ah cool |
10:18:10 | FromDiscord | <Rika> Oh wow optionsutil is a blessinh |
10:18:16 | FromDiscord | <Rika> Wish it had a better name though lmao |
10:18:51 | PMunch | Rika, the package? |
10:19:03 | * | bunbunbunbunny joined #nim |
10:19:17 | PMunch | It was originally meant to go in the stdlib, so I tried to name it similar to other packages |
10:19:43 | PMunch | bunbunbunbunny, you seemed to have dropped. But feel free to tell us your case and we'll see if we can give you some pointers :) |
10:19:57 | bunbunbunbunny | ah yes thanks!~ |
10:20:37 | bunbunbunbunny | very new to nim and haven't a bit of trouble understanding how refs work... i have a variable var v: ref MyObject and i have a function that returns MyObject |
10:20:48 | bunbunbunbunny | so not a ref |
10:20:57 | bunbunbunbunny | is there something i need to do to pass it to this var v? |
10:21:27 | PMunch | You probably don't want to do that at all |
10:21:43 | bunbunbunbunny | oh ok |
10:21:46 | bunbunbunbunny | y is that |
10:22:17 | PMunch | It means you are trying to do things like you would in C, with pointers and such, which isn't really how we do things in Nim |
10:22:22 | PMunch | For the most part |
10:22:54 | PMunch | What are you trying to do? |
10:23:27 | bunbunbunbunny | so the same i said before ... where i'm trying to maintain a sequence of items and its important that i know when the objects are available or not |
10:23:31 | bunbunbunbunny | so i have like 3 things |
10:23:49 | PMunch | If they are always three you can use an array |
10:23:59 | PMunch | Just FYI |
10:24:02 | bunbunbunbunny | ah yea |
10:24:14 | bunbunbunbunny | is there a way to passa variable to an array[len, Type] |
10:24:16 | bunbunbunbunny | for the len bit |
10:24:25 | bunbunbunbunny | it says the compiler doesn't know what it is even if i define it in a variable |
10:24:29 | PMunch | No, arrays are compile-time static length |
10:24:37 | bunbunbunbunny | ok so they need to be a number |
10:24:41 | * | lritter joined #nim |
10:24:48 | PMunch | Well you can pass them a const |
10:24:57 | bunbunbunbunny | ahr ight that's a good idea |
10:24:58 | PMunch | Or even an enum (as long as it doesn't have holes) |
10:25:11 | PMunch | Then you can enumerate the array with the enum |
10:25:14 | bunbunbunbunny | so once i have this fixed array.. i want to initialise it to have nothing and then stuff will happen and stuff will go into this array |
10:25:20 | bunbunbunbunny | and then eventually stuff will empty again |
10:25:33 | * | Hideki_ joined #nim |
10:25:37 | PMunch | Arrays are by default empty (all values binary 0) |
10:25:38 | bunbunbunbunny | teh things that will go in is an Object type i've defined |
10:25:48 | bunbunbunbunny | so that's why i wanted to use nil |
10:25:52 | bunbunbunbunny | and refs |
10:25:59 | PMunch | In fact all objects in Nim are initialised to binary zero unless otherwise declared |
10:26:10 | bunbunbunbunny | is binary 0 something you can check for? |
10:26:39 | PMunch | Well, not unless you have a field in your object that is never 0 when it's a proper object |
10:27:03 | PMunch | Options are by the way defaulted to a none |
10:27:14 | bunbunbunbunny | i see |
10:27:23 | bunbunbunbunny | sorry i haven't looked into the options thing yet |
10:27:33 | bunbunbunbunny | so can i make an array of optional object types? |
10:27:37 | PMunch | So if you declare array[3, Option[MyObject]] you will have an array of three Options with none value |
10:27:42 | bunbunbunbunny | ohhhhhh |
10:27:44 | bunbunbunbunny | ok that's good |
10:27:52 | bunbunbunbunny | and then how would i assigned None at the end |
10:27:55 | bunbunbunbunny | can i do that? |
10:28:11 | PMunch | myArray[1] = none(MyObject) |
10:28:18 | bunbunbunbunny | nice |
10:28:19 | dom96 | Araq and anyone else that wants input: what categories should our forum have? |
10:28:29 | bunbunbunbunny | cool i'll try this! |
10:28:32 | bunbunbunbunny | thank u PMunch |
10:28:37 | PMunch | No problem :) |
10:31:51 | bunbunbunbunny | ok so when i assigned to the arr |
10:32:01 | bunbunbunbunny | it says expected Option[MyObject] |
10:32:06 | Araq | "Announcements", "Beginners", "Advanced" |
10:32:13 | bunbunbunbunny | how do i assign to an optional type? |
10:32:22 | PMunch | some(theObject) |
10:32:32 | bunbunbunbunny | ah great thanks! |
10:33:09 | dom96 | Araq, meh, I don't see the value in separating into "beginners" and "advanced" |
10:33:09 | PMunch | Hmm, I thought the optionsutils package had a converter for that.. Must've removed it at some point |
10:33:20 | * | Zectbumo quit (Remote host closed the connection) |
10:33:30 | dom96 | I think "Announcements"/"Questions" would be good enough for now. |
10:33:37 | Araq | ok |
10:33:43 | Araq | good |
10:33:53 | PMunch | Isn't announcements just the blog? |
10:34:13 | dom96 | our FOSDEM threads would be announcements |
10:34:25 | dom96 | anyway, we can add more categories later |
10:34:36 | dom96 | it's better to be conservative with this so please don't add more willy nilly |
10:34:47 | Araq | yup |
10:35:24 | * | Hideki_ quit (Ping timeout: 265 seconds) |
10:36:18 | PMunch | Ah right, there would also be room for unofficial announcements. Such as when someone creates a new package/updates one |
10:36:41 | PMunch | And I agree that starting with few categories is better |
10:38:19 | PMunch | Any ideas on why this doesn't work? https://play.nim-lang.org/#ix=2dwv |
10:39:19 | Araq | told you .? was a bad idea |
10:42:42 | Araq | but this seems to a bug in your macro, do you handle nkAccQuoted? |
10:48:03 | bunbunbunbunny | do i need to use generics to have an array parameter of any sized length? |
10:48:26 | bunbunbunbunny | how do i declare proc myFunc(arr: array[T, MyObject]) |
10:50:18 | bunbunbunbunny | or should i just put a const var at the top and just use that all over the place |
10:50:20 | bunbunbunbunny | sorry i'm a newb |
10:50:30 | FromDiscord | <Rika> Put a [T] beside the end of the name of the function |
10:51:40 | FromDiscord | <Rika> bunbunbunbunny |
10:52:09 | bunbunbunbunny | that works for size bit in an array param in a proc? |
10:52:13 | bunbunbunbunny | doesn't seem to work for me |
10:52:24 | FromDiscord | <Rika> Hm? |
10:52:34 | bunbunbunbunny | like proc min[T]*(arr: array[T, Option[CmpVariant]): seq[CmpVariant] = |
10:52:37 | bunbunbunbunny | would this work? |
10:52:50 | FromDiscord | <Rika> Asterisk between name and [T] |
10:52:53 | FromDiscord | <Rika> Not after |
10:52:55 | bunbunbunbunny | oh |
10:53:06 | bunbunbunbunny | hanks :D |
10:53:13 | bunbunbunbunny | thanks* |
10:53:31 | dom96 | easy way to remember this: export marker always follows the identifier that is exported |
10:53:38 | bunbunbunbunny | i see i see |
10:54:19 | * | Araq sighs |
10:54:30 | Araq | time for valgrind, too stupid to understand my bugs |
10:55:22 | * | bunbunbunbunny quit (Quit: Lost terminal) |
10:59:41 | FromDiscord | <clyybber> @๐๐ฎ๐ท๐พ๐ถ๐ซ๐ฎ๐ญ Actually nim has big sponsors. Status being one |
11:00:09 | FromDiscord | <clyybber> And I actually like that its not one big corp thats pushing for it. |
11:01:27 | * | zahary joined #nim |
11:10:18 | * | Hideki_ joined #nim |
11:14:26 | * | Hideki_ quit (Ping timeout: 240 seconds) |
11:21:25 | * | chemist69 quit (Ping timeout: 240 seconds) |
11:22:42 | * | chemist69 joined #nim |
11:26:52 | * | clyybber joined #nim |
11:27:43 | clyybber | Araq: So you changed your cycle detector to a cycle breaker? |
11:28:36 | clyybber | We then call thinout in strategic places to break the cycles right? |
11:36:54 | FromDiscord | <Rika> Does the compiler warn for symbol clash when importing 2 libraries |
11:39:11 | Araq | clyybber, right |
11:39:54 | Araq | I changed it because I found new problems with the cycle detector, it would run 20 times on a single root |
11:41:15 | clyybber | And thinout modifies the subgraph |
11:41:22 | clyybber | so that its a spanning tree right? |
11:41:41 | Araq | right |
11:41:50 | clyybber | Araq: Then that means I must effectively know when I want the graph to be destroyed |
11:42:01 | Araq | yes |
11:42:02 | clyybber | So it doesn't work in the general case |
11:42:31 | Araq | I hope it works for async and that's all I really care about |
11:43:49 | clyybber | Theres no reason then to guard thinout behind gc:orc right? |
11:44:04 | Araq | the tracing procs still bloat the code |
11:44:10 | clyybber | Ah |
11:44:15 | Araq | but aside from that it has no overhead |
11:44:28 | clyybber | Do you have a branch where you have the cycle collector updated? |
11:44:53 | Araq | no but it's just a 'when false' in the write barrier |
11:45:05 | clyybber | ah ok |
11:45:17 | Araq | nimIncRefCyclic |
11:45:29 | Araq | h.setColor colYellow # remove this line |
11:45:41 | Araq | and call instead 'markCyclic' in strategic places |
11:45:49 | Araq | that's what I did |
11:46:00 | Araq | the "stategic" places can be hard to find |
11:47:42 | clyybber | but even with the 20 times on a single root thing, you still got it into noise levels right? |
11:48:29 | Araq | nope |
11:48:47 | clyybber | Oh, so you were talking about the cycle *breaker* that time? |
11:48:48 | Araq | it was measurable |
11:49:09 | Araq | no I cheated and only run the cycle collection at the very last time via an internal counter |
11:49:19 | * | s4mu3lbk joined #nim |
11:49:26 | clyybber | Ah ok. |
11:49:30 | Araq | which cannot be accomplished with markCyclic |
11:49:39 | * | rokups joined #nim |
11:49:44 | Araq | that means that 'markCyclic' is no cost model |
11:49:49 | Araq | *has no |
11:49:59 | Araq | so it doesn't suit ARC IMO |
11:50:18 | Araq | 'thinout' in contrast has a perfectly understandable cost model |
11:50:37 | clyybber | But even with the cycle breaker we still have no way to free arbitrary cyclic subgraphs |
11:50:49 | clyybber | And thats worse than not having a cost model for it |
11:50:53 | clyybber | IMO |
11:51:33 | Araq | huh? |
11:51:51 | Araq | what do you mean "we have no way" |
11:52:21 | Araq | we have a way, run thinout |
11:52:23 | clyybber | we have no way because when we don't know if a graph will still be used we cannot call thinout |
11:52:36 | clyybber | because thinout will modifiy the graph |
11:53:06 | Araq | well if you get it wrong you'll get predictable lovely 'nil' access crashes |
11:53:16 | Araq | what's not to love about it? |
11:53:30 | clyybber | In some cases we cannot get it right |
11:53:51 | clyybber | Because we cannot know if the graph should be freed now. |
11:54:09 | clyybber | thinout is a bit like an explicit destroy that also takes care of cycles |
11:54:21 | clyybber | because when you call it, but you fail it ends up in an "invalid" state |
11:54:47 | Araq | well I'm excited about it (if only the implementation would work) |
11:58:16 | clyybber | I'm excited too, because I think it can make async work |
11:58:35 | Araq | - no use after free bugs |
11:58:41 | clyybber | But its still not the right tool for the general case of cyclic graphs |
11:58:41 | Araq | - has a cost model |
11:58:45 | clyybber | Araq: Can |
11:58:54 | clyybber | sorry, hit enter too quickly |
11:58:57 | Araq | - works with async |
11:59:13 | Araq | - destruction remains deterministic |
11:59:39 | clyybber | - is like manual memory management, for cyclic graphs |
11:59:50 | Araq | it's semi-manual |
12:00:08 | clyybber | Yeah, but my point is: We need something automatic for freeing cyclic graphs |
12:00:25 | clyybber | This only works for simple cases with backpointers and such |
12:00:57 | Araq | no we don't "need" it, Rust, C++ and Swift are doing fine without it |
12:01:49 | * | theelous3 quit (Read error: Connection reset by peer) |
12:01:55 | Araq | we only need it for async |
12:02:14 | * | theelous3 joined #nim |
12:02:21 | Araq | it also happens to work for thavlak, hamming and every other complex problem I looked at |
12:04:22 | * | deepend quit (Remote host closed the connection) |
12:05:05 | Araq | well anyway, the alternative conlusion is that Python's way of doing it via generations seems to be a very smart idea |
12:06:18 | * | lain quit (Ping timeout: 265 seconds) |
12:06:48 | * | deepend joined #nim |
12:07:42 | * | lain joined #nim |
12:09:40 | * | rockcavera joined #nim |
12:16:59 | * | s4mu3lbk quit (Ping timeout: 260 seconds) |
12:22:42 | * | Vindaar joined #nim |
12:23:03 | Vindaar | seems like the irc bridge is down most of the time lately |
12:24:13 | * | Trustable joined #nim |
12:30:54 | FromDiscord | <Rika> irc -> ? or ? -> irc |
12:31:00 | * | endragor quit (Remote host closed the connection) |
12:31:04 | FromDiscord | <Rika> and also what would ? be |
12:31:47 | Vindaar | hm? I'm talking about the gitter bridge |
12:31:51 | * | Hideki_ joined #nim |
12:36:43 | PMunch | Okay, found out what was wrong with ?. and fixed it |
12:36:49 | PMunch | Not sure what I was thinking when I wrote that code.. |
12:37:53 | FromDiscord | <Rika> Vindaar, i mean the discord -> irc bridge is still an irc bridge ๐ |
12:38:26 | * | uvegbot quit (Ping timeout: 240 seconds) |
12:38:39 | FromDiscord | <Rika> is it possible to use unittest with random input generated on compilation or smth |
12:40:51 | * | marmotini_ joined #nim |
12:42:08 | * | uvegbot joined #nim |
12:42:32 | PMunch | Should be |
12:43:15 | * | Trustable quit (Remote host closed the connection) |
12:45:58 | FromDiscord | <Rika> huh, sorry im pretty loopy today |
12:54:05 | * | jholland__ joined #nim |
13:01:37 | * | kungtotte quit (Read error: Connection reset by peer) |
13:02:16 | * | kungtotte joined #nim |
13:15:11 | PMunch | Ugh, my escape in Vim has just enough delay that I sometimes type faster than it can enter normal mode.. |
13:16:22 | * | nsf quit (Quit: WeeChat 2.7) |
13:16:33 | FromDiscord | <Rika> i dont seem to be able to store procs in a table (as value) |
13:18:14 | FromDiscord | <Rika> https://play.nim-lang.org/#ix=2dwV shouldnt this be possible? |
13:18:32 | clyybber | PMunch: kakoune is calling for you |
13:19:14 | clyybber | or do you mean the escape delay that it has to detect ctrl-<someKey> combinations? |
13:19:32 | clyybber | If you have a non shitty terminal emulator you should be able to set that to basically zero |
13:21:08 | PMunch | clybber, I have actually considered it |
13:21:11 | PMunch | But not because of this |
13:21:46 | PMunch | The issue is that I have CapsLock set to escape when I click it, but Ctrl when I hold it with something else |
13:22:01 | FromDiscord | <Rika> a-am i being ignored?! |
13:22:04 | * | sentreen quit (Quit: sentreen) |
13:22:13 | PMunch | And that causes a veeery slight delay |
13:26:34 | PMunch | Rika, this works: https://play.nim-lang.org/#ix=2dwX |
13:26:43 | PMunch | So it is possible to store procedures in tables |
13:27:03 | FromDiscord | <Rika> thats weeeeeeird |
13:27:09 | FromDiscord | <Rika> why is it like that |
13:27:33 | PMunch | There might be a smoother way of doing it, I was just trying stuff until it worked :P |
13:27:52 | FromDiscord | <Rika> is this a bug |
13:34:43 | * | Hideki_ quit (Ping timeout: 272 seconds) |
13:38:02 | * | sentreen joined #nim |
13:38:17 | * | floppydh quit (Quit: WeeChat 2.7.1) |
13:38:29 | * | alexander92 joined #nim |
13:38:35 | alexander92 | new internet! |
13:38:40 | PMunch | Whooo |
13:38:40 | alexander92 | hello guys from plovdiv |
13:38:50 | alexander92 | oh i got a close to 1gbit connection |
13:38:56 | alexander92 | but i am not sure how to use it |
13:39:45 | PMunch | Woo, this works now: https://play.nim-lang.org/#ix=2dx3 (and I added optionsutils to the playground) |
13:39:53 | PMunch | How to use it? |
13:39:56 | alexander92 | btw somebody xp-ed with gitlab CI ? |
13:40:04 | alexander92 | pmunch : well not sure what cool usage of it can i do |
13:40:11 | alexander92 | except a server i guess? |
13:40:56 | PMunch | Download all the internet! |
13:41:07 | PMunch | Is it symmetrical? |
13:43:14 | PMunch | Hmm, this is what I was trying to avoid with the `field` thing from the other day: http://ix.io/2dx5/nim |
13:43:30 | alexander92 | i guess not? i get 63 Mbps upload, but i can hardly think of many cases where i need to upload so much |
13:43:46 | PMunch | If you were planning on running a server |
13:44:37 | alexander92 | PMunch but actually i am running a hotspot from that laptop as well, so not sure |
13:44:49 | alexander92 | also not sure if my network card is somehow limiting anything |
13:45:16 | alexander92 | PMunch what is `isInitializer` : how does it get created? |
13:45:50 | PMunch | It is a const that is declared within the proc/template |
13:46:36 | PMunch | This is the output of my macro so far: http://ix.io/2dx7/nim |
13:46:38 | * | sentreen quit (Ping timeout: 255 seconds) |
13:46:56 | PMunch | As you can see the isInitialiser is set for the initialiser to true and to the setter as false |
13:47:50 | PMunch | What I tried to do the other day was to create a template field that was either result[0] or x[0] based on if it was the initialiser or the setter |
13:48:02 | PMunch | And then in the macro you would use "field" instead |
13:48:54 | PMunch | The call to my macro looks like this: http://ix.io/2dx8/nim |
13:49:10 | PMunch | So instead of that when block it would just be field = asIdent(name) |
13:50:44 | * | nothratal joined #nim |
13:52:09 | * | okcy joined #nim |
13:52:14 | PMunch | But it just throws a stupid "result[0] cannot be assigned to" error.. |
13:53:49 | * | Vladar quit (Quit: Leaving) |
13:55:45 | FromDiscord | <Kiloneie> Any sound quality guy in here ? Is stacking multiple towels on top of each other to elevate a microphone on a tiny stand a good idea ? (This is for my Nim videos, not off topic ???...) |
13:56:41 | nothratal | I noticed today that sequtils's toSeq-template is not working in UFCS with tables keys-iterator, is there already a similar known bug for this? |
13:56:52 | FromDiscord | <Rika> https://play.nim-lang.org/#ix=2dx9 now this doesnt work no matter what i do wtf |
13:57:01 | FromDiscord | <Rika> nothratal yes |
13:57:07 | FromDiscord | <Rika> give me a moment to look for it |
13:58:07 | FromDiscord | <exelotl> @Kiloneie yeah probably not a bad idea |
13:59:08 | * | alexander92 quit (Ping timeout: 268 seconds) |
14:00:15 | FromDiscord | <Rika> i cant seem to find it anymore haha |
14:00:23 | * | sentreen joined #nim |
14:00:46 | * | alexander92 joined #nim |
14:01:19 | FromDiscord | <Rika> PMunch do you mind helping me out with this now https://play.nim-lang.org/#ix=2dx9 |
14:02:30 | PMunch | Kiloneie, that should be fine. A poor mans vibration dampener :P |
14:03:04 | FromDiscord | <exelotl> Yeah what pmunch said |
14:03:13 | FromDiscord | <exelotl> If the mic is on your desk I guess you would be worried about keyboard vibrations travelling down the desk and being picked up strongly by the mic |
14:03:26 | FromDiscord | <exelotl> So yeah towels would help prevent that |
14:03:36 | PMunch | Rika, no idea TBH.. |
14:03:46 | clyybber | Rika: It should work with `-` too.. |
14:03:55 | clyybber | Report it, maybe its a gotcha maybe a bug |
14:05:14 | FromDiscord | <Kiloneie> i've already used a single towel in like 80-90% of my videos, but i need it higher, because it picks up my keyaboard too much, and my volume is too low, i will try and compare |
14:06:10 | PMunch | Rika, curiously this works: https://play.nim-lang.org/#ix=2dxb |
14:06:16 | PMunch | This looks like a bug to me |
14:06:43 | PMunch | Kiloneie, I got a cheap lapel mic off of AliExpress, works like a charm |
14:07:00 | FromDiscord | <Rika> WTF |
14:07:13 | FromDiscord | <Rika> I TRY EVERYTHING BUT REVERSE UFCS |
14:07:20 | PMunch | Huh+ |
14:07:23 | PMunch | Huh? |
14:07:26 | FromDiscord | <Rika> i didnt think of doing that |
14:07:30 | FromDiscord | <Rika> and im mad |
14:07:31 | FromDiscord | <Kiloneie> mine was like 110โฌ usb mic from like 10 years ago |
14:07:32 | FromDiscord | <Rika> thats all |
14:07:51 | PMunch | That doesn't work if all of them aren't add though.. |
14:07:52 | alexander92 | this is a type convertion |
14:07:54 | alexander92 | i think? |
14:08:15 | FromDiscord | <Kiloneie> mc crpt usb-s1 this is what i use, till i can get a better one on a stand |
14:09:05 | FromDiscord | <Kiloneie> honestly having a beach towel followed by a normal one, on each other seems to make it very unstable... guess i should use my game maker books instead D:... |
14:09:39 | FromDiscord | <Rika> hhhh what the heck |
14:10:11 | FromDiscord | <Kiloneie> yeah spamming my keyboard with multiple towels is actually worse than a single thin one D: |
14:10:40 | PMunch | Kiloneie, mine was a $0.63 thing |
14:10:53 | PMunch | Which works surprisingly well |
14:11:27 | PMunch | Rika, oh no the reverse ufc didn't make a difference |
14:11:42 | FromDiscord | <Kiloneie> that's odd xD |
14:12:40 | FromDiscord | <Kiloneie> well i made it about an inch or 3-4 cm higher, should do the trick for now |
14:12:40 | FromDiscord | <Rika> i didnt realize |
14:12:45 | FromDiscord | <Rika> i thought it did |
14:12:56 | FromDiscord | <Rika> now, why does it work with only one function is the question... |
14:13:05 | * | Vindaar quit (Ping timeout: 240 seconds) |
14:13:15 | PMunch | It seems like it is your `add` that is causing issues: https://play.nim-lang.org/#ix=2dxe |
14:13:31 | PMunch | (note that the "+" is now set to "sub" |
14:13:35 | * | alexander92 quit (Ping timeout: 260 seconds) |
14:13:55 | * | adalricus joined #nim |
14:14:06 | FromDiscord | <Rika> i noticed that its also syntax colored in play.nim |
14:14:42 | PMunch | Yeah just rename it and everything works fine: https://play.nim-lang.org/#ix=2dxf |
14:15:01 | FromDiscord | <Kiloneie> if you increase the volume in editing, does it introduce any weird artifacting and such... or do people do that all the time ? |
14:15:10 | * | alexander92 joined #nim |
14:15:31 | FromDiscord | <Kiloneie> i am quite a bit quiet in my videos, i need to pump it up higher about 33-50% |
14:15:31 | FromDiscord | <Rika> named it addf |
14:15:33 | FromDiscord | <Rika> thanks |
14:16:29 | PMunch | Kiloneie, that's what's great with a lapel mic. Since it sits so close to your face you can leave it with fairly little gain and it won't pick up a bunch of other noise |
14:18:43 | lqdev[m] | OTOH most cheap lapel mics have pretty bad sound quality |
14:18:56 | PMunch | I wish I'd bought more of the one I got |
14:19:03 | PMunch | At $0.63 it was a steal :P |
14:19:21 | lqdev[m] | does it sound good? |
14:19:38 | PMunch | Surprisingly enough it's fairly decent |
14:19:47 | lqdev[m] | wow. |
14:19:52 | PMunch | I unfortunately don't have anything recorded that I could send you right now though.. |
14:20:00 | Araq | found it! |
14:20:06 | Araq | I missed a deref operator |
14:20:23 | Araq | programming low level stuff without type safety is so much fun... |
14:20:23 | * | gangstacat quit (Quit: ฤis!) |
14:22:32 | * | adalricus quit (Quit: ERC (IRC client for Emacs 26.3)) |
14:22:34 | FromDiscord | <Kiloneie> yeah that is why i want a mic arm, it just solves everything... |
14:22:48 | FromDiscord | <Kiloneie> but good luck getting it cheap xD... |
14:24:41 | disruptek | Araq: the IC bug doesn't seem to be due to redundant serialization. |
14:25:39 | FromDiscord | <Kiloneie> im utterly confused, im comparing the last video's audio to what i just did now with obs settings i had last time, and im like 50% quieter... |
14:26:09 | PMunch | Kiloneie, can't you order from AliExpress? Or do you have silly import laws like the ones we're getting here from April? (RIP my micro-electronics hobby..) |
14:28:20 | * | dddddd joined #nim |
14:28:30 | PMunch | Argh, I don't get what causes this template issue. It's exactly the same pattern I used for the `with` macro.. |
14:28:32 | * | gangstacat joined #nim |
14:28:46 | FromDiscord | <Kiloneie> im literally broke right now D: |
14:29:44 | FromDiscord | <Kiloneie> is there a way to recover closed sticky notes ? i put all my obs optimal audio settings in there... |
14:30:05 | PMunch | Sticky notes? |
14:30:09 | PMunch | Like the ones on Win7? |
14:30:15 | disruptek | kiloneie: where are you located? |
14:30:15 | PMunch | No wait, Win8? |
14:31:12 | FromDiscord | <Kiloneie> win 10, i think i found something online idk, im from Slovenia, i owe my mum money atm, i think i suck at interviews or something, can't get a job |
14:33:15 | FromDiscord | <Kiloneie> okay i recovered it D:, yikes |
14:35:30 | FromDiscord | <kodkuce> you dont know what suxing at interviewing is, i applied for unity3d slot games, boss man asked me c# string builder i told him dude i read that question yesterday while i was reading c# interview questions, i know answer but wtf thats totaly sutpid question for game dev... Ofc dident get job ๐ |
14:36:42 | * | gangstacat quit (Quit: ฤis!) |
14:37:04 | PMunch | I tend to do pretty well at interviews for some reason |
14:37:27 | FromDiscord | <Kiloneie> well based on my past work experience, i should be able to get a physical job easily, they ask my why i quit and stuff, i tried multiple answers already, be as ethusiastic as possible and... nothing, i've had like 10 interviews in the past month and more |
14:38:27 | * | gangstacat joined #nim |
14:38:32 | FromDiscord | <Kiloneie> i know i have low self confidence but, holy crap what am i doing wrong that i can't get a simple job, when i worked for 3 years in a car fabricator... im confused. |
14:39:21 | disruptek | on one hand, i know the feeling. on the other, i wouldn't hire me. |
14:40:50 | Araq | disruptek, if it's not "redundant" then must be "too early" serialization, right? |
14:41:12 | FromDiscord | <Kiloneie> i feel like a lot of people got jobs over me due to connections... i know a former friend who got the job i applied for(CNC programmer) and i said i didn't know it but would love to learn, and he blatantly lied and got it and still has it... like... how far can liars go ?... |
14:43:25 | PMunch | Far.. |
14:43:26 | FromDiscord | <Kiloneie> I think i forced myself to talk loudly when making my videos, because totally relaxed me atm is like 30-50% quieter in my testings right now. |
14:43:42 | clyybber | same, I always shout a bit |
14:43:43 | PMunch | I mean there has been stories of doctors that ends up never went to medical school at all |
14:43:46 | disruptek | Araq: it's a good theory. |
14:43:56 | PMunch | Just lied there way into a small job, then quit that and transfer to a larger one |
14:44:22 | PMunch | s/there/their |
14:44:33 | FromDiscord | <Kiloneie> oh man... |
14:44:51 | disruptek | a lot of people live in a reality distortion bubble. |
14:45:07 | FromDiscord | <Kiloneie> should i try to recreate my talking louder or just edit the volume higher in the editing process ? Does it introduce any artifacting etc doing that ? |
14:45:15 | disruptek | they don't appreciate the magnitude of what they don't know. makes lying about what they do know much easier. |
14:45:36 | disruptek | kiloneie: be comfortable. |
14:46:02 | clyybber | Kiloneie: Gotta watch catch me if you can |
14:46:05 | clyybber | its a good movie |
14:46:31 | FromDiscord | <Kiloneie> i watched it, and loved it xD... Leonardo Di Caprio, hes great |
14:46:54 | PMunch | This is so frustrating.. This works: https://play.nim-lang.org/#ix=2dxm |
14:48:17 | * | rokups quit (Quit: Connection closed for inactivity) |
14:48:20 | PMunch | And this works: https://play.nim-lang.org/#ix=2dxn |
14:48:24 | * | tane joined #nim |
14:51:50 | PMunch | Oooooh, it seems to be macro specific! https://play.nim-lang.org/#ix=2dxp |
14:51:53 | PMunch | VM bug? |
14:52:56 | FromDiscord | <Kiloneie> Why is Araq's patreon so poorly supported ? |
14:53:33 | FromDiscord | <Rika> he has a patreon?! |
14:53:39 | FromDiscord | <Kiloneie> yep |
14:53:43 | Araq | yeah, give me more money |
14:53:49 | FromDiscord | <Kiloneie> 11$ a month last i checked |
14:54:10 | PMunch | Okay, so this is definitely only in the VM it seems: https://play.nim-lang.org/#ix=2dxs |
14:54:12 | FromDiscord | <Kiloneie> which is just... so if i made my own patreon today, i will be getting what... a few cents ? |
14:54:36 | PMunch | Good point, I've been meaning to give some money to Nim development for years.. |
14:54:44 | PMunch | Just never got around to it.. |
14:55:10 | Araq | PMunch, nullary template calls without () are known to be buggy |
14:55:12 | FromDiscord | <Rika> if only i had money |
14:55:35 | PMunch | It doesn't work with () either |
14:55:48 | reversem3 | Has anyone tried prologue web framework here ? |
14:55:50 | narimiran | PMunch, Araq yep, known issue: https://github.com/nim-lang/Nim/issues/13515 (i had this tab opened already :)) |
14:55:52 | PMunch | And it says "result[1] cannot be assigned to" so it obviously managed to resolve the template |
14:55:53 | disbot | โฅ Calling nullary templates without () doesn't work inside calls inside templates ; snippet at 12https://play.nim-lang.org/#ix=2dxt |
14:56:03 | FromDiscord | <Kiloneie> i know Nim gets a lot of money from 2 big supporters, but, his patreon is just sad, i guess no exposure is the problem ? Probably noone knows he even has it ? |
14:56:25 | narimiran | @Kiloneie who is 2nd big sponsor? :D |
14:56:48 | Araq | Kiloneie it doesn't help that I don't like Patreon's policies |
14:56:50 | FromDiscord | <Kiloneie> oh tiny |
14:56:59 | FromDiscord | <Kiloneie> what are their policies ? |
14:57:10 | PMunch | Wait, so Nim has one, and Araq has another? |
14:57:32 | FromDiscord | <Kiloneie> i know they made that bloody change that makes new users get less of a share than old ones which is just... racism ? whats the word... |
14:57:36 | narimiran | nim has one?? |
14:57:43 | FromDiscord | <Kiloneie> https://nim-lang.org/ |
14:57:51 | FromDiscord | <Kiloneie> i just see what i see at the bottom |
14:58:10 | FromDiscord | <Kiloneie> 19250$ + users which is about 21-22K $ |
14:58:18 | FromDiscord | <Kiloneie> a lot more than Godot gets |
14:58:27 | PMunch | Really? |
14:58:45 | FromDiscord | <Kiloneie> they get 11K atm, was like 9K a year ago |
14:59:42 | FromDiscord | <Kiloneie> when i first found out about Nim it was good knowing it has good fincancial support |
14:59:55 | FromDiscord | <Kiloneie> unlike oh so many other less known languages |
15:01:22 | alexander92 | disruptek hmm |
15:01:45 | FromDiscord | <Kiloneie> Da vinci resolve has a speed test now D: |
15:03:41 | * | FromGitter joined #nim |
15:04:26 | * | sentreen quit (Ping timeout: 240 seconds) |
15:04:29 | PMunch | Hmm, so just returning `result` works. But not returning `result[0]` |
15:06:00 | * | nothratal quit (Remote host closed the connection) |
15:08:13 | * | PMunch quit (Quit: Leaving) |
15:11:43 | * | sentreen joined #nim |
15:16:26 | * | NimBot joined #nim |
15:16:35 | * | okcy quit (Quit: Quit) |
15:36:33 | * | zahary quit (Quit: Leaving.) |
15:38:12 | FromDiscord | <Kiloneie> "is" for static and "of" for dynamic type checking/comparison usually in oop inheritance... |
15:38:13 | FromDiscord | <Kiloneie> |
15:38:13 | FromDiscord | <Kiloneie> So most of the time one uses "is" keyword for simple checks ? |
15:39:47 | * | zahary joined #nim |
15:41:52 | disruptek | one does one thing and the other does another thing. |
15:43:23 | FromDiscord | <flywind> Why I encounter OverflowError? |
15:43:23 | FromDiscord | <flywind> Hint: pbkdf2 [Processing] |
15:43:23 | FromDiscord | <flywind> fatal.nim(39) sysFatal |
15:43:23 | FromDiscord | <flywind> Error: unhandled exception: over- or underflow [OverflowError] |
15:44:24 | FromDiscord | <Kiloneie> i think will cover it in a video soon. |
15:44:45 | FromDiscord | <Kiloneie> my Nim memory is so foggy D: |
15:45:04 | FromDiscord | <Kiloneie> luckily i have all my videos written down xD |
15:46:46 | * | disruptek quit (Ping timeout: 255 seconds) |
15:47:19 | FromDiscord | <flywind> When I import direct file, everything is fine.But when i use same module downloaded from nimble, I encouter OverflowError. |
15:47:23 | * | disbot quit (Ping timeout: 260 seconds) |
15:49:14 | FromDiscord | <flywind> they are same version. like `import prologue and import ../../src/prologue` |
15:49:58 | * | disruptek joined #nim |
15:51:01 | * | disbot joined #nim |
15:55:30 | * | krux02 quit (Remote host closed the connection) |
16:00:55 | FromDiscord | <Rika> same file and file contents? |
16:01:44 | FromDiscord | <flywind> sure.I use nimble@#head to get latest version. |
16:13:08 | * | Trustable joined #nim |
16:14:01 | disruptek | assumptions made by the compiler and those made by nimble do not match. |
16:14:29 | disruptek | !repo nimph |
16:14:30 | disbot | https://github.com/disruptek/nimph -- 9nimph: 11Nim package hierarchy manager from the future ๐ง 15 54โญ 3๐ด 7& 2 more... |
16:14:49 | disruptek | now with 3 cutlery included! |
16:16:35 | disruptek | ~stream |
16:16:35 | disbot | stream: 11https://twitch.tv/disruptek and mumble://uberalles.mumbl.io/ -- disruptek |
16:17:25 | disruptek | ~stream is https://twitch.tv/disruptek (live video/audio) and mumble://uberalles.mumbl.io/ (live voice chat) |
16:17:25 | disbot | stream: 11https://twitch.tv/disruptek (live video/audio) and mumble://uberalles.mumbl.io/ (live voice chat) |
16:19:07 | clyybber | disruptek: You should get status to switch to nimph |
16:19:10 | clyybber | then you've won |
16:19:20 | * | zahary quit (Quit: Leaving.) |
16:19:25 | disruptek | yeah, they won't do that. |
16:19:38 | disruptek | they don't dependencies that they haven't written. |
16:19:49 | clyybber | they use nimble |
16:23:45 | clyybber | but they want nimph |
16:23:49 | clyybber | even though they don't know yet |
16:24:21 | disruptek | i admit i did a terrible job at my one opportunity to demo it to status in person. |
16:24:34 | clyybber | heh |
16:24:48 | disruptek | i, like, threw the palmtop at yuri (sorry, yuri) and was like, here, play with it. you'll figure that shit out. |
16:24:48 | clyybber | and right when I started the discussion, zah left :p |
16:24:58 | clyybber | disruptek: lol |
16:24:58 | disruptek | then i got up and went to look at treeform's work. |
16:25:11 | disruptek | could i have been more of an asshole? probably not. |
16:35:18 | * | marmotini_ quit (Remote host closed the connection) |
16:35:54 | * | marmotini_ joined #nim |
16:36:13 | * | Hideki_ joined #nim |
16:37:11 | * | marmotini_ quit (Remote host closed the connection) |
16:37:27 | * | marmotini_ joined #nim |
16:40:48 | * | Hideki_ quit (Ping timeout: 265 seconds) |
16:42:17 | Araq | disruptek, I joined but you cannot hear me |
16:48:17 | stefantalpalaru | We don't use Nimble, clyybber. We use Git submodules. |
16:48:43 | alexander92 | yeah zah even made me do it |
16:49:13 | alexander92 | its sometimes nice if you have more other-lang deps |
16:49:27 | * | Vladar joined #nim |
16:50:07 | alexander92 | convinced me to use similar submodules-based sys in another project* |
16:50:25 | clyybber | stefantalpalaru: Oh, I thought you were using both |
16:50:59 | clyybber | stefantalpalaru: I thought I read some push from status for lockfiles in nimble, but maybe I misremember |
16:51:05 | clyybber | it was fairly recent tho |
16:51:27 | clyybber | alexander92: I almost exclusively use submodules |
16:51:34 | clyybber | they Just Work TM |
16:51:41 | stefantalpalaru | We always add Nimble support to our packages, but that's just for other users. |
16:51:52 | lqdev[m] | clyybber: โข |
16:52:13 | lqdev[m] | alt gr + shift + t on my keyboard layout |
16:52:57 | clyybber | stefantalpalaru: Ah ok |
16:53:08 | clyybber | lqdev[m]: ? |
16:53:30 | clyybber | lqdev[m]: oh, its a tm |
16:53:37 | lqdev[m] | clyybber: nothing, I was just giving you the `โข` symbol |
16:53:43 | clyybber | yeah :D thanks |
16:53:53 | lqdev[m] | np |
16:55:05 | stefantalpalaru | The extent I've went to, to avoid using Nimble :-) https://github.com/status-im/nimbus-build-system/blob/088d3b7f6843fd61c829a5a0c0c29912945963ae/makefiles/targets.mk#L94 |
16:55:13 | alexander92 | i just added several submodules to our project clyybber :) |
16:55:26 | stefantalpalaru | And https://github.com/status-im/nimbus-build-system/blob/master/scripts/create_nimble_link.sh |
16:58:38 | clyybber | alexander92: nice |
16:58:39 | dom96 | why though? |
16:58:45 | dom96 | stefantalpalaru, why do that? |
16:59:09 | clyybber | only thing where submodules get a bit cumbersome is when a project is split into multiple and PRs need to change both at the same time |
16:59:34 | clyybber | stefantalpalaru: that is... insane |
16:59:40 | clyybber | but intriguing |
17:00:45 | stefantalpalaru | Because I need commit-level control for dependencies, I need everything to be contained in the main project's directory and I don't need to spend time on dealing with the actually insane complexity of a package manager. |
17:01:55 | Yardanico | "Because I need commit-level control for dependencies" nimble has that |
17:02:08 | Yardanico | https://github.com/nim-lang/nimble#nimble-install " A branch, tag, or commit hash may also be specified in the place of head." |
17:02:36 | stefantalpalaru | Adding a new dependency to Nimbus or nim-beacon-chain is now trivial: https://github.com/status-im/nimbus-build-system/blob/master/scripts/add_submodule.sh |
17:02:42 | dom96 | yeah, what Yardanico said |
17:04:01 | dom96 | But even if you just use git submodules, I don't get why you'd create this create_nimble_link script |
17:04:22 | dom96 | why do you need these deps in the global nimble dir? |
17:04:34 | stefantalpalaru | So the Nim compiler finds them. |
17:05:13 | stefantalpalaru | (I don't want to maintain a parallel list of include paths for that) |
17:05:30 | clyybber | I was about to suggest doing a switch path |
17:05:35 | clyybber | in the config |
17:05:58 | stefantalpalaru | Having both scripts and humans edit the same files is a big no-no. |
17:06:15 | clyybber | why do the scripts have to edit those? |
17:06:21 | clyybber | just have a config.nims |
17:06:45 | clyybber | where theres switch path, deps/someSubModule/src |
17:07:07 | stefantalpalaru | BTW, config.nims was a waste of my time. I need to convert it back to nim.cfg so lower-level foo.nim.cfg gets a chance to override top-level settings. |
17:07:22 | leorize | disruptek: btw I got the same highlighting problem |
17:07:24 | clyybber | stefantalpalaru: No |
17:07:29 | clyybber | that got fixed afaik |
17:07:30 | stefantalpalaru | Oh yes. |
17:07:40 | stefantalpalaru | Fixed in devel is not fixed at all. |
17:07:41 | leorize | but turns out it was due to my nimsuggest being an old one that I built for testing that I left in my PATH |
17:07:55 | leorize | maybe you can check to see if it's the case for you |
17:08:05 | clyybber | stefantalpalaru: For you, but not for me :) |
17:08:30 | stefantalpalaru | Look at this issue and tell me it's fixed: https://github.com/status-im/nim-beacon-chain/issues/757 |
17:08:30 | disbot | โฅ `config.nims` breaks `.nim.cfg` |
17:08:36 | clyybber | https://github.com/nim-lang/Nim/pull/13488 |
17:08:38 | disbot | โฅ Fix #9405 - cfg and nims run in sync; correctly honor cmdline --hint:conf:on/off ; correctly show Conf hints in order ; snippet at 12https://play.nim-lang.org/#ix=2dy0 |
17:09:16 | clyybber | stefantalpalaru: I think it is. |
17:09:16 | dom96 | stefantalpalaru, what clyybber said but with .nim.cfg then |
17:09:52 | dom96 | I'm still uncertain why you've had to opt for this over either a nim.cfg file or a .nimble file |
17:09:54 | clyybber | yeah, what dom96 said, I was just injecting my nimscript agenda there :p |
17:09:56 | FromDiscord | <Rika> woah, first time getting "FPU operation caused a NaN result" |
17:09:56 | * | ptdel joined #nim |
17:10:04 | FromDiscord | <Rika> any way to change this? |
17:11:13 | stefantalpalaru | dom96, I just took advantage of Nim's default dir inclusion list, using a directory that I'm sure it will not be edited by humans. |
17:12:18 | stefantalpalaru | Any other scheme is more complicated and error prone |
17:12:59 | leorize | @Rika: don't divide by zero? |
17:13:49 | leorize | stefantalpalaru: that's basically what nimph do + it even resolve dependencies |
17:14:53 | stefantalpalaru | That's great, but I don't need, nor want a package manager for that. |
17:15:19 | clyybber | narimiran: Was https://github.com/nim-lang/Nim/pull/13488 backported? |
17:15:21 | disbot | โฅ Fix #9405 - cfg and nims run in sync; correctly honor cmdline --hint:conf:on/off ; correctly show Conf hints in order ; snippet at 12https://play.nim-lang.org/#ix=2dy0 |
17:15:35 | clyybber | stefantalpalaru: You are on 1.0 at status right? |
17:15:39 | stefantalpalaru | I want to deal with only one package manager on my system: my distro's official package manager. |
17:15:45 | stefantalpalaru | Nim-1.0.6 |
17:15:50 | FromDiscord | <Rika> leorize im not even |
17:15:55 | FromDiscord | <Rika> its just float minus float |
17:16:01 | clyybber | stefantalpalaru: You do upgrade to 1.0.x versions right? |
17:16:04 | FromDiscord | <Rika> and it's causing a nan for some reason |
17:16:05 | stefantalpalaru | Yes. |
17:16:08 | narimiran | guys, you do know that no matter what arguments you bring, no matter what you say, you won't change stefantalpalaru's mind, right? |
17:16:30 | FromDiscord | <Rika> ah |
17:16:31 | clyybber | stefantalpalaru: Nice, then you'll benefit from it when its backported |
17:16:35 | FromDiscord | <Rika> never mind, found the issue |
17:16:40 | narimiran | clyybber: not yet |
17:17:08 | stefantalpalaru | Thank you for your contribution, narimiran. Let me know when devel is released. |
17:17:20 | dom96 | I'm not trying to change stefantalpalaru's mind |
17:17:21 | shashlick | nothing is perfect and the path to perfection is forever |
17:17:26 | dom96 | I'm trying to figure out how we can make Nimble better |
17:17:51 | dom96 | That's always my goal, so please help me :) |
17:18:08 | clyybber | stefantalpalaru: Huh? Devel released? |
17:18:14 | narimiran | devel is released every day |
17:18:26 | clyybber | stefantalpalaru: He is backporting it *for you* |
17:18:32 | stefantalpalaru | Snapshots are not releases. |
17:18:40 | stefantalpalaru | Backporting is great. Thanks! |
17:20:13 | dom96 | "I want to deal with only one package manager on my system: my distro's official package manager." |
17:20:23 | shashlick | fact is that people who need to get things done don't want to wait around creating fixes and dancing around in PR reviews |
17:20:31 | dom96 | Can I interpret that as: I wouldn't use Nimble even if it was perfect and solved my use case perfectly? |
17:20:36 | stefantalpalaru | dom96, I understand and admire your drive, but you're pushing a very big rock up a very large mountain: https://research.swtch.com/version-sat |
17:21:39 | disruptek | hey dom96 come on mumble and let's talk pm shop |
17:21:43 | shashlick | but unless people who need to get things done contribute issues, testing and feedback, let alone code, you perhaps aren't really solving real world problems |
17:21:43 | disruptek | ~stream |
17:21:44 | disbot | stream: 11https://twitch.tv/disruptek (live video/audio) and mumble://uberalles.mumbl.io/ (live voice chat) -- disruptek |
17:21:52 | stefantalpalaru | Let's assume you make the perfect package manager. How do I install it on the user's system before I can bring all my other dependencies in? You noticed I don't even ask end users to install Nim, right? |
17:22:02 | dom96 | disruptek, mumble? I thought all the cool kids used Discord these days :) |
17:22:22 | disruptek | i dunno about discord. is it, like, really free and really open? |
17:22:32 | dom96 | disruptek, not even close :) |
17:22:43 | disruptek | well that kinda dampens it for me. |
17:22:51 | livcd | disruptek: did you drink today? |
17:23:17 | disruptek | are you on my stream right now? |
17:23:34 | disruptek | i guess you're not, or you wouldn't be asking that question. |
17:23:36 | livcd | I am! |
17:24:45 | dom96 | stefantalpalaru, huh? We're discussing this from the perspective of a developer of NimBus, not the end user. |
17:24:58 | dom96 | You definitely need Nim for that. |
17:25:13 | stefantalpalaru | Who do you think we develop this for? Other developers? |
17:25:43 | FromDiscord | <Rika> uh |
17:25:53 | FromDiscord | <Rika> how do i check if something is nan ๐ |
17:26:12 | stefantalpalaru | Read the installation instructions for Nimbus or nim-beacon-chain and you'll see they don't have any "install Nim" or "install this language-specific package manager" step. |
17:26:24 | dadada | disruptek: did your dog just drink water? |
17:26:28 | dadada | :-) |
17:26:50 | shashlick | disruptek: I'm on twitch on my laptop which is muted and on mumble on my phone |
17:27:10 | clyybber | dadada: It does all the time |
17:27:14 | clyybber | and intensely |
17:27:19 | stefantalpalaru | Don't you twitchers have a dedicated chat? |
17:27:27 | dom96 | stefantalpalaru, I feel like you're misunderstanding me. These scripts that you've created aren't used by your end users, correct? |
17:27:27 | clyybber | stefantalpalaru: Yes they do |
17:28:03 | dom96 | stefantalpalaru, you and your colleagues are using them. So why are you suddenly bringing the conversation onto your customers/end users? |
17:28:25 | dom96 | For those, certainly it doesn't make sense to download Nim and Nimble. They just get a binary and they're happy. |
17:28:26 | stefantalpalaru | Of course they are used, indirectly, when they run `make`. (except the add_submodule.sh one, obviously) |
17:29:00 | dom96 | Why would you even ask your customers to run `make`? |
17:29:01 | stefantalpalaru | No, they don't get a binary. I build the compiler for them, when they run `make`. |
17:29:32 | dadada | disruptek: can confirm there's an echo on twitch |
17:29:49 | stefantalpalaru | With security-sensitive software, people usually want to be able to build it from source. |
17:30:56 | dadada | disruptek: it's much better, thanks shashlick |
17:31:08 | stefantalpalaru | It's also great for development, by making sure everytbody is running the same compiler version, the same libraries versions, and so on. |
17:31:24 | * | Jesin quit (Quit: Leaving) |
17:31:56 | shashlick | hold on, am trying to get my headset working |
17:32:00 | dom96 | Right. I didn't realise this is what you did. I suppose it makes sense, but building Nimble in addition to this wouldn't add much more complexity (and you would also build a known locked Nimble version) |
17:32:24 | dom96 | s/and you/because you/ |
17:33:38 | stefantalpalaru | I already build Nimble along with Nim, but I'm not using it. It's mainly for dependencies that can only run their test suites through *.nimble files that are not valid NimScript (i.e.: they have an "after" section). |
17:33:42 | * | Zectbumo joined #nim |
17:38:10 | dom96 | Right, so do I really need to answer your questions above? "How do I install it on the user's system before I can bring all my other dependencies in?". Sounds like you've already got that part figured out, so I'm still wondering why you haven't utilised Nimble |
17:38:11 | dadada | disruptek: while close integration with github is desirable (talking about nimph here), I think it's worrying that github has become a defacto standard and is neither FOSS(not even open core) nor backed by a company that can be infinitely trusted, gitea is probably the closest FOSS contender, maybe you can add support for it in the future |
17:38:23 | * | Jesin joined #nim |
17:39:42 | FromDiscord | <exelotl> @Rika ```classify(n) == fcNan``` |
17:40:00 | FromDiscord | <exelotl> in the math module |
17:41:17 | Zevv | lqdev[m]: how is nadio going then |
17:42:43 | stefantalpalaru | Why would I want to introduce Nimble into the mix after already using Git submodules for Nim and Nimble itself? What can possibly justify such an incredibly complex component? Also, how are developers supposed to work on those Nimble-managed dependencies that don't have full Git trees in Nimble's package dir? What happens when a dependency's version/target commit is changed? How do I manage that transparently? Do you see why Git |
17:42:43 | stefantalpalaru | submodules make more sense here? |
17:43:56 | stefantalpalaru | Needing full control over dep versions also means I don't need dependency resolution. |
17:44:51 | stefantalpalaru | So why pretend that my project is a mini-distro that needs its own package manager? |
17:46:11 | stefantalpalaru | Long story short: I don't want to use Nimble because the cost outweighs the benefits. Does that answer your question? |
17:46:26 | dom96 | I think that's fair, but I also think that you could have saved yourself the need to write the nimble-link script at the very least and used `nimble develop` directly instead |
17:47:05 | dom96 | FWIW I hope that once Nimble gets lock files that it will justify the benefits of not having to come up with your own custom git submodule based solution |
17:47:20 | dom96 | as lock files will entirely skip the dependency resolution process |
17:47:43 | stefantalpalaru | But can you beat Git at its own game? |
17:48:47 | stefantalpalaru | BTW, I have different dep versions in different Git branches. |
17:49:52 | stefantalpalaru | And I deal with that like this: `git checkout somebranch; make update` |
17:50:34 | dom96 | You should already have your Nimble package versions tagged appropriately |
17:50:41 | dom96 | and Nimble does the checking out for you in that case |
17:50:54 | stefantalpalaru | For that, I'd have to tag almost every commit. |
17:51:30 | dom96 | Aren't you making a new branch for almost every commit right now then? |
17:52:13 | stefantalpalaru | No, but whenever a dependency is modified, its corresponding Git submodule gets bumped. |
17:52:36 | stefantalpalaru | That happens too often to make releases for that dep. |
17:53:15 | stefantalpalaru | And some deps are out of our control, so replacing commits with tags is not even possible. |
17:53:22 | FromDiscord | <Rika> @exelotl i did some shitty hackery like "a * 1 != a" lmao |
17:53:50 | FromDiscord | <exelotl> oh no. xD |
17:53:52 | dom96 | you can use commit hashes then, and check out those directly |
17:53:56 | dom96 | Nimble already supports this |
17:54:11 | dom96 | you can even continue to use branches, Nimble can check those out too |
17:54:12 | stefantalpalaru | Also, `nimble develop` is moch slower than my simple script. |
17:54:15 | FromDiscord | <Rika> i mean it works doesnt it |
17:54:16 | stefantalpalaru | *much |
17:54:55 | stefantalpalaru | I'd still have to make a wrapper that deletes and recreates Nimble's package dir when switching Git branches. |
17:55:15 | dom96 | I can believe that. It validates the package before installing it |
17:55:17 | FromDiscord | <exelotl> who knows ยฏ\_(ใ)_/ยฏ |
17:56:05 | dom96 | For that, I would just make a virtual Nimble package dir and remove it when switching branches |
17:58:09 | stefantalpalaru | Hence the small and fast create_nimble_link.sh :-) |
18:02:34 | * | marmotini_ quit (Remote host closed the connection) |
18:03:07 | * | marmotini_ joined #nim |
18:05:16 | dadada | genotrance: irc.freenode.org #nim |
18:07:48 | * | marmotini_ quit (Ping timeout: 265 seconds) |
18:08:15 | * | marmotini_ joined #nim |
18:34:19 | * | solitudesf quit (Remote host closed the connection) |
18:36:52 | * | marmotini_ quit (Remote host closed the connection) |
18:37:25 | * | marmotini_ joined #nim |
18:39:36 | * | sentreen_ joined #nim |
18:43:05 | * | sentreen quit (Ping timeout: 265 seconds) |
18:43:44 | * | marmotini_ quit (Ping timeout: 258 seconds) |
18:48:34 | * | solitudesf joined #nim |
18:50:11 | * | clyybber quit (Quit: WeeChat 2.7.1) |
18:50:21 | * | clyybber joined #nim |
18:59:52 | * | marmotini_ joined #nim |
19:04:38 | * | marmotini_ quit (Remote host closed the connection) |
19:05:12 | * | marmotini_ joined #nim |
19:09:43 | * | marmotini_ quit (Ping timeout: 255 seconds) |
19:15:16 | * | Vladar quit (Quit: Leaving) |
19:17:10 | * | jjido joined #nim |
19:26:11 | * | ptdel quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
19:26:39 | dadada | disruptek: came for seeing you do coding, stayed for the music :D |
19:28:35 | clyybber | came for the music, stayed for araqs keyboard :p |
19:32:27 | shashlick | @leorize: need your help to build v0.6.0 of choosenim musl |
19:36:33 | leorize | shashlick: you haven't managed to build a docker image for that? |
19:37:06 | leorize | I can do that, but you gotta wait til later |
19:37:07 | shashlick | i tried with alpine but turns out busybox find doesn't support -regextype |
19:37:23 | shashlick | so was looking for a shortcut till then |
19:37:27 | shashlick | what's your distro |
19:37:28 | leorize | build a void container |
19:37:38 | leorize | I'm on gentoo, but you don't want a gentoo container :P |
19:38:01 | leorize | build a void linux musl container |
19:38:06 | leorize | they have binary packages |
19:38:32 | shashlick | https://hub.docker.com/r/voidlinux/voidlinux-musl? |
19:48:27 | * | nsf joined #nim |
19:49:32 | * | gmpreussner_ joined #nim |
19:49:46 | * | gmpreussner quit (Ping timeout: 255 seconds) |
19:51:58 | * | zahary joined #nim |
20:04:19 | shashlick | choosenim v0.6.0 has been posted to the releases page - appreciate some testing - https://github.com/dom96/choosenim/releases |
20:14:55 | * | zahary quit (Quit: Leaving.) |
20:18:46 | ksandvik | choosenim update self - returns Already up to date at version 0.5.1 |
20:23:28 | FromDiscord | <exelotl> say I want to use Nim to generate a HTML file with syntax highlighted Nim code |
20:23:32 | FromDiscord | <exelotl> is there a solution for that? |
20:25:24 | FromDiscord | <Skaruts> what was that thing used to compile a single nim file for testing, `when defined(mainFile):`? |
20:25:29 | FromDiscord | <Skaruts> I completely forgot.. |
20:25:38 | shashlick | dom96 still needs to update the version on http://nim-lang.org for choosenim |
20:26:00 | ksandvik | OK |
20:26:38 | FromDiscord | <exelotl> @Skaruts `when isMainModule:` |
20:27:03 | FromDiscord | <Skaruts> ah! thanks |
20:37:42 | * | filcuc joined #nim |
20:38:22 | * | nsf quit (Quit: WeeChat 2.7) |
20:47:57 | * | zahary joined #nim |
20:48:59 | shashlick | ksandvik: okay it should work now |
20:53:05 | * | al_ joined #nim |
20:53:05 | * | al_ is now known as Guest94576 |
20:55:13 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzzโฆ) |
20:57:15 | lqdev[m] | @exelotl you can probably do that using the highlite module https://nim-lang.org/docs/highlite.html |
21:11:39 | * | noonien quit (*.net *.split) |
21:11:39 | * | blackbeard420 quit (*.net *.split) |
21:11:39 | * | r4vi quit (*.net *.split) |
21:11:39 | * | npgm quit (*.net *.split) |
21:11:40 | * | planetis[m] quit (*.net *.split) |
21:11:40 | * | lqdev[m] quit (*.net *.split) |
21:11:40 | * | Hotbees quit (*.net *.split) |
21:11:41 | * | CcxWrk quit (*.net *.split) |
21:11:41 | * | Cadey quit (*.net *.split) |
21:11:42 | * | leorize quit (*.net *.split) |
21:11:42 | * | opal quit (*.net *.split) |
21:11:51 | * | koltrast_ quit (*.net *.split) |
21:11:51 | * | shashlick quit (*.net *.split) |
21:11:51 | * | golechwi quit (*.net *.split) |
21:11:51 | * | sknebel quit (*.net *.split) |
21:11:51 | * | skrylar[m] quit (*.net *.split) |
21:11:51 | * | Demos[m] quit (*.net *.split) |
21:11:51 | * | reversem3 quit (*.net *.split) |
21:11:51 | * | matlock quit (*.net *.split) |
21:11:51 | * | nuxdie quit (*.net *.split) |
21:11:51 | * | euantor quit (*.net *.split) |
21:11:51 | * | ldlework quit (*.net *.split) |
21:11:51 | * | shodan45 quit (*.net *.split) |
21:11:51 | * | madprops quit (*.net *.split) |
21:11:51 | * | pydsigner quit (*.net *.split) |
21:11:51 | * | Jesin quit (*.net *.split) |
21:11:51 | * | theelous3 quit (*.net *.split) |
21:11:51 | * | xet7 quit (*.net *.split) |
21:11:51 | * | Ckat quit (*.net *.split) |
21:11:51 | * | EvergreenTree quit (*.net *.split) |
21:11:51 | * | joshbaptiste quit (*.net *.split) |
21:11:51 | * | Ekho quit (*.net *.split) |
21:11:51 | * | idxu quit (*.net *.split) |
21:11:51 | * | Amun_Ra quit (*.net *.split) |
21:11:51 | * | d10n quit (*.net *.split) |
21:11:51 | * | dom96 quit (*.net *.split) |
21:11:51 | * | yumaikas quit (*.net *.split) |
21:11:51 | * | dv^_^ quit (*.net *.split) |
21:11:51 | * | mwbrown quit (*.net *.split) |
21:11:51 | * | d10n-work quit (*.net *.split) |
21:11:51 | * | s87651[m] quit (*.net *.split) |
21:11:52 | * | k0mpjut0r quit (*.net *.split) |
21:11:52 | * | GitterIntegratio quit (*.net *.split) |
21:11:53 | * | LyndsySimon quit (*.net *.split) |
21:11:54 | * | msmorgan quit (*.net *.split) |
21:11:54 | * | Cthalupa quit (*.net *.split) |
21:11:54 | * | surma quit (*.net *.split) |
21:11:54 | * | mjsir911 quit (*.net *.split) |
21:11:54 | * | oz quit (*.net *.split) |
21:11:54 | * | rayman22201 quit (*.net *.split) |
21:11:55 | * | snowolf quit (*.net *.split) |
21:11:55 | * | disbot quit (*.net *.split) |
21:11:55 | * | tane quit (*.net *.split) |
21:11:55 | * | lain quit (*.net *.split) |
21:11:57 | * | def- quit (*.net *.split) |
21:11:57 | * | cornfeedhobo quit (*.net *.split) |
21:11:57 | * | Araq quit (*.net *.split) |
21:11:58 | * | Guest94576 quit (*.net *.split) |
21:11:59 | * | clyybber quit (*.net *.split) |
21:11:59 | * | sentreen_ quit (*.net *.split) |
21:11:59 | * | disruptek quit (*.net *.split) |
21:11:59 | * | alexander92 quit (*.net *.split) |
21:12:00 | * | clemens3 quit (*.net *.split) |
21:12:00 | * | m4r35n357 quit (*.net *.split) |
21:12:00 | * | beatmox quit (*.net *.split) |
21:12:00 | * | lbart quit (*.net *.split) |
21:12:00 | * | blueberrypie quit (*.net *.split) |
21:12:01 | * | oculux quit (*.net *.split) |
21:12:01 | * | vesper11 quit (*.net *.split) |
21:12:01 | * | revere quit (*.net *.split) |
21:12:01 | * | gangstacat quit (*.net *.split) |
21:12:01 | * | jholland__ quit (*.net *.split) |
21:12:01 | * | chemist69 quit (*.net *.split) |
21:12:01 | * | muffindrake quit (*.net *.split) |
21:12:02 | * | jwm224 quit (*.net *.split) |
21:12:02 | * | pbb quit (*.net *.split) |
21:12:03 | * | enthus1ast quit (*.net *.split) |
21:12:03 | * | Tanger quit (*.net *.split) |
21:12:03 | * | ng0 quit (*.net *.split) |
21:12:04 | * | mattmurr quit (*.net *.split) |
21:12:04 | * | nisstyre quit (*.net *.split) |
21:12:04 | * | livcd quit (*.net *.split) |
21:12:04 | * | ehmry quit (*.net *.split) |
21:12:04 | * | gsingh93 quit (*.net *.split) |
21:12:05 | * | EastByte quit (*.net *.split) |
21:12:05 | * | Trustable quit (*.net *.split) |
21:12:05 | * | lritter quit (*.net *.split) |
21:12:05 | * | dwdv quit (*.net *.split) |
21:12:05 | * | Jjp137 quit (*.net *.split) |
21:12:05 | * | dadada quit (*.net *.split) |
21:12:06 | * | Kaivo quit (*.net *.split) |
21:12:06 | * | sammich quit (*.net *.split) |
21:12:06 | * | arecaceae quit (*.net *.split) |
21:12:06 | * | Lord_Nightmare quit (*.net *.split) |
21:12:07 | * | thomasross quit (*.net *.split) |
21:12:07 | * | junland quit (*.net *.split) |
21:12:07 | * | kitech1 quit (*.net *.split) |
21:12:07 | * | SyrupThinker quit (*.net *.split) |
21:12:07 | * | njoseph quit (*.net *.split) |
21:12:07 | * | tribly quit (*.net *.split) |
21:12:08 | * | FromDiscord quit (*.net *.split) |
21:12:08 | * | zedeus quit (*.net *.split) |
21:12:09 | * | vycb[m] quit (*.net *.split) |
21:12:09 | * | sendell[m] quit (*.net *.split) |
21:12:09 | * | grantmwilliams quit (*.net *.split) |
21:12:09 | * | oswin[m] quit (*.net *.split) |
21:12:10 | * | leorize[m] quit (*.net *.split) |
21:12:10 | * | salotz[m] quit (*.net *.split) |
21:12:10 | * | hsh quit (*.net *.split) |
21:12:10 | * | bozaloshtsh quit (*.net *.split) |
21:12:10 | * | zielmicha__ quit (*.net *.split) |
21:12:10 | * | vegai quit (*.net *.split) |
21:12:11 | * | ljoonal quit (*.net *.split) |
21:12:11 | * | vqrs quit (*.net *.split) |
21:12:11 | * | stefantalpalaru quit (*.net *.split) |
21:12:11 | * | JStoker quit (*.net *.split) |
21:12:12 | * | Yardanico quit (*.net *.split) |
21:12:13 | * | solitudesf quit (*.net *.split) |
21:12:13 | * | Zectbumo quit (*.net *.split) |
21:12:14 | * | deepend quit (*.net *.split) |
21:12:14 | * | letto_ quit (*.net *.split) |
21:12:14 | * | shadowbane quit (*.net *.split) |
21:12:14 | * | sagax quit (*.net *.split) |
21:12:14 | * | GaveUp quit (*.net *.split) |
21:12:15 | * | nullwarp quit (*.net *.split) |
21:12:16 | * | SunDwarf quit (*.net *.split) |
21:12:16 | * | acidx quit (*.net *.split) |
21:12:17 | * | so quit (*.net *.split) |
21:12:17 | * | lmariscal06 quit (*.net *.split) |
21:12:18 | * | Mister_Magister quit (*.net *.split) |
21:12:18 | * | federico3 quit (*.net *.split) |
21:12:19 | * | FromGitter quit (*.net *.split) |
21:12:19 | * | uvegbot quit (*.net *.split) |
21:12:19 | * | avsej quit (*.net *.split) |
21:12:19 | * | paxis quit (*.net *.split) |
21:12:19 | * | matti quit (*.net *.split) |
21:12:20 | * | drewr quit (*.net *.split) |
21:12:20 | * | pqflx3[m] quit (*.net *.split) |
21:12:20 | * | chris2020[m] quit (*.net *.split) |
21:12:20 | * | unclechu quit (*.net *.split) |
21:12:20 | * | BitPuffin quit (*.net *.split) |
21:12:21 | * | crem quit (*.net *.split) |
21:12:21 | * | filcuc quit (*.net *.split) |
21:12:21 | * | dddddd quit (*.net *.split) |
21:12:21 | * | rockcavera quit (*.net *.split) |
21:12:22 | * | narimiran quit (*.net *.split) |
21:12:22 | * | Zevv quit (*.net *.split) |
21:12:22 | * | actuallybatman quit (*.net *.split) |
21:12:22 | * | cyraxjoe quit (*.net *.split) |
21:12:23 | * | onionhammer quit (*.net *.split) |
21:12:23 | * | literal quit (*.net *.split) |
21:12:24 | * | casaca quit (*.net *.split) |
21:12:25 | * | jken quit (*.net *.split) |
21:12:26 | * | d-nice2[m] quit (*.net *.split) |
21:12:26 | * | freepump[m] quit (*.net *.split) |
21:12:26 | * | oprypin quit (*.net *.split) |
21:12:26 | * | khanate[m]0 quit (*.net *.split) |
21:12:27 | * | skelett quit (*.net *.split) |
21:12:27 | * | l1x quit (*.net *.split) |
21:12:27 | * | zama quit (*.net *.split) |
21:12:27 | * | qwertfisch quit (*.net *.split) |
21:12:28 | * | xace quit (*.net *.split) |
21:12:29 | * | WilhelmVonWeiner quit (*.net *.split) |
21:12:45 | * | filcuc joined #nim |
21:12:45 | * | jjido joined #nim |
21:12:45 | * | Guest94576 joined #nim |
21:12:45 | * | clyybber joined #nim |
21:12:45 | * | solitudesf joined #nim |
21:12:45 | * | sentreen_ joined #nim |
21:12:45 | * | Jesin joined #nim |
21:12:45 | * | Zectbumo joined #nim |
21:12:45 | * | Trustable joined #nim |
21:12:45 | * | disbot joined #nim |
21:12:45 | * | disruptek joined #nim |
21:12:45 | * | FromGitter joined #nim |
21:12:45 | * | tane joined #nim |
21:12:45 | * | gangstacat joined #nim |
21:12:45 | * | dddddd joined #nim |
21:12:45 | * | alexander92 joined #nim |
21:12:45 | * | jholland__ joined #nim |
21:12:45 | * | uvegbot joined #nim |
21:12:45 | * | rockcavera joined #nim |
21:12:45 | * | lain joined #nim |
21:12:45 | * | deepend joined #nim |
21:12:45 | * | theelous3 joined #nim |
21:12:45 | * | chemist69 joined #nim |
21:12:45 | * | lritter joined #nim |
21:12:45 | * | letto_ joined #nim |
21:12:45 | * | dwdv joined #nim |
21:12:45 | * | shadowbane joined #nim |
21:12:45 | * | Jjp137 joined #nim |
21:12:45 | * | dadada joined #nim |
21:12:45 | * | muffindrake joined #nim |
21:12:45 | * | avsej joined #nim |
21:12:45 | * | sagax joined #nim |
21:12:45 | * | xet7 joined #nim |
21:12:45 | * | noonien joined #nim |
21:12:45 | * | Zevv joined #nim |
21:12:45 | * | Kaivo joined #nim |
21:12:45 | * | clemens3 joined #nim |
21:12:45 | * | m4r35n357 joined #nim |
21:12:45 | * | paxis joined #nim |
21:12:45 | * | d10n-work joined #nim |
21:12:45 | * | Cadey joined #nim |
21:12:45 | * | CcxWrk joined #nim |
21:12:45 | * | Hotbees joined #nim |
21:12:45 | * | lqdev[m] joined #nim |
21:12:45 | * | planetis[m] joined #nim |
21:12:45 | * | r4vi joined #nim |
21:12:45 | * | npgm joined #nim |
21:12:45 | * | blackbeard420 joined #nim |
21:12:45 | * | leorize joined #nim |
21:12:45 | * | sammich joined #nim |
21:12:45 | * | actuallybatman joined #nim |
21:12:45 | * | arecaceae joined #nim |
21:12:45 | * | GaveUp joined #nim |
21:12:45 | * | Lord_Nightmare joined #nim |
21:12:45 | * | beatmox joined #nim |
21:12:45 | * | lbart joined #nim |
21:12:45 | * | cyraxjoe joined #nim |
21:12:45 | * | blueberrypie joined #nim |
21:12:45 | * | matti joined #nim |
21:12:45 | * | nullwarp joined #nim |
21:12:45 | * | jwm224 joined #nim |
21:12:45 | * | drewr joined #nim |
21:12:45 | * | d-nice2[m] joined #nim |
21:12:45 | * | vycb[m] joined #nim |
21:12:45 | * | pqflx3[m] joined #nim |
21:12:45 | * | grantmwilliams joined #nim |
21:12:45 | * | sendell[m] joined #nim |
21:12:45 | * | skrylar[m] joined #nim |
21:12:45 | * | freepump[m] joined #nim |
21:12:45 | * | s87651[m] joined #nim |
21:12:45 | * | chris2020[m] joined #nim |
21:12:45 | * | salotz[m] joined #nim |
21:12:45 | * | oswin[m] joined #nim |
21:12:45 | * | Demos[m] joined #nim |
21:12:45 | * | reversem3 joined #nim |
21:12:45 | * | GitterIntegratio joined #nim |
21:12:45 | * | leorize[m] joined #nim |
21:12:45 | * | BitPuffin joined #nim |
21:12:45 | * | k0mpjut0r joined #nim |
21:12:45 | * | khanate[m]0 joined #nim |
21:12:45 | * | oprypin joined #nim |
21:12:45 | * | unclechu joined #nim |
21:12:45 | * | oculux joined #nim |
21:12:45 | * | vesper11 joined #nim |
21:12:45 | * | pbb joined #nim |
21:12:45 | * | crem joined #nim |
21:12:45 | * | thomasross joined #nim |
21:12:45 | * | junland joined #nim |
21:12:45 | * | onionhammer joined #nim |
21:12:45 | * | literal joined #nim |
21:12:45 | * | kitech1 joined #nim |
21:12:45 | * | SyrupThinker joined #nim |
21:12:45 | * | WilhelmVonWeiner joined #nim |
21:12:45 | * | xace joined #nim |
21:12:45 | * | lmariscal06 joined #nim |
21:12:45 | * | Mister_Magister joined #nim |
21:12:45 | * | federico3 joined #nim |
21:12:45 | * | Yardanico joined #nim |
21:12:45 | * | ljoonal joined #nim |
21:12:45 | * | vqrs joined #nim |
21:12:45 | * | stefantalpalaru joined #nim |
21:12:45 | * | JStoker joined #nim |
21:12:45 | * | ehmry joined #nim |
21:12:45 | * | gsingh93 joined #nim |
21:12:45 | * | EastByte joined #nim |
21:12:45 | * | vegai joined #nim |
21:12:45 | * | revere joined #nim |
21:12:45 | * | msmorgan joined #nim |
21:12:45 | * | Cthalupa joined #nim |
21:12:45 | * | surma joined #nim |
21:12:45 | * | mjsir911 joined #nim |
21:12:45 | * | oz joined #nim |
21:12:45 | * | rayman22201 joined #nim |
21:12:45 | * | snowolf joined #nim |
21:12:45 | * | cornfeedhobo joined #nim |
21:12:45 | * | Araq joined #nim |
21:12:45 | * | Amun_Ra joined #nim |
21:12:45 | * | d10n joined #nim |
21:12:45 | * | dom96 joined #nim |
21:12:45 | * | yumaikas joined #nim |
21:12:45 | * | dv^_^ joined #nim |
21:12:45 | * | mwbrown joined #nim |
21:12:45 | * | jken joined #nim |
21:12:45 | * | joshbaptiste joined #nim |
21:12:45 | * | Ekho joined #nim |
21:12:45 | * | idxu joined #nim |
21:12:45 | * | shashlick joined #nim |
21:12:45 | * | golechwi joined #nim |
21:12:45 | * | sknebel joined #nim |
21:12:45 | * | euantor joined #nim |
21:12:45 | * | ldlework joined #nim |
21:12:45 | * | shodan45 joined #nim |
21:12:45 | * | pydsigner joined #nim |
21:12:45 | * | LyndsySimon joined #nim |
21:12:45 | * | so joined #nim |
21:12:45 | * | nuxdie joined #nim |
21:12:45 | * | matlock joined #nim |
21:12:45 | * | EvergreenTree joined #nim |
21:12:45 | * | def- joined #nim |
21:12:45 | * | Ckat joined #nim |
21:12:45 | * | livcd joined #nim |
21:12:45 | * | zielmicha__ joined #nim |
21:12:45 | * | nisstyre joined #nim |
21:12:45 | * | koltrast_ joined #nim |
21:12:45 | * | madprops joined #nim |
21:12:45 | * | bozaloshtsh joined #nim |
21:12:45 | * | qwertfisch joined #nim |
21:12:45 | * | zama joined #nim |
21:12:45 | * | l1x joined #nim |
21:12:45 | * | mattmurr joined #nim |
21:12:45 | * | ng0 joined #nim |
21:12:45 | * | casaca joined #nim |
21:12:45 | * | zedeus joined #nim |
21:12:45 | * | hsh joined #nim |
21:12:45 | * | Tanger joined #nim |
21:12:45 | * | FromDiscord joined #nim |
21:12:45 | * | acidx joined #nim |
21:12:45 | * | skelett joined #nim |
21:12:45 | * | SunDwarf joined #nim |
21:12:45 | * | enthus1ast joined #nim |
21:12:45 | * | tribly joined #nim |
21:12:45 | * | opal joined #nim |
21:12:45 | * | njoseph joined #nim |
21:13:38 | * | mal`` quit (Max SendQ exceeded) |
21:13:39 | * | hpyc9 quit (Max SendQ exceeded) |
21:13:50 | * | hpyc9 joined #nim |
21:14:09 | * | mal`` joined #nim |
21:17:35 | FromDiscord | <Skaruts> can a generic be confined to a specific range of types? |
21:18:11 | FromDiscord | <Skaruts> like saying `T` can only be int8, int16, int32 and int64? |
21:18:18 | Yardanico | yes |
21:18:35 | Yardanico | proc test[T: int8 | int16 | int32 | int64](num: T) = ... |
21:18:45 | Yardanico | btw there's SomeNumber generic type for numbers |
21:18:58 | FromDiscord | <Skaruts> and the return value can be converted as T(val)? |
21:19:02 | Yardanico | yes |
21:19:10 | FromDiscord | <Skaruts> nice |
21:19:37 | FromDiscord | <Skaruts> yea I know about SomeInteger, but I needed to return the same type that comes in |
21:19:57 | FromDiscord | <Skaruts> I don't suppose I can do that with SomeInteger |
21:20:08 | ksandvik | thx yes choosenim now updated to 0.6.0. |
21:20:19 | Yardanico | @Skaruts well you can |
21:20:55 | Yardanico | proc test[T: SomeInteger](num: T): T = return T(1) |
21:20:56 | FromDiscord | <exelotl> proc test[T: SomeInteger](num: T) = ... |
21:20:56 | FromDiscord | <Skaruts> how? |
21:21:01 | FromDiscord | <Skaruts> ah |
21:21:06 | FromDiscord | <Skaruts> nice |
21:21:08 | FromDiscord | <exelotl> yeah that lol |
21:21:23 | FromDiscord | <Skaruts> thanks ๐ |
21:24:43 | * | jholland__ quit (Quit: Connection closed for inactivity) |
21:26:25 | * | sealmove joined #nim |
21:27:23 | sealmove | @Zevv |
21:28:33 | FromDiscord | <Skaruts> does SomeInteger include unsigned ints? If so, is there one that doesn't? |
21:29:25 | FromDiscord | <exelotl> search for "Some" in https://nim-lang.github.io/Nim/system.html |
21:29:31 | FromDiscord | <Skaruts> nevermind, SomeSignedInt |
21:29:38 | FromDiscord | <Skaruts> ah thanks |
21:35:16 | * | Trustable quit (Remote host closed the connection) |
21:48:15 | * | Zectbumo quit (Remote host closed the connection) |
21:49:32 | * | Zectbumo joined #nim |
21:51:02 | * | filcuc quit (Quit: Konversation terminated!) |
21:52:03 | * | abm joined #nim |
21:53:09 | * | letto_ quit (Quit: Konversation terminated!) |
21:54:58 | * | letto joined #nim |
21:57:50 | * | Guest94576 quit (Quit: Guest94576) |
22:07:36 | * | lritter quit (Quit: Leaving) |
22:13:14 | * | alexander92 quit (Ping timeout: 256 seconds) |
22:20:47 | * | krux02 joined #nim |
22:33:08 | sealmove | how to specify range of unicode characters? |
22:33:56 | clyybber | you can't, I think |
22:33:59 | sealmove | I want something like this: {'\u{10000}' .. '\u{10FFFF}'} |
22:34:08 | sealmove | :( |
22:34:08 | clyybber | Since Rune is not an enum |
22:34:14 | clyybber | sealmove: Well you *can* |
22:34:21 | clyybber | but its not yet included in the stdlib :) |
22:34:28 | * | solitudesf quit (Ping timeout: 255 seconds) |
22:34:34 | clyybber | you can make the change though |
22:34:45 | sealmove | sure, I need it... |
22:36:23 | clyybber | sealmove: I think you should make a `..` overload |
22:36:32 | clyybber | that takes two Runes |
22:36:36 | clyybber | and returns a RuneRange |
22:36:59 | clyybber | or just a Range[Rune] |
22:37:14 | clyybber | hmm, no I think you need RuneRange |
22:37:21 | clyybber | And then you define a contains proc |
22:37:28 | clyybber | on RuneRange and Rune |
22:38:08 | * | Hideki_ joined #nim |
22:38:20 | clyybber | Then you can just do the above, minus the brackets |
22:39:44 | sealmove | brackets are for npeg lol |
22:40:03 | sealmove | then I think npeg must be tinkered to support RuneRange |
22:40:43 | clyybber | hmm, maybe yeah |
22:40:59 | clyybber | bother Zevv with that :p |
22:42:49 | * | Hideki_ quit (Ping timeout: 265 seconds) |
22:56:46 | sealmove | is RuneRange defined somewhere? |
22:57:51 | clyybber | I made it up |
22:58:02 | clyybber | I was outlining what you need to do to make this work |
22:58:05 | clyybber | :D |
22:58:21 | clyybber | But it would be an object containing to Runes |
22:58:45 | sealmove | i see |
22:59:14 | clyybber | s/to/two |
22:59:34 | * | bunbunbunbunny joined #nim |
22:59:46 | bunbunbunbunny | hi |
22:59:46 | bunbunbunbunny | :) |
22:59:46 | bunbunbunbunny | is it possible to have a generic anonymous proc |
22:59:52 | bunbunbunbunny | i'm trying to store an array of them |
23:00:12 | sealmove | should be possible |
23:00:41 | FromDiscord | <exelotl> wait should it? |
23:00:41 | clyybber | bunbunbunbunny: Yes |
23:00:43 | bunbunbunbunny | so should be like this var next_arr: arr[Ann, (T):Option[MyObject]] |
23:00:52 | bunbunbunbunny | or something |
23:00:53 | clyybber | bunbunbunbunny: But you cannot store a generic proc |
23:01:00 | clyybber | Because it is not instantiated |
23:01:10 | clyybber | you can only store concrete procs |
23:01:16 | clyybber | because types are a compile time thing |
23:01:37 | bunbunbunbunny | oh |
23:01:40 | bunbunbunbunny | so i can't do this ar next_arr: arr[Ann, proc(T):Option[CmpVariant]] |
23:01:46 | bunbunbunbunny | ? |
23:01:47 | bunbunbunbunny | :( |
23:02:10 | clyybber | no |
23:02:14 | bunbunbunbunny | dang |
23:02:24 | clyybber | because T would have to be determined at runtime |
23:02:28 | bunbunbunbunny | yeah fair enough |
23:02:32 | bunbunbunbunny | sorry very new :D |
23:02:36 | Yardanico | bunbunbunbunny: why do you need this though? |
23:02:37 | clyybber | Np :) |
23:02:41 | * | dwdv quit (Quit: quit) |
23:02:54 | bunbunbunbunny | i have two different types of iterators that return the same type |
23:03:00 | bunbunbunbunny | and i'm trying to store their iterator closures |
23:03:02 | bunbunbunbunny | in an arr |
23:03:09 | bunbunbunbunny | so i can cycle through them and call them respectfully |
23:03:19 | bunbunbunbunny | hope that makes sense |
23:03:54 | bunbunbunbunny | any ideas what to do |
23:03:56 | bunbunbunbunny | :O |
23:04:23 | bunbunbunbunny | actually i have an idea |
23:04:24 | bunbunbunbunny | nvm |
23:04:42 | bunbunbunbunny | thanks for helps |
23:09:21 | bunbunbunbunny | oh nooo you can't have generic types in array? |
23:10:04 | Yardanico | bunbunbunbunny: remember that nim is not a dynamically typed language |
23:10:11 | Yardanico | it's all statically compiled |
23:10:14 | bunbunbunbunny | yea sry |
23:10:17 | bunbunbunbunny | coming from python |
23:10:44 | bunbunbunbunny | also i'm dumb lol |
23:11:08 | * | filcuc joined #nim |
23:12:33 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzzโฆ) |
23:13:52 | FromDiscord | <exelotl> if you're ever lost you can try using https://play.nim-lang.org/ to make a minimal example and share it with us :) |
23:15:02 | FromDiscord | <Recruit_main70007> Hello, I've been thinking, could I create a little kernel in Nim, and use it in my raspberry? |
23:15:16 | Yardanico | well yes, if you can do something in C you can do it in Nim |
23:15:28 | * | jjido joined #nim |
23:15:29 | Yardanico | and you can basically do everything in C so you get the idea :P |
23:16:06 | FromDiscord | <Recruit_main70007> But... I would be the first one and would have no reference to follow? |
23:16:15 | Yardanico | for nim? yes |
23:16:24 | Yardanico | there's only a few small x86 kernels made in Nim |
23:17:18 | FromDiscord | <Recruit_main70007> Let's just make an actual OS and accord to use it |
23:17:27 | FromDiscord | <Recruit_main70007> In Nim that is |
23:18:17 | FromDiscord | <Recruit_main70007> Anyway, it's probably easier to just use an emulator |
23:19:00 | FromDiscord | <Elegant Beef> It's also probably easier to use raspbian, but that's the not the point as far as i know |
23:19:32 | Yardanico | xd |
23:21:04 | FromDiscord | <exelotl> Well, Nim can do everything C can with one exception that still haunts me: addressable constant data |
23:21:40 | clyybber | exelotl: But it can nowadays |
23:21:49 | clyybber | You may have to do some emit thingies tho |
23:23:47 | FromDiscord | <exelotl> oh yeah, I've figured out how to jump through all the hoops. But emit isn't a nice solution because, when you import the variable back to Nim, you get a duplicate definition |
23:24:29 | FromDiscord | <exelotl> you can fix it by adding {.nodecl.}, but then it's impossible to access the variable from other modules (maybe you could importc it in every module where it's used?) |
23:26:14 | FromDiscord | <exelotl> so my solution is to have tooling that spits out C files with my data, and also spits out Nim files to {.compile.} the C source and also {.importc.} all the variables |
23:27:37 | FromDiscord | <exelotl> not pretty but ends up considerably cleaner and less confusing than building a bunch of macros to massage the emit shenanigans |
23:28:12 | clyybber | eh |
23:28:25 | clyybber | you may not even need emit nowadays |
23:28:40 | clyybber | lets are now static if possible |
23:29:20 | FromDiscord | <exelotl> oh yeah I'm aware there was some work done on 'let' which is awesome. But last I checked it only works for very simple cases, like arrays of numbers |
23:30:20 | FromDiscord | <exelotl> I need to be able to have like, a const leveldata object, possibly containing pointers to functions and stuff like that |
23:32:50 | sealmove | ok clyybber, I made my attempt: https://github.com/nim-lang/Nim/pull/13600 |
23:32:50 | disbot | โฅ added range functionality for runes |
23:37:46 | FromDiscord | <clyybber> sealmove: Nice! |
23:39:07 | bunbunbunbunny | hi i'm new to ptrs (coming from python) if i have two integer variables and i want another variable to point to one of these such that i can increment either one from this one variable |
23:39:11 | bunbunbunbunny | how do i do this |
23:43:15 | sealmove | maybe check the first snippet in this: https://forum.nim-lang.org/t/1787 |
23:43:23 | bunbunbunbunny | ok thanks! |
23:43:54 | * | clyybber quit (Ping timeout: 256 seconds) |
23:44:42 | FromDiscord | <exelotl> bunbunbunbunny: here https://play.nim-lang.org/#ix=2dA8 |
23:45:33 | * | clyybber joined #nim |
23:45:41 | bunbunbunbunny | thanks :)) |
23:46:14 | FromDiscord | <exelotl> I rarely use [] in practise, because usually I'll be working with a pointer to an object, rather than a pointer to an int |
23:47:17 | FromDiscord | <exelotl> field access will dereference automatically. so you can do p.foo, you don't need to do p[].foo |
23:48:04 | * | filcuc quit (Ping timeout: 265 seconds) |
23:48:32 | clyybber | gn8 peeps |
23:48:38 | * | clyybber quit (Client Quit) |
23:48:38 | FromDiscord | <Elegant Beef> buhbye |
23:50:05 | * | filcuc joined #nim |
23:50:30 | bunbunbunbunny | i have an array that has the size based on an enum like so: var arr: array[Ann, Option[CmpVariant]] |
23:50:45 | bunbunbunbunny | and i'm trying to make a method that takes a generic T like so |
23:50:46 | bunbunbunbunny | proc include_these*[T](arr: array[T, Option[CmpVariant]]): array[T, bool] = |
23:50:55 | bunbunbunbunny | but i can't seem to call include_these |
23:51:21 | bunbunbunbunny | says template/generic instatiation from here |
23:51:25 | bunbunbunbunny | include_these(arr) |
23:51:38 | bunbunbunbunny | do i need to specify the Ann type after the proc name? |
23:51:50 | * | disruptek quit (Ping timeout: 256 seconds) |
23:52:24 | FromDiscord | <Elegant Beef> Correct me if im wrong but isnt T in that case the array size? |
23:52:39 | bunbunbunbunny | yea |
23:52:59 | * | disbot quit (Ping timeout: 268 seconds) |
23:54:25 | FromDiscord | <Elegant Beef> Well i dont know what that's doing, the size being generic doesnt make much much sense, but i barely know anything |
23:54:27 | FromDiscord | <Elegant Beef> So ๐ |
23:54:54 | FromDiscord | <exelotl> uuh I'll show you what I would do, gimme 5 mins |
23:55:20 | bunbunbunbunny | ok ty |
23:55:21 | bunbunbunbunny | :> |