00:46:46 | FromDiscord | <gogolxdong (liuxiaodong)> Anyone working on chia? |
00:58:25 | FromDiscord | <@bracketmaster-5a708063d73408ce4> in nim, I had an array of functions that returned numbers.↵I then wanted to |
00:58:47 | FromDiscord | <@bracketmaster-5a708063d73408ce4> debug one of the functions and had one of the functions in the array print something |
00:59:01 | FromDiscord | <@bracketmaster-5a708063d73408ce4> nim then complained that one of the functions in the array had side effect |
00:59:15 | FromDiscord | <@bracketmaster-5a708063d73408ce4> refused to compile, saying arrays must have the same types |
00:59:33 | FromDiscord | <Elegantbeef> Do you have the code? |
01:00:36 | FromDiscord | <@bracketmaster-5a708063d73408ce4> not off hand - could probably push to git |
01:00:42 | FromDiscord | <@bracketmaster-5a708063d73408ce4> git -\> gitlab |
01:03:44 | FromDiscord | <leorize> use debugEcho |
01:03:54 | FromDiscord | <leorize> the normal echo has side-effect |
01:04:33 | FromDiscord | <Elegantbeef> Alternatively make a typedef of the procedure |
01:04:33 | FromDiscord | <Elegantbeef> then convert the first value to it |
01:13:52 | FromDiscord | <@bracketmaster-5a708063d73408ce4> http://ix.io/3yUc |
01:14:44 | FromDiscord | <@bracketmaster-5a708063d73408ce4> typedef of the procedure? |
01:14:47 | FromDiscord | <@bracketmaster-5a708063d73408ce4> how would that fix things? |
01:15:17 | FromDiscord | <Elegantbeef> https://play.nim-lang.org/#ix=3yUd |
01:15:35 | FromDiscord | <auxym> can a nim enum be used directly as a parameter to a C function (imported via `{.importc, header.}` that takes a C typedef enum? Or do I need to cast it to `cint` or something? |
01:15:36 | FromDiscord | <Elegantbeef> It converts a proc to a given typedef so it doesnt infer the array type from the first |
01:15:48 | FromDiscord | <Elegantbeef> It should be usable directly |
01:15:53 | FromDiscord | <auxym> yay |
01:17:59 | FromDiscord | <Elegantbeef> You can also pass bitsets to C seemlessly afaik |
01:18:09 | FromDiscord | <Elegantbeef> And convert the C bitsets from them |
01:18:45 | FromDiscord | <Elegantbeef> IE if you get `Up | Left | Right` if you have `set[YourEnum]` |
01:18:58 | * | arfy is seriously making a more nim-ish wrapping over the top of nimbass. |
01:19:06 | arfy | er. seriously thinking about |
01:26:12 | FromDiscord | <Elegantbeef> To elaborate bracketmaster https://play.nim-lang.org/#ix=3yUe |
01:29:44 | * | neurocyte4 joined #nim |
01:29:44 | * | neurocyte4 quit (Changing host) |
01:29:44 | * | neurocyte4 joined #nim |
01:30:17 | FromDiscord | <@bracketmaster-5a708063d73408ce4> why do you put {.nimcall .} at the end? |
01:31:07 | FromDiscord | <@bracketmaster-5a708063d73408ce4> also, how are you able to call YourProc on p2? |
01:31:53 | * | neurocyte quit (Ping timeout: 268 seconds) |
01:31:53 | * | neurocyte4 is now known as neurocyte |
01:43:45 | FromDiscord | <Elegantbeef> I'm converting it |
01:54:45 | * | arkurious quit (Quit: Leaving) |
01:58:28 | FromDiscord | <@bracketmaster-5a708063d73408ce4> you can convert one function to another? |
01:58:35 | FromDiscord | <@bracketmaster-5a708063d73408ce4> this seems kind of arbitrary... |
02:04:27 | FromDiscord | <Elegantbeef> In what way? |
02:04:45 | FromDiscord | <Elegantbeef> You're taking a `proc(a: int): int {.gcsafe.}` and converting it into `proc(a: int): int` |
02:10:58 | FromDiscord | <@bracketmaster-5a708063d73408ce4> it seems that nim doesn't really allow shadowing? |
02:11:10 | FromDiscord | <Elegantbeef> It does |
02:11:11 | FromDiscord | <impbox [ftsf]> it does? |
02:11:51 | FromDiscord | <@bracketmaster-5a708063d73408ce4> var a = 1↵var a = 2↵↵echo a |
02:11:56 | FromDiscord | <@bracketmaster-5a708063d73408ce4> not the way rust does I guess |
02:12:00 | FromDiscord | <Elegantbeef> It can only shadow in new scopes |
02:12:17 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=3yUl |
02:12:35 | FromDiscord | <@bracketmaster-5a708063d73408ce4> thx beef |
02:12:46 | FromDiscord | <Elegantbeef> There is even some magic to shadow in same scope |
02:12:51 | FromDiscord | <Elegantbeef> Atleast iirc |
02:12:52 | FromDiscord | <j-james> what's the syntax for returning the increment of a character? |
02:13:00 | FromDiscord | <Elegantbeef> "the increment" |
02:13:09 | FromDiscord | <impbox [ftsf]> c.succ |
02:13:11 | FromDiscord | <j-james> yeah, since it's an Ordinal type |
02:13:45 | FromDiscord | <impbox [ftsf]> https://nim-lang.org/docs/system.html#succ%2CT%2Cint |
02:13:57 | FromDiscord | <impbox [ftsf]> note that it doesn't mutate the variable |
02:14:29 | FromDiscord | <j-james> literally succ haha, i thought you were making a joke |
02:14:30 | FromDiscord | <j-james> thanks a lot |
02:14:39 | FromDiscord | <j-james> not mutating the variable was what i was looking for |
02:14:47 | FromDiscord | <impbox [ftsf]> dang `it.succ` would have been better |
02:15:02 | FromDiscord | <impbox [ftsf]> `succ(it)` |
02:15:35 | FromDiscord | <impbox [ftsf]> `succ(it)` and see what happens |
02:23:45 | FromDiscord | <@bracketmaster-5a708063d73408ce4> @elegantbeef\:matrix.org - what is the purpose of `block`/ |
02:23:56 | FromDiscord | <Elegantbeef> Creates a new block |
02:24:17 | FromDiscord | <Elegantbeef> same as `{}` in languages with curlies |
02:25:38 | FromDiscord | <Elegantbeef> sent a code paste, see https://paste.rs/xhI |
02:26:30 | FromDiscord | <@bracketmaster-5a708063d73408ce4> ah |
02:28:47 | FromDiscord | <@bracketmaster-5a708063d73408ce4> can you also assign a proc to a? |
02:28:56 | FromDiscord | <@bracketmaster-5a708063d73408ce4> that is, could a block somehow return a function? |
02:29:18 | FromDiscord | <Elegantbeef> Of course as long as you use `someVal = proc` or `return proc` |
02:34:23 | FromDiscord | <@bracketmaster-5a708063d73408ce4> any nim libraries for cryptography? |
02:34:34 | FromDiscord | <@bracketmaster-5a708063d73408ce4> I wanted to do some ECC or RSA encryption |
02:34:43 | FromDiscord | <Elegantbeef> nimcrypto, openssl? |
02:35:01 | FromDiscord | <Elegantbeef> I dont know crypto whatsoever so dont know what's best |
02:36:35 | FromDiscord | <@bracketmaster-5a708063d73408ce4> ah |
02:36:47 | FromDiscord | <@bracketmaster-5a708063d73408ce4> nimcrypto just has hashing algos |
02:37:02 | FromDiscord | <@bracketmaster-5a708063d73408ce4> but no prime-number or elliptical-curve cryptography |
02:40:29 | * | rockcavera quit (Remote host closed the connection) |
02:40:29 | FromDiscord | <cabboose> I don't know C syntax; what's this\:↵`type TagPtr = (Node ptr, u16 idx)` |
02:40:47 | FromDiscord | <cabboose> is that saying tagptr is just a ptr to node as a u16 int? |
02:41:22 | FromDiscord | <cabboose> or tagptr is a u16 index to the reference of Node? |
02:53:39 | FromDiscord | <Elegantbeef> That's valid C syntax?! |
02:54:02 | FromDiscord | <cabboose> I dunno |
02:54:04 | FromDiscord | <cabboose> https://ieeexplore.ieee.org/abstract/document/9490347?casa_token=Pe0y6ibhbzQAAAAA:FwJO6N3uar79gGH5l5dQ6M2hkaB6buBNeVaWW8BPKvHTr4Wrdk8c_QxOsjcTonvLo3BY7Q4kOw |
02:54:18 | FromDiscord | <cabboose> See listing 1 |
02:54:34 | * | Gustavo6046 quit (Quit: ZNC 1.8.2 - https://znc.in) |
02:54:48 | * | Gustavo6046 joined #nim |
02:55:09 | FromDiscord | <cabboose> I assumed it was C but I'm oblivious |
02:56:16 | FromDiscord | <cabboose> just pseudocode I guess; but then what type of value are they referencing with that line |
02:56:18 | FromDiscord | <Elegantbeef> well `u16` is used in Zig/Rust so maybe that's just a type alias of `(ptr Node, uint16)`? |
02:57:13 | FromDiscord | <cabboose> Ok so its just ptr Node as uint16 |
02:57:14 | FromDiscord | <cabboose> right |
02:57:24 | FromDiscord | <cabboose> or a tuple |
02:57:25 | FromDiscord | <Elegantbeef> I'd say it's a tuple |
02:57:29 | FromDiscord | <cabboose> you mean |
02:57:33 | FromDiscord | <cabboose> right |
02:57:33 | FromDiscord | <cabboose> ofc |
02:57:34 | FromDiscord | <cabboose> cool |
02:57:35 | FromDiscord | <cabboose> thanks sxc |
02:57:53 | FromDiscord | <Elegantbeef> I could be wrong i dont have a degree in guessology |
02:58:04 | FromDiscord | <cabboose> Sounds like a fake degree |
02:58:06 | FromDiscord | <cabboose> but university these days |
02:58:17 | FromDiscord | <cabboose> I'd imagine its in the arts section |
02:58:48 | FromDiscord | <Elegantbeef> Hey i dont know the courses that post secondary offers |
03:02:10 | FromDiscord | <cabboose> and then am I able to disown the bitch later? |
03:02:16 | FromDiscord | <cabboose> sent a code paste, see https://play.nim-lang.org/#ix=3yUw |
03:04:14 | FromDiscord | <Elegantbeef> Dont know that answer |
03:04:35 | FromDiscord | <cabboose> Shameful |
03:04:46 | FromDiscord | <cabboose> You bring shame to Novoscotia |
03:06:07 | FromDiscord | <Elegantbeef> But i'm not from there |
03:06:17 | FromDiscord | <cabboose> still |
03:06:20 | FromDiscord | <cabboose> theyre disappointed in you |
03:06:30 | FromDiscord | <cabboose> I didnt say you should care |
03:20:42 | * | Gustavo6046 quit (Quit: ZNC 1.8.2 - https://znc.in) |
03:25:14 | * | Gustavo6046 joined #nim |
03:47:06 | FromDiscord | <cabboose> c++ try\_reclaim |
03:47:11 | FromDiscord | <cabboose> is that like an atomic dec |
03:48:02 | FromDiscord | <cabboose> what de fak |
03:48:03 | FromDiscord | <cabboose> what the hell is try\_reclaim |
03:48:27 | FromDiscord | <cabboose> image.png https://media.discordapp.net/attachments/371759389889003532/887545373072175225/image.png |
03:48:37 | FromDiscord | <cabboose> E9 |
03:49:06 | FromDiscord | <cabboose> uwu |
03:49:52 | FromDiscord | <cabboose> so from what I understand is they are changing the pointer t back to tail.position i-1 |
03:50:03 | FromDiscord | <cabboose> wait yeah |
03:50:03 | FromDiscord | <cabboose> that makes sense |
03:50:03 | FromDiscord | <cabboose> fuck you guys im awesome |
03:51:09 | FromDiscord | <cabboose> shit how am I going to do this |
03:51:27 | FromDiscord | <cabboose> I am not a very smart man |
04:06:01 | * | supakeen quit (Quit: WeeChat 3.2.1) |
04:06:31 | * | supakeen joined #nim |
04:07:00 | FromDiscord | <cabboose> Ok I'm up to E12 |
04:07:25 | FromDiscord | <cabboose> what order of operations are they doing to turn el and t (both are pointers) into an enumerator? |
04:07:38 | FromDiscord | <cabboose> I'm guessing AdvAndInserted is 0 and AdvOnly is 1 |
04:07:52 | FromDiscord | <cabboose> so is this an and bitwise operation? |
04:08:04 | FromDiscord | <cabboose> why is this in fucking gibberish |
04:08:20 | FromDiscord | <cabboose> Fuck it i'm going with that |
04:08:23 | FromDiscord | <cabboose> and I think I know why |
04:08:46 | FromDiscord | <cabboose> but I definitely don't |
04:08:48 | FromDiscord | <cabboose> I just 'think' |
05:10:11 | * | kayabaNerve_ quit (Ping timeout: 268 seconds) |
06:17:57 | * | xet7 quit (Remote host closed the connection) |
06:18:55 | * | xet7 joined #nim |
06:37:31 | * | xet7 quit (Remote host closed the connection) |
06:38:26 | * | xet7 joined #nim |
06:38:52 | FromDiscord | <Varriount> Zevv: How would one program an optimization pass into NPeg? |
06:39:32 | FromDiscord | <Varriount> Specifically, a pass to hoist common prefixes/suffixes from alternations. |
06:47:18 | * | max22- joined #nim |
06:48:24 | * | PMunch joined #nim |
06:51:26 | PMunch | Hmm, is there a way to get nimcache from a macro? |
06:53:18 | * | tdc joined #nim |
06:55:07 | * | mdbauman quit (Read error: Connection reset by peer) |
06:57:12 | FromDiscord | <haxscramper> std/compilesettings |
06:58:03 | PMunch | Ooh, perfect |
07:19:44 | Zevv | varriount: id need to draw a picture for that |
07:22:08 | Zevv | basically you change a * v | a * w | b * x | b * y into a * (v | w) | b * (x | y) |
07:22:23 | FromDiscord | <Varriount> Yeah |
07:26:50 | FromDiscord | <Varriount> Zevv: Just thinking aloud here, but I was pondering what kind of compilation and/or runtime difference extracting common alternation prefixes, inlining all rules, then performing rule synthesis using a "longest common sequence/string" algorithm would have for large grammars. |
07:27:50 | FromDiscord | <Varriount> Essentially, simplifying the grammar as much as possible, inlining everything, then un-inlining everything. |
07:29:28 | FromDiscord | <Varriount> (un-inlining using a compression algorithm) |
07:32:44 | arkanoid | where are karax docs? |
07:34:42 | * | kayabaNerve joined #nim |
07:35:28 | * | Vladar joined #nim |
08:11:14 | Zevv | varriount: in theory npeg could do this for you, this is for example how ragel works |
08:11:47 | Zevv | but the poblem at this stage is that thee is no proper ast representation of the grammar that npeg can wok on |
08:12:06 | Zevv | the gramma is compiled from nimnodes straight into the IR instructions |
08:12:20 | Zevv | there are some peephole optimizations done, but thats it |
08:12:48 | Zevv | if it would have a proper inbetween AST, the code could reason about your grammar and make these optimiztations |
08:14:18 | PMunch | https://github.com/nim-lang/Nim/issues/18855 |
08:14:26 | PMunch | The bug that plagued me yesterday ^ |
08:17:18 | FromDiscord | <Varriount> Zevv: What about just working with the Nim AST? Or would that be unwieldy? |
08:18:24 | Zevv | do *you* like working with nim ast? |
08:18:57 | Zevv | but, shure that should be feasible |
08:18:59 | FromDiscord | <Varriount> ... not particularly. |
08:21:19 | arkanoid | PMunch, woa, that's a bad bug |
08:21:53 | PMunch | Kinda hard to find the culprit as well when it manifested in a 2.5k lines of macro output :P |
08:31:02 | arkanoid | actually I have no idea how many human beings are actually able to dive into compiler internals nowadays |
08:31:21 | FromDiscord | <Elegantbeef> Hopefully more |
08:31:57 | FromDiscord | <cabboose> Some people are too busy diving into other peoples internals smh |
08:32:10 | FromDiscord | <cabboose> why wont humanity evolve |
08:33:00 | arkanoid | how does nimble handles multi-artifacts output? |
08:33:41 | arkanoid | I am trying to setup a nimble project that outputs both a C backend and a JS frontend, sharing some code |
08:34:13 | arkanoid | I could surely wrap up custom tasks, but with that I lose automatic dependency installation |
08:35:36 | FromDiscord | <Rika> how does that work? |
08:36:48 | arkanoid | Rika, is that question for me? |
08:37:02 | FromDiscord | <Rika> yes |
08:37:58 | arkanoid | well, I have some nim code just for jester, some code just for karax, and some code (types and ops on them) shared between the two. Frontend is compiled with js backend, backend is compiled with C backend |
08:38:19 | NimEventer | New thread by Rforcen: High precission -> f1024, see https://forum.nim-lang.org/t/8428 |
08:38:28 | arkanoid | I think is the typical nim integration for webapps, question is how to handle it with nimble |
08:38:47 | arkanoid | "nimble build" should build not one but two artifacts with different backends |
08:39:32 | FromDiscord | <Rika> no way other than task |
08:40:17 | FromDiscord | <Rika> cant you dep resolve in a task anyway? |
08:41:13 | arkanoid | Rika how? |
08:42:04 | arkanoid | I'm trying to declare "backend" and "bin" vars inside the task itself and then call "buildTask()", but it says that buildTask() does not exists |
08:42:24 | arkanoid | In a forum post I've read that tasks are really macros for <taskName>Task() proc |
08:43:13 | FromDiscord | <Rika> you cant hook into "nimble build" |
08:43:43 | arkanoid | well, that's a show stopper |
08:44:23 | FromDiscord | <Rika> feature request on nimble repo it is then |
08:45:18 | FromDiscord | <Rika> i believe usually backend and frontend are different packages |
08:46:01 | PMunch | How can I get the path of the current file in a macro? |
08:46:32 | FromDiscord | <Rika> the caller? |
08:47:08 | FromDiscord | <fwsgonzo> sent a code paste, see https://play.nim-lang.org/#ix=3yVs |
08:47:09 | FromDiscord | <Rika> currentSourcePath? |
08:47:27 | FromDiscord | <Elegantbeef> You dont give a name to `iterator` |
08:47:31 | FromDiscord | <Rika> sent a code paste, see https://play.nim-lang.org/#ix=3yVt |
08:47:43 | FromDiscord | <Elegantbeef> Or of course a type |
08:51:11 | arkanoid | Rika, frontend and backend are different packages when shared code is not part of the game, but nim enables this |
08:51:25 | arkanoid | I could surely split into three packages: backend, frontend and shared |
08:51:44 | FromDiscord | <Rika> you can just import the backend in the frontend and the frontend in the backend probably |
08:51:49 | arkanoid | but I feel like fragmenting something that could stay together |
08:52:02 | PMunch | Yes, currentSourcePath was what I was looking for. Thanks Rika :) |
08:52:10 | FromDiscord | <Rika> i dont see any reason for code to be shared between them though |
08:52:12 | FromDiscord | <fwsgonzo> In reply to @Rika "what is the second": It's going to be an iterator to a Token |
08:52:22 | FromDiscord | <Rika> you need to specify that |
08:52:36 | FromDiscord | <Rika> `(... iter: iterator(): Token) -> ...` |
08:52:57 | FromDiscord | <Rika> not sure if this is 100% correct but its p much there |
08:53:27 | * | max22- quit (Quit: Leaving) |
08:53:33 | arkanoid | Rika, isn't sharing code between js and c the main advantage of nim for web apps? I mean, the kstring karax type has been invented just for that |
08:54:09 | FromDiscord | <impbox [ftsf]> also not having to write JS |
08:54:12 | FromDiscord | <impbox [ftsf]> or C |
08:54:41 | FromDiscord | <fwsgonzo> thank you @Rika |
08:54:42 | FromDiscord | <Rika> i dont know, i dont know of a scenario where both the backend and frontend need to know of something |
08:54:46 | FromDiscord | <Rika> types? |
08:54:48 | FromDiscord | <Rika> models? |
08:55:04 | FromDiscord | <Rika> in which case they should be in a shared module |
08:55:12 | FromDiscord | <Rika> imo |
08:55:13 | FromDiscord | <impbox [ftsf]> api definitions |
08:55:32 | FromDiscord | <Rika> api definitions can go in the backend, i dont see why the frontend cannot import that? |
08:55:38 | FromDiscord | <saem> Models, validation, API, anything end to end |
08:55:55 | FromDiscord | <impbox [ftsf]> they can both import the same thing? |
08:55:56 | FromDiscord | <Rika> In reply to @Rika "you can just import": i said here |
08:56:36 | FromDiscord | <Rika> i have a lot of modules that import each other, you just need to place the imports on strategic lines |
08:56:37 | FromDiscord | <Rika> or /we |
08:56:39 | FromDiscord | <Rika> w/e |
08:56:42 | arkanoid | Sharing the type system is huge thing, and also mapping it to a db via norm is another huge thing |
08:56:51 | FromDiscord | <impbox [ftsf]> ohh sorry i missed the part about splitting them into separate modules |
08:56:54 | FromDiscord | <impbox [ftsf]> (edit) "ohh sorry i missed the part about splitting them into separate ... modules" added "nimble" |
08:56:59 | FromDiscord | <impbox [ftsf]> just keep them in the same module? |
08:57:06 | FromDiscord | <impbox [ftsf]> (edit) "just keep them in the same ... module?" added "nimble" |
08:57:08 | FromDiscord | <Rika> the issue with that is nimble |
08:57:13 | FromDiscord | <Rika> as elaborated above |
08:57:17 | FromDiscord | <Rika> how would you build both of them |
08:57:27 | FromDiscord | <Rika> in a task? as said then you would lose dep resol. |
08:57:27 | FromDiscord | <impbox [ftsf]> `nimble backend` `nimble frontend` |
08:57:49 | arkanoid | impbox, the original question was about my problem is setting up a single nimble project to build both frontend and backend for a webapp. Tipically this is called multi-artifact build |
08:58:09 | FromDiscord | <impbox [ftsf]> gotcha, yeah i use tasks for that |
08:59:04 | FromDiscord | <impbox [ftsf]> @Rika what is the dep resol you lose? |
08:59:09 | FromDiscord | <impbox [ftsf]> nimble dependencies? |
08:59:18 | FromDiscord | <impbox [ftsf]> you want to specifiy different deps for frontend and backend? |
08:59:35 | FromDiscord | <Rika> In reply to @arkanoid "I could surely wrap": here |
09:01:46 | FromDiscord | <impbox [ftsf]> sounds like make is desired and unfortunately nimble isn't a replacement for all of make yet |
09:10:52 | FromDiscord | <cabboose> Can't seem to build hcparse via nimble @haxscramper, are there any tricks? |
09:11:01 | FromDiscord | <cabboose> [haxscramper](https://matrix.to/#/@haxscramper:matrix.org)\: |
09:11:34 | FromDiscord | <fwsgonzo> I read the 128-bit integer PR, and the problem with not adding this fundamental type to the language as early as possible is that you will eventually have to do it anyway when you want to support an actual 128-bit architecture |
09:11:43 | FromDiscord | <cabboose> get type mismatches in hmisc |
09:12:15 | FromDiscord | <fwsgonzo> I understand that "not everything has to be in the standard libraries", but if the computer is 128-bit then the whole language gets weird when a register value is (at present) a package you have to import using nimble |
09:12:47 | FromDiscord | <Rika> prolly best to mention that in the pr comments |
09:15:44 | FromDiscord | <haxscramper> I'm currently in process of blowing it up |
09:15:59 | FromDiscord | <cabboose> delightful |
09:16:30 | FromDiscord | <haxscramper> I will fix it when nim stable comes out and I can get stuff in CI working again |
09:16:49 | FromDiscord | <haxscramper> Because 1.6 breaks so much compilation |
09:17:08 | FromDiscord | <cabboose> fair |
09:17:09 | FromDiscord | <haxscramper> You just get compilation errors on isntall, or there is a nimble issue? |
09:18:00 | FromDiscord | <cabboose> sent a code paste, see https://play.nim-lang.org/#ix=3yVB |
09:19:23 | FromDiscord | <haxscramper> Yeah |
09:19:35 | FromDiscord | <haxscramper> This is a pure 1.6 breakage |
09:20:12 | FromDiscord | <cabboose> Reckon itll work if I downgrade to 1.4.8? |
09:22:28 | FromDiscord | <haxscramper> Then you will most likely run into my idiocy, so for now you can save yourself trouble until I properly fix this |
09:24:17 | FromDiscord | <haxscramper> Btw type mismatch errors at its finest |
09:25:13 | FromDiscord | <cabboose> wE'Re iN tHe FuTuRe |
09:29:14 | * | kayabaNerve quit (Ping timeout: 260 seconds) |
09:29:19 | * | max22- joined #nim |
09:31:01 | * | kayabaNerve joined #nim |
10:24:34 | FromDiscord | <dom96> so here is a fun problem, as soon as you upgrade to new Nimble you will not be able to use old Nim compilers https://github.com/nim-lang/nimble/issues/940 |
10:29:26 | * | Guest85 joined #nim |
10:29:59 | * | Guest85 quit (Client Quit) |
10:30:08 | PMunch | Ouch, that's not great |
10:30:37 | PMunch | He's using 1.5.1 though, how fresh does the compiler have to be? |
10:30:56 | PMunch | Hmm createDir doesn't work on compile-time, is there a compile-time equivalent? |
10:31:04 | FromDiscord | <dom96> 1.6/devel. There is a patch that allows the Nim compiler to read these new directories |
10:31:49 | FromDiscord | <dom96> so in the end I think we will need to find a way to get this working without a compiler patch |
10:32:50 | PMunch | I don't see why it treats that as an invalid module name |
10:33:02 | PMunch | The -0.0.0 part should already make it invalid, no? |
10:34:01 | FromDiscord | <dom96> It's because of the `-a6dfb9de705011f6d04902493cac04a4f20a0435` |
10:34:19 | FromDiscord | <dom96> old Nim expects `pkgName-ver` |
10:34:23 | PMunch | Yeah I get that, but why doesn't it error out on -0.0.0 |
10:34:26 | FromDiscord | <dom96> new Nim expects `pkgName-ver-hash` |
10:34:30 | PMunch | Ah, so there is already a patch to allow -ver |
10:34:35 | FromDiscord | <dom96> yeah |
10:34:40 | PMunch | I see |
10:35:03 | PMunch | How does it parse the version part? |
10:35:18 | PMunch | Is it possible to trick it with -0.0.0_a6dfb9de705011f6d04902493cac04a4f20a0435 |
10:35:30 | FromDiscord | <dom96> possibly |
10:36:33 | FromDiscord | <dom96> maybe it's time to completely redesign this folder structure |
10:37:23 | FromDiscord | <dom96> and just put it in `~/.nimble/2/` or something |
10:38:04 | FromDiscord | <dom96> in an ideal world Nim wouldn't have any special parsing rules for `pkgName-ver` |
10:38:35 | PMunch | Hmm, that is also possible |
10:38:48 | PMunch | But then you need to handle the old and the new packages |
10:39:49 | PMunch | Well this is annoying. I query nimcacheDir to figure out where to store some cache files. But that directory isn't created by the time my macro is evaluated |
10:40:11 | PMunch | And I can't call createDir from a macro.. |
10:42:43 | FromDiscord | <dom96> staticExec("mkdir") 😄 |
10:45:42 | PMunch | Yeah, but I also need it to work on Windows (and Mac, but I assume they use mkdir) |
10:45:57 | PMunch | So I need to implement the same kind of logic that lives in createDir |
10:46:47 | FromDiscord | <dom96> maybe you should just write a Nim program and then `staticExec("nim c -r myappThatCreatesDirAndOtherStuff.nim")` |
10:49:13 | PMunch | I already have an external Nim program, this was intended to cache the output of that one :P |
10:49:26 | PMunch | It would be silly to have a separate program that only exists to create directories.. |
10:56:32 | PMunch | Huh, Windows apparently also uses mkdir |
11:00:51 | * | leth joined #nim |
11:03:22 | leth | I'm reading up on procedure calling, but there is no mention of calling a procedure using <procedure: ...>, and the passing of statements contra expressions to procedures. |
11:07:03 | PMunch | leth, not quite sure what you mean |
11:07:44 | leth | I'm trying to understand how the syntax for using statements an argument list looks. |
11:07:55 | leth | s/an/in an/ |
11:09:24 | leth | as when passing an anonymous procedure as an argument., and how the syntax looks for using a template in an argument list, where that template takes say a block of statements as an argument. |
11:18:08 | PMunch | Well templates just rewrites code, so as long as what they spit out is valid using them inside an argument list should be valid (although you might need some parenthesis to ensure that Nim only parses what you intended) |
11:19:15 | leth | Sure, but what is the syntax for using a template in an argument list, and what rules dictates that syntax. These are the sort of questions I'm interested in answering. |
11:21:15 | leth | how would the syntax look for a call to a procedure that takes 3 arguments look when called with the third argument expressed as template that takes a block of 2 statements? |
11:21:24 | FromDiscord | <Rika> It’s elaborated in the experimental manual |
11:21:28 | FromDiscord | <Rika> Do notation |
11:21:40 | leth | where is the experimental manual? |
11:21:56 | FromDiscord | <Rika> Documentation |
11:22:04 | FromDiscord | <Rika> Website |
11:23:39 | leth | I can only see the language manual there, link? |
11:24:19 | PMunch | Hmm, is there no way of creating a new warning/error kind? |
11:24:43 | PMunch | I would want to have a warning that can be promoted to an error by the normal switch.. |
11:24:54 | PMunch | Or silenced in the normal way |
11:26:56 | FromDiscord | <haxscramper> In reply to @dom96 "maybe it's time to": I don't even understand why Araq decided it is acceptable to merge this pile breakages before new release |
11:27:09 | FromDiscord | <Rika> In reply to @leth "I can only see": Replace “manual” with “manual_experimental” in the link |
11:27:27 | FromDiscord | <haxscramper> bobbef was too busy and could not write down what he broke explicitly, but merging it |
11:27:39 | FromDiscord | <haxscramper> Especially right before new version of nim comes out |
11:28:15 | leth | Rika: Thank you! |
11:30:51 | FromDiscord | <haxscramper> Well, status wanted it, so it was enough to inconvenience everyone else |
11:31:42 | FromDiscord | <haxscramper> Not like there is anything anyone could do, except they wanted to spend lifetime tracking everything they slipped in under disguise of the "lockfiles" PR |
11:32:28 | FromDiscord | <haxscramper> Arguing against it is like trying to force Google to do something - basically pointless, they could argue in favor of any feature |
11:32:39 | FromDiscord | <haxscramper> But still, this is a horrible precedent |
11:33:05 | FromDiscord | <haxscramper> Not blaming reviewers, and as I said blaming status is pointless, but still, pretty annoying |
11:33:39 | FromDiscord | <haxscramper> (edit) "they" => "status" |
11:53:40 | * | Gustavo6046 quit (Ping timeout: 240 seconds) |
11:59:51 | * | Gustavo6046 joined #nim |
12:06:02 | * | supakeen quit (Quit: WeeChat 3.2.1) |
12:06:13 | * | max22- quit (Ping timeout: 268 seconds) |
12:06:25 | * | Gustavo6046 quit (Ping timeout: 252 seconds) |
12:06:30 | * | supakeen joined #nim |
12:10:37 | * | Gustavo6046 joined #nim |
12:11:51 | * | xet7 quit (Remote host closed the connection) |
12:12:51 | * | xet7 joined #nim |
12:15:29 | * | rockcavera joined #nim |
12:15:29 | * | rockcavera quit (Changing host) |
12:15:29 | * | rockcavera joined #nim |
12:22:57 | * | arkurious joined #nim |
12:47:33 | * | pro joined #nim |
12:52:43 | * | jmiven quit (Quit: reboot) |
12:55:47 | FromDiscord | <dom96> yeah :/ |
13:07:09 | PMunch | I mean this has to be fixed before the release |
13:07:25 | PMunch | It would totally negate the whole point of choosenim wouldn't it? |
13:07:54 | PMunch | Install one package with the newest Nim version and suddenly you can't go back to older versions without removing said packages |
13:11:04 | FromDiscord | <xflywind> My nimble has been broken for some time. I can only install package by URL. |
13:11:14 | FromDiscord | <xflywind> https://media.discordapp.net/attachments/371759389889003532/887686998645674024/unknown.png |
13:12:25 | FromDiscord | <xflywind> build Nim from nightlies |
13:12:26 | FromDiscord | <cabboose> someone should plant a balls folder in your user directory |
13:13:12 | FromDiscord | <cabboose> Ive been using the older nimble to install packages, is that going to cause issues? |
13:13:31 | FromDiscord | <cabboose> I'm still using devel nim |
13:18:39 | FromDiscord | <Gumber aka Zachary Carter> Guess I'm sticking with 1.4.8 till all this gets sorted out 🙂 |
13:19:36 | * | pro quit (Quit: WeeChat 3.2) |
13:22:15 | FromDiscord | <xflywind> It seems to download a json file from a 404 website |
13:22:19 | FromDiscord | <xflywind> https://media.discordapp.net/attachments/371759389889003532/887689787857846302/unknown.png |
13:23:01 | FromDiscord | <xflywind> https://irclogs.nim-lang.org/packages.json |
13:36:08 | PMunch | What?! Why does it try to download from there? |
13:38:52 | FromDiscord | <xflywind> https://github.com/nim-lang/nimble/blob/795704833ddfd0cdaefb45c60551d3ea205279ef/src/nimblepkg/config.nim#L27 |
13:38:56 | * | arkanoid quit (Ping timeout: 268 seconds) |
13:41:24 | * | arkanoid joined #nim |
13:53:59 | FromDiscord | <xflywind> I see, just I cannot download packages.json from https://github.com/nim-lang/packages/raw/master/packages.json |
13:54:50 | FromDiscord | <xflywind> and https://nim-lang.org/nimble/packages.json is too outdated |
14:01:03 | FromDiscord | <dom96> @xflywind you must have run the nimble test suite which failed after it modified your nimble.cfg |
14:03:02 | * | max22- joined #nim |
14:04:26 | FromDiscord | <xflywind> I didn't run the nimble test suit. The first link failed for me is caused by my internet probably. The second link is already broken. The third link works for me but the info is too outdated. |
14:04:56 | * | FromDiscord quit (Remote host closed the connection) |
14:05:09 | * | FromDiscord joined #nim |
14:05:21 | FromDiscord | <dom96> well I've seen this happen before and it was because the nimble.cfg in ~/.config/nimble or wherever it is had custom URLs |
14:05:24 | FromDiscord | <dom96> so check if that exists |
14:06:04 | FromDiscord | <Gumber aka Zachary Carter> they just linked to the source with those URLs in it though... |
14:06:07 | FromDiscord | <Gumber aka Zachary Carter> those URLs are coming from the source |
14:06:22 | FromDiscord | <dom96> In reply to @cabboose "Ive been using the": nope, but at this point I'm even afraid to upgrade it |
14:07:00 | FromDiscord | <Rika> damn thats bad |
14:07:00 | FromDiscord | <Gumber aka Zachary Carter> https://github.com/nim-lang/nimble/blob/master/src/nimblepkg/config.nim#L26-L28 @dom96 |
14:07:40 | FromDiscord | <dom96> In reply to @Gumber "https://github.com/nim-lang/nimble/blob/master/src/": Line 26 has https://github.com/nim-lang/packages/raw/master/packages.json, so why doesn't that work? |
14:07:56 | FromDiscord | <Gumber aka Zachary Carter> because they're in China |
14:08:26 | FromDiscord | <dom96> ahh, well, there we go 🙂 |
14:08:31 | FromDiscord | <Gumber aka Zachary Carter> but I mean still |
14:08:37 | FromDiscord | <Gumber aka Zachary Carter> it begs the question why the other two are even in there |
14:08:43 | FromDiscord | <Gumber aka Zachary Carter> if they're not working / outdated |
14:08:47 | FromDiscord | <dom96> yeah, we need to either remove those files or keep them relatively up to date |
14:12:20 | * | PMunch quit (Quit: Leaving) |
14:19:01 | FromDiscord | <xflywind> Actually I use phone to share WI-FI with my PC, so that may be the reason (DNS stuff etc). Not because I'm banned. |
14:20:23 | FromDiscord | <dom96> Nimble should definitely also give a warning when one of the URLs cannot be accessed |
14:25:24 | FromDiscord | <dom96> In reply to @cabboose "Ive been using the": nope, it's probably best to do this until the new Nimble is released. Seems like the issue described above needs to be fixed at the very least. |
14:29:14 | FromDiscord | <Gumber aka Zachary Carter> Oh my bad, I figured firewall or some crap |
14:35:42 | FromDiscord | <Rika> how do you downgrade nimble? |
14:36:25 | FromDiscord | <cabboose> see that plug in the back of your computer? |
14:36:26 | FromDiscord | <cabboose> pull it |
14:36:28 | FromDiscord | <cabboose> done |
14:37:03 | FromDiscord | <Rika> can i do that but for my life |
14:37:29 | FromDiscord | <haxscramper> I don't think choosenim supports downgrading any part separately |
14:37:37 | FromDiscord | <haxscramper> You can do `nimble install nimble` |
14:37:48 | FromDiscord | <haxscramper> `[email protected]` |
14:38:05 | FromDiscord | <haxscramper> Ah, well, `13.1` had a version hack from Araq, IIRC it has some problems with isntall as well |
14:38:06 | FromDiscord | <Rika> ok, just asked for reference |
14:38:08 | FromDiscord | <haxscramper> Then 0.13.0 |
14:38:39 | FromDiscord | <cabboose> I've been going into my 1.4.8 toolchain bin and using the nimble there manually |
14:39:12 | FromDiscord | <Rika> mans crazy |
14:39:36 | FromDiscord | <cabboose> I am hurting \:') |
14:44:46 | FromDiscord | <Rika> just do what hax said and u will not be hurting |
14:44:51 | * | Vladar quit (Quit: Leaving) |
14:45:22 | FromDiscord | <cabboose> I am in bit manipulation hell |
14:45:28 | FromDiscord | <cabboose> I dont understand this rubbish |
14:49:41 | FromDiscord | <Rika> stop twiddlin them bits |
14:51:06 | FromDiscord | <cabboose> 🍝 |
14:52:55 | FromDiscord | <haxscramper> `raise Defect(nil)` |
14:54:15 | FromDiscord | <haxscramper> Actually no, sorry, this code is not correct |
14:54:16 | FromDiscord | <haxscramper> `raise (ref Defect)(nil)` |
14:55:45 | FromDiscord | <cabboose> image.png https://media.discordapp.net/attachments/371759389889003532/887713303751696415/image.png |
14:55:48 | FromDiscord | <tandy> sent a code paste, see https://paste.rs/kZ2 |
14:56:48 | FromDiscord | <Rika> In reply to @tandy "how do i avoid": can you be more specific on your overload? instead of object use SubmissionPayload? |
14:56:51 | FromDiscord | <cabboose> exclude the dumphook from utils? |
14:57:14 | FromDiscord | <cabboose> just don't import the dumphookz |
14:57:44 | FromDiscord | <cabboose> or use module name method syntax |
14:57:44 | FromDiscord | <cabboose> like |
14:57:45 | FromDiscord | <cabboose> jsony.dumpHooks(hookers) |
14:57:45 | FromDiscord | <tandy> i use that overload for a couple of different custom types so i dont htink so↵(@Rika) |
14:57:56 | FromDiscord | <Rika> use a "union generic" |
14:57:58 | FromDiscord | <tandy> so id do `proc jsony.dumpHook ...`? |
14:58:04 | FromDiscord | <cabboose> or import utils except dumpHooks |
14:58:10 | FromDiscord | <Rika> `Sub...load or MoreObjects or MoreObjectss" |
14:58:12 | FromDiscord | <Rika> (edit) "MoreObjectss"" => "MoreObjectss`" |
14:58:39 | FromDiscord | <cabboose> oh |
14:58:39 | FromDiscord | <cabboose> right its a hook ofc im dead beat stupid |
14:58:40 | FromDiscord | <tandy> the thing is i need the dump hook |
14:58:40 | FromDiscord | <cabboose> wait |
14:58:41 | FromDiscord | <cabboose> you're using dumphooks from both modules? |
14:58:43 | FromDiscord | <cabboose> WHY?! |
14:58:43 | FromDiscord | <tandy> `or` or `|` ?↵(@Rika) |
14:58:47 | FromDiscord | <Rika> he is not |
14:58:55 | FromDiscord | <Rika> both work tandy |
14:58:58 | FromDiscord | <tandy> nop, i dont want the default jsony dumphooks |
14:58:59 | FromDiscord | <Rika> i personally use or |
14:59:01 | FromDiscord | <Rika> some people use | |
14:59:15 | FromDiscord | <tandy> this is probably the best solution then↵(@Rika) |
14:59:35 | FromDiscord | <cabboose> you could also define the jsony hooks before importing utils |
14:59:44 | FromDiscord | <cabboose> I remember running into a similar problem |
14:59:47 | FromDiscord | <tandy> the hooks are in utils |
14:59:53 | FromDiscord | <tandy> i import them from utils so i can use them |
15:00:16 | FromDiscord | <tandy> or maybe the issue is because i import jsony in utils |
15:00:21 | FromDiscord | <tandy> but i dont really need it |
15:00:31 | FromDiscord | <cabboose> oh is this not a system module |
15:00:31 | FromDiscord | <tandy> nah that didnt solve it |
15:00:34 | FromDiscord | <cabboose> am i retarded |
15:00:56 | FromDiscord | <Rika> cab you need a rest do ya |
15:01:26 | FromDiscord | <cabboose> yes |
15:02:44 | FromDiscord | <cabboose> it's literally easier to just fix it ourselves than explain |
15:02:50 | FromDiscord | <cabboose> i'm sure it's something simple but annoying |
15:02:55 | FromDiscord | <cabboose> but my eyes are bleeding |
15:03:07 | FromDiscord | <Rika> did u read what i said |
15:03:15 | FromDiscord | <Rika> u need a rest u sound cranky |
15:03:53 | FromDiscord | <cabboose> ;\_; I go do things for now; I am definitely incapable |
15:13:28 | FromDiscord | <tandy> does nim suport circular dependencies yet |
15:13:39 | FromDiscord | <tandy> imports i mean |
15:13:43 | FromDiscord | <cabboose> there is experimental support |
15:13:51 | FromDiscord | <tandy> hmm |
15:13:53 | FromDiscord | <cabboose> you have to turn it on |
15:13:53 | FromDiscord | <tandy> ok il try it |
15:14:13 | FromDiscord | <cabboose> like rub it (but actually search the experimental features, it's there somewhere) |
15:18:55 | * | stkrdknmibalz quit (Quit: WeeChat 3.0.1) |
15:19:03 | FromDiscord | <tandy> https://nim-lang.org/docs/manual_experimental.html |
15:19:06 | FromDiscord | <tandy> couldnt see it here |
15:22:04 | FromDiscord | <cabboose> Hmm maybe I'm actually wrong; might have been they were working on it? |
15:22:15 | FromDiscord | <haxscramper> https://github.com/nim-lang/Nim/pull/18818 |
15:22:23 | FromDiscord | <haxscramper> They are working on it right now |
15:22:29 | FromDiscord | <haxscramper> Actually there are two alternative implementations |
15:23:08 | FromDiscord | <haxscramper> https://github.com/nim-lang/Nim/pull/18822 |
15:23:42 | FromDiscord | <tandy> hmm i guess il wait |
15:23:57 | FromDiscord | <haxscramper> THis probably won't make even in 1.8 |
15:24:03 | FromDiscord | <haxscramper> Well, that is my prediction |
15:24:10 | FromDiscord | <haxscramper> certainly not for 1.6 |
15:24:57 | FromDiscord | <tandy> is there a timeline ? |
15:25:06 | FromDiscord | <tandy> the milestones dont seem to be updated anymore |
15:26:41 | FromDiscord | <haxscramper> who knows |
15:26:48 | FromDiscord | <tandy> lole |
15:26:59 | FromDiscord | <haxscramper> No, I have not seen any concrete timeline |
15:27:10 | FromDiscord | <haxscramper> Like, I thought RC 1.6 is our closes goal |
15:27:20 | FromDiscord | <haxscramper> But then they jumped lazy semcheck like it is the main part |
15:27:30 | FromDiscord | <haxscramper> ARC/ORC is for 2.0 supposedly |
15:27:46 | FromDiscord | <haxscramper> IC is in the intermediate state, I have no idea what is going on anymore |
15:28:04 | FromDiscord | <haxscramper> I wrote RFC for nimble, but after "status lockfile PR" I can just scratch it |
15:28:19 | FromDiscord | <haxscramper> Well, nimble changes are not so dramantic |
15:28:24 | FromDiscord | <haxscramper> But I have to account for the shit fallout |
15:28:25 | FromDiscord | <cabboose> status libp2p and chronos have to be refactored to be orc/arc friendly pretty sure |
15:28:44 | FromDiscord | <leorize> they can just switch to cps \:p |
15:28:51 | FromDiscord | <haxscramper> tooling relied on IC |
15:28:51 | FromDiscord | <cabboose> that's probably eating a lot of time |
15:28:57 | FromDiscord | <haxscramper> So no timeline for tooling improvements |
15:29:00 | FromDiscord | <tandy> damn |
15:29:05 | FromDiscord | <tandy> tooling really is the big one |
15:29:14 | FromDiscord | <haxscramper> well, who uses nimsuggest yeah |
15:29:21 | FromDiscord | <haxscramper> not like it is the most complained feature |
15:29:24 | FromDiscord | <tandy> i wish nimsuggest supported js target too |
15:29:27 | FromDiscord | <haxscramper> cyclic imports are better |
15:29:49 | FromDiscord | <haxscramper> More needed |
15:29:56 | FromDiscord | <haxscramper> what else |
15:30:04 | FromDiscord | <haxscramper> concepts are "sometimes later IDK" |
15:30:08 | FromDiscord | <haxscramper> also no timeline |
15:30:10 | FromDiscord | <haxscramper> view types |
15:30:20 | FromDiscord | <leorize> i have personally given up on seeing packed ast working |
15:30:29 | FromDiscord | <haxscramper> they apparently exist, but I don't know what is going on |
15:30:42 | FromDiscord | <haxscramper> Well, I can comment on C and C++ interop, because that's what I'm working on |
15:30:50 | FromDiscord | <@bracketmaster-5a708063d73408ce4> on the topic of imports, inside file2.nim, I do, `import file1; export file1` |
15:31:00 | FromDiscord | <haxscramper> On nimble because I wrote RFC for it |
15:31:09 | FromDiscord | <haxscramper> And on better docgen, but right now I'm waiting for 1.6 breakages |
15:31:12 | FromDiscord | <tandy> sounds like a lack of communication mainly atm? |
15:31:25 | FromDiscord | <haxscramper> tell me someting I don't know |
15:31:30 | FromDiscord | <haxscramper> yes |
15:31:34 | FromDiscord | <@bracketmaster-5a708063d73408ce4> file one has a bunch of things in it, like type1, type2, proc1, proc2, that it exports |
15:31:35 | FromDiscord | <leorize> well there used to be bi-weekly nim meetings |
15:31:41 | FromDiscord | <haxscramper> Well, let me quote you another rant of mine |
15:31:42 | FromDiscord | <haxscramper> to save time |
15:31:48 | FromDiscord | <leorize> and then it's gone |
15:32:00 | FromDiscord | <tandy> why not anymore? |
15:32:25 | FromDiscord | <tandy> this is kinda sad cos i love nim \:X |
15:32:54 | FromDiscord | <@bracketmaster-5a708063d73408ce4> can I have export file1 also export all the exported symbols inside file1? |
15:33:02 | FromDiscord | <haxscramper> https://irclogs.nim-lang.org/28-06-2021.html#13:55:06 |
15:33:06 | FromDiscord | <haxscramper> IRC here |
15:33:13 | FromDiscord | <Rika> In reply to @@bracketmaster-5a708063d73408ce4 "can I have export": ...does it not do that bracket? |
15:34:05 | FromDiscord | <haxscramper> to figure out what is going on you have to rely on the people who are here for a long time |
15:34:22 | FromDiscord | <haxscramper> and they will quickly come up with a "latest news digest" for you |
15:35:09 | FromDiscord | <tandy> i agree with you |
15:35:36 | FromDiscord | <tandy> understand that writing a blog post once a month can be hard though, doesnt nim get financial contributions so they can pay a contributor to do this? |
15:36:21 | FromDiscord | <tandy> idealy devs will keep milestones up to date, and the writer can summarise it |
15:36:46 | FromDiscord | <haxscramper> ffs, it does not have to be a "blog post once a month" |
15:36:57 | FromDiscord | <tandy> oh mb |
15:36:58 | FromDiscord | <haxscramper> I would be satisfied with quick checklist of promised features |
15:37:06 | FromDiscord | <haxscramper> Or what they are working on |
15:37:44 | FromDiscord | <haxscramper> ● We are planning to release nim 1.6 in the next month↵● Plan to add support for X Y Z↵● Right now there are some issues with Q, we are working on it before our release |
15:37:44 | FromDiscord | <tandy> how often? |
15:37:53 | FromDiscord | <haxscramper> Once a month? |
15:38:06 | FromDiscord | <haxscramper> Or at least with some frequency |
15:38:06 | FromDiscord | <tandy> yeah i mean thats a blog post |
15:38:11 | FromDiscord | <haxscramper> Not like this bi-weekly |
15:38:15 | FromDiscord | <leorize> I proposed using github project to communicate |
15:38:16 | FromDiscord | <tandy> but it doesnt need to be big yeah |
15:38:22 | FromDiscord | <haxscramper> meeting that does not exist now |
15:38:24 | FromDiscord | <leorize> and it worked for a week or two |
15:39:04 | FromDiscord | <tandy> yeah i like that method too |
15:39:05 | FromDiscord | <haxscramper> I would be satisfied with anything |
15:39:29 | FromDiscord | <tandy> do we need to email araq or something? |
15:39:41 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=3yYB |
15:39:52 | FromDiscord | <haxscramper> we have nim forum with "announcements" section |
15:40:54 | FromDiscord | <haxscramper> the problem is not how, we are not cavemen so I guess we can figure someting out, the problem is complete lack for interest in explaining clearly what they want to do in genral |
15:40:55 | FromDiscord | <haxscramper> like fusion |
15:41:00 | FromDiscord | <haxscramper> omg, this is an absolute farce |
15:41:25 | FromDiscord | <dom96> IMO tooling should be number 1 priority |
15:41:43 | FromDiscord | <haxscramper> the idea was tolerable, but it just died nowhere and it's rotting corpse annoys me every day |
15:42:02 | FromDiscord | <dom96> nimsuggest has been around for a long time and hasn't improved since the first release as far as I can tell |
15:42:09 | FromDiscord | <Rika> the issue at its core is that theres just not enough people here working |
15:42:22 | FromDiscord | <haxscramper> IC is crucial for some code analysis, for haxdoc, for general tooling, for compilation speeds |
15:42:27 | FromDiscord | <haxscramper> Did I forget anything? |
15:42:30 | FromDiscord | <leorize> you should try looking at the compiler |
15:42:33 | FromDiscord | <@bracketmaster-5a708063d73408ce4> What is IC? |
15:42:34 | FromDiscord | <haxscramper> lazy semcheck is needed for .. cyclic imports? |
15:42:40 | FromDiscord | <Rika> incremental compilation |
15:42:48 | FromDiscord | <@bracketmaster-5a708063d73408ce4> ah |
15:43:05 | FromDiscord | <@bracketmaster-5a708063d73408ce4> even though nim lacks IC, its still lightyears faster than rust |
15:43:08 | FromDiscord | <leorize> it's an undocumented mess that requires you to speak and breath nim to keep working on it without being insane |
15:43:08 | FromDiscord | <@bracketmaster-5a708063d73408ce4> in my experience |
15:43:29 | FromDiscord | <Rika> rust is a really low bar |
15:43:35 | FromDiscord | <@bracketmaster-5a708063d73408ce4> sounds like most compilers |
15:43:35 | FromDiscord | <Rika> in terms of speed, i mean |
15:43:41 | FromDiscord | <leorize> one of IC feature is not really "fast compilation" IMO |
15:44:10 | FromDiscord | <cabboose> That was a fantastic read [haxscramper](https://matrix.to/#/@haxscramper:matrix.org) |
15:44:13 | FromDiscord | <cabboose> 10/10 rant |
15:44:29 | FromDiscord | <leorize> it's packedast, a serializable form of AST can be operated on by other tools |
15:45:01 | FromDiscord | <haxscramper> @dom96\: If #300 is not convincing enough to work on tooling first, I don't know what is |
15:45:03 | FromDiscord | <leorize> the idea is that compiler produce packedast, then tooling can read off that |
15:45:30 | FromDiscord | <leorize> its impl is stalled by now afaik |
15:45:44 | FromDiscord | <leorize> and ofc, the packedast module not having a single comment |
15:46:00 | FromDiscord | <leorize> such is typical of nim compiler code |
15:46:48 | FromDiscord | <@bracketmaster-5a708063d73408ce4> the best compiler code I've ever looked at has been scheme compiler code |
15:46:53 | FromDiscord | <@bracketmaster-5a708063d73408ce4> scheme compilers are really small |
15:47:16 | FromDiscord | <dom96> In reply to @haxscramper "<@132595483838251008>\: If #300 is": I'm surprised Status isn't pushing for tooling more |
15:47:33 | FromDiscord | <leorize> they just brided lockfiles in |
15:47:45 | FromDiscord | <haxscramper> "lockfiles" |
15:47:49 | FromDiscord | <leorize> they're pushing, but in the way they like |
15:48:06 | FromDiscord | <dom96> Having nice Cmd+Hover/Cmd+Click would be really amazing for everyone including their devs |
15:48:30 | FromDiscord | <cabboose> you mean cmd click that actually WORKS |
15:48:38 | FromDiscord | <dom96> of course |
15:48:47 | FromDiscord | <cabboose> once a million years I see something come from it |
15:48:48 | FromDiscord | <cabboose> and i get excited |
15:48:56 | FromDiscord | <cabboose> and then it dies the next second |
15:49:02 | FromDiscord | <haxscramper> I see something come out of it every time I use it |
15:49:05 | FromDiscord | <cabboose> but for those 3 seconds |
15:49:08 | FromDiscord | <haxscramper> usually it is a smoke from my CPU |
15:49:09 | FromDiscord | <cabboose> I feel like a productivity god |
15:49:22 | FromDiscord | <leorize> and tbh it's not like Nim doesn't have enough devs |
15:49:28 | FromDiscord | <dom96> I've had it disabled for years, it's just too annoying |
15:50:06 | FromDiscord | <leorize> it's that the compiler is pretty much impossible to get into if you don't look at it all day |
15:50:38 | FromDiscord | <tandy> true, but its beautiful |
15:50:41 | FromDiscord | <Rika> so someone has to put in that day to start commenting, and i wish i could |
15:50:43 | FromDiscord | <haxscramper> no |
15:50:46 | FromDiscord | <haxscramper> just kill me please |
15:50:52 | FromDiscord | <haxscramper> this abomination of a |
15:51:02 | FromDiscord | <@bracketmaster-5a708063d73408ce4> I feel like this convo is the beginning of neonim |
15:51:13 | FromDiscord | <dom96> I think you're all being a bit too harsh |
15:51:18 | FromDiscord | <Rika> fragmenting the community will not help |
15:51:20 | FromDiscord | <leorize> in a way it's already happened |
15:51:28 | FromDiscord | <leorize> just not in this chat |
15:51:37 | NimEventer | New post on r/nim by switchitout: Is there a in-depth resource to learn about "sink" and "lent" annotations / ARC?, see https://reddit.com/r/nim/comments/post11/is_there_a_indepth_resource_to_learn_about_sink/ |
15:51:50 | FromDiscord | <haxscramper> well, these problems are real, I don't see any that explicitly overblow anything↵(@dom96) |
15:51:51 | FromDiscord | <cabboose> Hahahahaha |
15:51:56 | FromDiscord | <haxscramper> No communication with anything |
15:52:01 | FromDiscord | <haxscramper> No comments for the main code base |
15:52:06 | FromDiscord | <cabboose> this newest post |
15:52:09 | FromDiscord | <cabboose> kind of relates |
15:52:22 | FromDiscord | <dom96> I agree that they are all real, but there is no need to call it an abomination |
15:52:58 | FromDiscord | <leorize> have you tried fixing a compiler bug lately? |
15:53:00 | FromDiscord | <haxscramper> well, sorry for using disturbing words |
15:53:14 | FromDiscord | <dom96> What's unclear is whether this is a problem with all compilers or just Nim's |
15:53:28 | FromDiscord | <haxscramper> O don't care what goes on in clang compoile |
15:53:29 | FromDiscord | <leorize> it's just nim |
15:53:35 | FromDiscord | <haxscramper> or in rust |
15:53:36 | FromDiscord | <haxscramper> or in scheme |
15:53:36 | FromDiscord | <haxscramper> or in idris |
15:53:39 | FromDiscord | <haxscramper> not my problem |
15:53:43 | FromDiscord | <haxscramper> I write nim, here and now |
15:53:58 | FromDiscord | <@bracketmaster-5a708063d73408ce4> Well, its good to be multilangual |
15:54:03 | FromDiscord | <@bracketmaster-5a708063d73408ce4> All compilers have their problems |
15:54:07 | FromDiscord | <Rika> thats not the point |
15:54:11 | FromDiscord | <haxscramper> ANd I work with nim compiler API |
15:54:31 | FromDiscord | <leorize> just look at zig, they used to be smaller than nim, and now their devs dwarfs nim size and scope |
15:54:33 | FromDiscord | <haxscramper> nim compiler API |
15:55:03 | FromDiscord | <@bracketmaster-5a708063d73408ce4> are you saying that zig has a better compiler dev community? |
15:55:05 | FromDiscord | <cabboose> Saying "all x and z have problems too" is a bad argument in any scenario |
15:55:23 | FromDiscord | <haxscramper> it's like saying that other package managers have some problems |
15:55:24 | FromDiscord | <haxscramper> so what |
15:55:32 | FromDiscord | <dom96> sure, I agree |
15:55:35 | FromDiscord | <@bracketmaster-5a708063d73408ce4> V also cam along fairly quickly, seems like V has a number of devs working on compiler internals |
15:55:36 | FromDiscord | <leorize> yes, better onboarding, better communication, etc. |
15:55:49 | FromDiscord | <dom96> I'm actually just curious how other compilers are |
15:55:53 | FromDiscord | <dom96> I'm not excusing anything |
15:56:18 | FromDiscord | <leorize> let's just say that nim is stagnating |
15:56:19 | FromDiscord | <haxscramper> they hyped in tons of people, quickly rewrote the compiler into something that is pleasant to work with, and their lead devs are super responsive to discussions |
15:56:25 | FromDiscord | <haxscramper> seems like that worked for them |
15:56:39 | FromDiscord | <leorize> we have unique features that keep users here |
15:56:52 | FromDiscord | <@bracketmaster-5a708063d73408ce4> how do you think V got the leads to be super responsive? |
15:57:11 | FromDiscord | <@bracketmaster-5a708063d73408ce4> Nim's macros originally brought me here |
15:57:14 | FromDiscord | <leorize> but half-assed, impl, right |
15:57:20 | FromDiscord | <@bracketmaster-5a708063d73408ce4> But I quickly found too many rough edges |
15:57:27 | FromDiscord | <@bracketmaster-5a708063d73408ce4> But I already wrote so much nim code |
15:57:29 | FromDiscord | <haxscramper> I mean ... they just people who engage in discussion with community |
15:57:30 | FromDiscord | <@bracketmaster-5a708063d73408ce4> So I guess I"m stuck |
15:57:46 | FromDiscord | <haxscramper> At least that's an impression I get from their discord |
15:57:55 | FromDiscord | <dom96> All their leads are also on Twitter |
15:57:56 | FromDiscord | <haxscramper> Of course they all have NIH syndrome |
15:58:03 | FromDiscord | <haxscramper> and you can get banned for shit-talking |
15:58:07 | FromDiscord | <haxscramper> but that is another topic |
15:58:10 | FromDiscord | <dom96> Which really helps drive engagement |
15:58:15 | FromDiscord | <leorize> as is typical of go devs \:p |
15:58:34 | FromDiscord | <tandy> NIH? |
15:58:35 | FromDiscord | <dom96> The amount of times I've tried to get Araq to answer HN/Reddit questions... |
15:58:42 | FromDiscord | <haxscramper> not invented here |
15:59:37 | FromDiscord | <haxscramper> we have a community manager, no?↵(@dom96) |
15:59:39 | FromDiscord | <haxscramper> miran |
15:59:50 | * | rockcavera quit (Remote host closed the connection) |
15:59:53 | FromDiscord | <haxscramper> At least someone described them like this |
16:00:11 | FromDiscord | <dom96> As far as I understand, yes. |
16:00:21 | FromDiscord | <cabboose> I always wondered if nim had a community manager; I thought nim did because I saw some posts |
16:00:30 | FromDiscord | <cabboose> but now that I'm more involved, I think it was a farce hahaha |
16:00:39 | FromDiscord | <cabboose> Feels more like the wild west |
16:00:47 | FromDiscord | <Rika> it is |
16:00:52 | FromDiscord | <Rika> not really feels because it is |
16:00:56 | FromDiscord | <dom96> and yet I still do a lot of tweeting ... |
16:01:00 | FromDiscord | <cabboose> A community manager is a useless position if there is no communication with the community on behalf of the devs |
16:01:01 | FromDiscord | <@bracketmaster-5a708063d73408ce4> @haxscramper\:matrix.org - are you considering moving to another language? |
16:01:16 | FromDiscord | <cabboose> which requires the devs to comm with the community manager |
16:01:22 | FromDiscord | <haxscramper> no, nim is a hack, but nothing else comes close with features I need |
16:01:33 | FromDiscord | <haxscramper> But that does not mean I like to work with this |
16:01:36 | FromDiscord | <@bracketmaster-5a708063d73408ce4> what features do you need? |
16:01:40 | FromDiscord | <cabboose> I don't think it's a matter of tweeting as much as it is about discussing what's happening |
16:01:59 | FromDiscord | <cabboose> like haxscramper was saying |
16:02:01 | FromDiscord | <dom96> Of course |
16:02:07 | FromDiscord | <haxscramper> macros, C++ interop, C interop, basic support for inheritace, tolerable stacktraces, access to compiler API via the same language |
16:02:12 | FromDiscord | <haxscramper> sum types |
16:02:22 | FromDiscord | <cabboose> But you have made contributions in bringing people in; I mean I got in through your book |
16:02:30 | FromDiscord | <@bracketmaster-5a708063d73408ce4> C++ interop in Nim isn't really great |
16:02:40 | FromDiscord | <@bracketmaster-5a708063d73408ce4> But that's probably C++'s fault more than anything else |
16:02:42 | FromDiscord | <cabboose> haxscramper is making it great |
16:02:44 | FromDiscord | <haxscramper> I"m working on it |
16:02:50 | FromDiscord | <haxscramper> "working" |
16:02:53 | FromDiscord | <haxscramper> just kill me please |
16:02:56 | FromDiscord | <dom96> Writing blog posts, getting people to write blog posts, setting up meetups, making merch |
16:03:05 | FromDiscord | <cabboose> Hows that blown bomb going |
16:03:10 | FromDiscord | <dom96> all things I'd expect a community manager to do, and to be fair miran does do multiple of those things |
16:03:22 | FromDiscord | <@bracketmaster-5a708063d73408ce4> Honestly, do any languages have great C++ interop? |
16:03:33 | FromDiscord | <@bracketmaster-5a708063d73408ce4> My whole position is avoid C++ like the plague |
16:03:35 | FromDiscord | <tandy> C++ |
16:03:46 | FromDiscord | <@bracketmaster-5a708063d73408ce4> ahaha!! |
16:03:49 | FromDiscord | <haxscramper> alright, I'm done withnim |
16:03:53 | FromDiscord | <haxscramper> goodbye all |
16:04:00 | FromDiscord | <@bracketmaster-5a708063d73408ce4> wait |
16:04:06 | FromDiscord | <@bracketmaster-5a708063d73408ce4> you can't just leave us |
16:04:14 | FromDiscord | <dom96> but I also don't like discussing what someone does and doesn't do here like this |
16:04:18 | FromDiscord | <Rika> especially for C++... |
16:04:31 | FromDiscord | <haxscramper> so what do you propose↵(@dom96) |
16:04:35 | FromDiscord | <haxscramper> write a collective letter? |
16:04:57 | FromDiscord | <haxscramper> and where do you want to discuss this |
16:05:01 | FromDiscord | <@bracketmaster-5a708063d73408ce4> @haxscramper\:matrix.org - you can design your own lang |
16:05:02 | FromDiscord | <haxscramper> official nim real-time chat |
16:05:06 | FromDiscord | <enthus1ast> maybe do not thing about issues, but solutions |
16:05:08 | FromDiscord | <@bracketmaster-5a708063d73408ce4> if its good, maybe I'll join 😛 |
16:05:12 | FromDiscord | <cabboose> I don't think miran has any fault if they are not informed by higher up whats happening internally to communicate it to the community |
16:05:12 | FromDiscord | <haxscramper> discussin about nim managemetn |
16:05:22 | FromDiscord | <cabboose> have you seen the RFCs for nim before? |
16:05:50 | FromDiscord | <enthus1ast> sometimes, but i'm not REALLY informed |
16:06:05 | FromDiscord | <cabboose> I mean; there's a lot of lovely solutions on there |
16:06:08 | FromDiscord | <enthus1ast> [Edit](https://discord.com/channels/371759389889003530/371759389889003532/887730759027269673): maybe do not think about issues, but solutions |
16:06:14 | FromDiscord | <cabboose> and some of them |
16:06:15 | FromDiscord | <cabboose> are almost |
16:06:15 | FromDiscord | <cabboose> ancient |
16:06:16 | FromDiscord | <cabboose> almost |
16:06:16 | FromDiscord | <haxscramper> you have to be, otherwise you are out of the loop in this community |
16:06:20 | FromDiscord | <haxscramper> have to be informed |
16:06:41 | FromDiscord | <haxscramper> like read all of this random discussions where Araq shares his opinon on stdlib evolution |
16:06:53 | FromDiscord | <Rika> a lot of them are "solved" and have agreed-upon solutions |
16:06:54 | FromDiscord | <haxscramper> then there aare multiple RFC |
16:06:55 | FromDiscord | <haxscramper> fusion |
16:06:56 | FromDiscord | <haxscramper> some random crap |
16:06:57 | FromDiscord | <Rika> jsut a matter of impl |
16:07:08 | FromDiscord | <haxscramper> and then nobody knows how stdlib evolves |
16:07:11 | FromDiscord | <haxscramper> have you heard of atlast? |
16:07:13 | FromDiscord | <haxscramper> atlas\ |
16:07:19 | FromDiscord | <enthus1ast> nope |
16:07:20 | FromDiscord | <cabboose> ? |
16:07:30 | FromDiscord | <haxscramper> planned nim tool to bundle stdlib packages together |
16:07:38 | FromDiscord | <Rika> atlas is that thing for compiler to rely on packages right |
16:07:39 | FromDiscord | <cabboose> Ahyeah |
16:07:48 | FromDiscord | <haxscramper> idk if this is announced, but they worked on it for some time |
16:07:56 | FromDiscord | <haxscramper> it is even merged |
16:07:57 | FromDiscord | <cabboose> I remember seeing it somewhere |
16:07:58 | FromDiscord | <Rika> barely anyone knows about it |
16:08:02 | FromDiscord | <haxscramper> it is for internal use though |
16:08:52 | * | rockcavera joined #nim |
16:08:52 | * | rockcavera quit (Changing host) |
16:08:52 | * | rockcavera joined #nim |
16:10:23 | FromDiscord | <haxscramper> it also does not help that a lot of nim features are started in an intermediate experimental state |
16:10:32 | FromDiscord | <haxscramper> and they hang in there for idk how long |
16:10:39 | FromDiscord | <haxscramper> letting community be the test suite is kind of |
16:11:08 | FromDiscord | <haxscramper> "important packages" is basically - "nim compiler is valid if it can comile package X Y and Z" |
16:11:16 | FromDiscord | <haxscramper> and then core devs PR fixes to these packages |
16:11:19 | FromDiscord | <dom96> @haxscramper I would suggest chatting with miran or Araq directly |
16:11:20 | FromDiscord | <haxscramper> so they can unblock compioler |
16:11:23 | FromDiscord | <haxscramper> compiler\ |
16:12:50 | FromDiscord | <@bracketmaster-5a708063d73408ce4> @haxscramper\:matrix.org - have you considered dale? |
16:12:50 | FromDiscord | <@bracketmaster-5a708063d73408ce4> https://github.com/tomhrr/dale |
16:12:52 | nrds | <R2D299> itHub: 7"Lisp-flavoured C" |
16:12:53 | FromDiscord | <cabboose> Shouldn't there be someone here to be monitoring and communicating on behalf of the devs? |
16:13:17 | FromDiscord | <haxscramper> I have tens of thousands of SLOC of nim code |
16:13:23 | FromDiscord | <haxscramper> I'm not interested in switching now |
16:14:00 | FromDiscord | <haxscramper> also "lisp-flavored" anything makes be feel sick |
16:14:12 | FromDiscord | <@bracketmaster-5a708063d73408ce4> ok - not a lisp fan - I get it |
16:14:20 | FromDiscord | <haxscramper> Lisp is not aa language with good "flavor" |
16:14:31 | FromDiscord | <haxscramper> It is a language with good ideas |
16:14:32 | FromDiscord | <haxscramper> Like ast macros |
16:14:32 | FromDiscord | <@bracketmaster-5a708063d73408ce4> But if you want compilers that are nice to work on, lisp is really the only way to go |
16:14:40 | FromDiscord | <haxscramper> now |
16:14:41 | FromDiscord | <haxscramper> no\ |
16:14:48 | FromDiscord | <@bracketmaster-5a708063d73408ce4> compilers written in lisp are pretty readable IMO |
16:14:50 | FromDiscord | <cabboose> m8 are you trying to poke the bear? |
16:14:59 | FromDiscord | <Yardanico> nice discussion going on in #main |
16:15:03 | FromDiscord | <haxscramper> the one way to go with good compilers is writing docs |
16:15:21 | FromDiscord | <haxscramper> Compiler is just a code base |
16:15:25 | FromDiscord | <haxscramper> If it is commented and explained it is better |
16:15:29 | FromDiscord | <haxscramper> Language does not matter |
16:15:38 | FromDiscord | <cabboose> It was all @cabboose ban him |
16:16:38 | FromDiscord | <cabboose> At the end of the day, the people who would be the most angry about the status quo would be the ones who care the most about it |
16:16:39 | FromDiscord | <leorize> if you ever want to cry, try touching nim's sigmatch |
16:17:03 | FromDiscord | <leorize> in particular, try figuring out how the information flow between sem \<-\> sigmatch |
16:17:08 | FromDiscord | <cabboose> Aiya |
16:17:41 | FromDiscord | <@bracketmaster-5a708063d73408ce4> In my experience, compilers aren't the paragon of documentation. I haven't touched Nim's compiler, but GCC for example is basically requires a few months of study before you can do anything useful with it |
16:17:58 | FromDiscord | <@bracketmaster-5a708063d73408ce4> But yeah, roadmaps for nim would be nice |
16:18:01 | FromDiscord | <Rika> but gcc is old as balls? |
16:18:02 | FromDiscord | <haxscramper> AND SO WHAT |
16:18:27 | FromDiscord | <haxscramper> there is a shit somehwere, good, now we can disregard every complaint? |
16:18:38 | FromDiscord | <haxscramper> let me count number of comment lines in nim compiler |
16:19:05 | FromDiscord | <cabboose> I think he's trying to antagonise you |
16:19:07 | FromDiscord | <haxscramper> also, there is no spec for typed AST |
16:19:35 | * | Vladar joined #nim |
16:19:59 | FromDiscord | <@bracketmaster-5a708063d73408ce4> well... |
16:20:28 | FromDiscord | <@bracketmaster-5a708063d73408ce4> I wasn't really -just trying to share some experience |
16:20:53 | FromDiscord | <haxscramper> well, the internals of a compiler is a niche compaint, we don't have thousands of nim users that work with compiler |
16:21:01 | FromDiscord | <haxscramper> But other features are communicated just as badly |
16:21:25 | FromDiscord | <leorize> we should have more than 3 people working on the compiler, at least |
16:21:37 | FromDiscord | <leorize> is it still 3? I don't know who is on paying roster nowadays |
16:21:49 | FromDiscord | <cabboose> This is what happens when a mans project explodes from an update |
16:21:52 | FromDiscord | <haxscramper> We are currently working on IC, ARC/ORC, Lazy semcheck, View types and other things |
16:22:30 | FromDiscord | <haxscramper> Well, I'm not much beter, hcparse/haxdoc are like "big new thing", but who knows their state |
16:22:31 | FromDiscord | <haxscramper> I certainly don't |
16:22:47 | FromDiscord | <haxscramper> For this I have to talk to a guy who writes my code |
16:22:58 | FromDiscord | <xflywind> Just araq and timothee work on compiler in recent months. |
16:23:37 | * | syl_ joined #nim |
16:23:40 | * | syl_ is now known as syl |
16:24:13 | FromDiscord | <haxscramper> It took me about a couple of months to get into compiler internals |
16:24:39 | FromDiscord | <haxscramper> And I had an absolute thermonuclear solution for working with unfamilliar code |
16:24:40 | FromDiscord | <haxscramper> sourcetrail/haxdoc |
16:24:41 | FromDiscord | <haxscramper> it worked then |
16:26:46 | FromDiscord | <xflywind> Add them to important packages? |
16:27:01 | FromDiscord | <haxscramper> no, thanks |
16:27:13 | FromDiscord | <haxscramper> This does not make any sense to me |
16:27:16 | FromDiscord | <haxscramper> compiler breaks code |
16:27:32 | FromDiscord | <haxscramper> now you specifically play around my code not to break it |
16:27:52 | FromDiscord | <haxscramper> Also this is not "important" package yet anyway |
16:27:54 | FromDiscord | <haxscramper> it is like |
16:28:01 | FromDiscord | <haxscramper> I tell everyone how good it is |
16:28:26 | FromDiscord | <haxscramper> and when 1.6 finally releases I will fix it for new version |
16:28:32 | FromDiscord | <leorize> one day nim will have the CI infra to test all packages |
16:28:34 | FromDiscord | <leorize> one day... |
16:28:48 | FromDiscord | <cabboose> I literally wanted it today |
16:28:57 | FromDiscord | <cabboose> And I am an impatient zoomer |
16:28:59 | FromDiscord | <cabboose> so this is unacceptable |
16:29:09 | FromDiscord | <@bracketmaster-5a708063d73408ce4> what is a zoomer? |
16:29:11 | FromDiscord | <haxscramper> https://www.hyrumslaw.com/ |
16:29:18 | FromDiscord | <haxscramper> hyrim-style CI |
16:29:30 | FromDiscord | <haxscramper> dont' spec |
16:29:58 | FromDiscord | <haxscramper> just write all the code you can write and hope someone catches a bug |
16:32:19 | FromDiscord | <haxscramper> not like I know of a surefilre way to write a code without bugs |
16:32:19 | FromDiscord | <haxscramper> I would just write nim then myself |
16:32:20 | FromDiscord | <cabboose> the new generation of dopamine deprived human beings |
16:32:21 | FromDiscord | <cabboose> Besides not writing at all |
16:34:09 | FromDiscord | <leorize> my trick to less bugs is to test more |
16:34:31 | FromDiscord | <leorize> tests first, then make the simplest impl that will solve the problem |
16:34:41 | FromDiscord | <leorize> then you can think of fastify-ing it |
16:34:45 | FromDiscord | <dom96> why don't we have the infra to do that? |
16:35:04 | FromDiscord | <dom96> We can get more DO droplets if needed |
16:35:28 | FromDiscord | <haxscramper> sent a long message, see http://ix.io/3yYL |
16:36:00 | FromDiscord | <dom96> I also still have access to the gcc build farm which we used to test exotic architectures back in the nimbuild days |
16:36:03 | FromDiscord | <haxscramper> Also, some built-in features have severe limitations, like `method` being very slow etc. but those are minor complaints\` |
16:36:20 | FromDiscord | <haxscramper> `nkError` probably should not be added to this list |
16:37:04 | FromDiscord | <enthus1ast> i can imagine that if distrubuted as a container, some community members are willing to run automated tests↵(@dom96) |
16:37:58 | FromDiscord | <xflywind> That sounds hard to maintain. |
16:38:08 | FromDiscord | <Rika> a container? |
16:38:15 | FromDiscord | <dom96> In reply to @flywind "That sounds hard to": yep, that's always the problem |
16:38:30 | FromDiscord | <dom96> a CI infra for something as complex as a compiler really needs at least one full-time person IMO |
16:38:49 | FromDiscord | <enthus1ast> i mean the IC infrastructure as a container |
16:38:55 | FromDiscord | <enthus1ast> then the packets are pulled in and tested |
16:39:08 | FromDiscord | <enthus1ast> then containers for cross compilation |
16:39:28 | FromDiscord | <dom96> Sure, you could do this to resolve the capacity problem |
16:39:54 | FromDiscord | <dom96> afaik gitlab's CI makes this quite easy |
16:41:42 | FromDiscord | <haxscramper> I don't know how import it is really, but having no tool for code coverage is annoying |
16:42:14 | FromDiscord | <leorize> i wrote a coverage ci for nim somewhere |
16:42:37 | FromDiscord | <enthus1ast> You're talking about test coverage? |
16:43:29 | FromDiscord | <leorize> but the main issue is that gcov-style coverage is unaware of nim execution |
16:44:08 | FromDiscord | <haxscramper> https://github.com/nim-lang/Nim/pull/15827#issuecomment-906577116 |
16:44:24 | * | leth quit (Read error: Connection reset by peer) |
16:44:40 | FromDiscord | <haxscramper> basically all tools to get runtime properties of the code are pain |
16:45:11 | FromDiscord | <haxscramper> painful to use and don't work with nim, and/or don't work with large code bases |
16:45:18 | FromDiscord | <haxscramper> Use outdated intermediate store formats |
16:45:29 | FromDiscord | <haxscramper> Or ad-hoc pretty printed formats |
16:45:34 | FromDiscord | <haxscramper> Can't really be integrated into anything |
16:47:40 | FromDiscord | <enthus1ast> I have absolutely no knowledge about this and maybe this is naive, but would it maybe possible to have an approach like AFL does it? |
16:51:11 | FromDiscord | <cabboose> The Australian Football League? |
16:51:57 | FromDiscord | <Rika> fuzzing? |
16:52:17 | FromDiscord | <enthus1ast> https://en.wikipedia.org/wiki/American_fuzzy_lop_(fuzzer) |
16:52:25 | FromDiscord | <Rika> "american fuzzy lop |
16:52:26 | FromDiscord | <Rika> yeah] |
16:52:27 | FromDiscord | <Rika> that |
16:52:48 | FromDiscord | <enthus1ast> i don't know exactly how it works, but it can somehow see all the code trees that where taken |
16:53:50 | FromDiscord | <Rika> i tried it |
16:53:54 | FromDiscord | <Rika> its not fast |
16:53:57 | FromDiscord | <Rika> (of course) |
16:54:08 | FromDiscord | <Rika> basically you feed it an input |
16:54:09 | FromDiscord | <leorize> https://github.com/alaviss/Nim/commits/coverage \<- my previous attempt at implementing coverage testing for nim |
16:54:14 | FromDiscord | <Rika> it uses that input to generate more inputs |
16:54:26 | FromDiscord | <Rika> and tests it on the binary, see if it crashes |
16:54:44 | FromDiscord | <leorize> i forgot why i stopped this stuff by now, but it's there if anyone is interested |
16:54:49 | FromDiscord | <enthus1ast> i do not mean in the fuzzing aspect, but "these code tests visit about 40% of all possible routes" |
16:54:53 | FromDiscord | <Rika> its good for looking for obscure parser bugs |
16:55:00 | FromDiscord | <Rika> but not good for logic issues |
16:56:39 | FromDiscord | <haxscramper> Code traces can be good if you have two examples - working and not. |
16:56:47 | FromDiscord | <haxscramper> And you run the code, and compare things |
16:57:00 | FromDiscord | <haxscramper> It is not a dealbreker |
16:57:08 | FromDiscord | <Rika> yeah it doesnt see if the output is correct |
16:57:15 | FromDiscord | <Rika> it just checks if it doesnt crash |
16:57:46 | FromDiscord | <leorize> PBT is the fuzzing for logic |
16:58:02 | FromDiscord | <haxscramper> Beef suggested to use all examples from the issues |
16:58:06 | FromDiscord | <Rika> pbt? |
16:58:10 | FromDiscord | <haxscramper> I tests as well |
16:58:23 | FromDiscord | <enthus1ast> a few years ago, i fuzzed std/asynchttpserver for fun |
16:58:28 | FromDiscord | <enthus1ast> found a lot of crashes |
16:58:30 | FromDiscord | <haxscramper> It was a discussion about this idiotic stale bot |
16:58:43 | FromDiscord | <leorize> property based testing↵(@Rika) |
16:58:47 | FromDiscord | <Rika> i see |
16:58:50 | FromDiscord | <Rika> ive heard of it |
17:00:39 | * | ozzz quit (Quit: Bye) |
17:03:25 | * | ozzz joined #nim |
17:16:55 | FromDiscord | <cabboose> sent a code paste, see https://play.nim-lang.org/#ix=3yZ1 |
17:17:09 | FromDiscord | <cabboose> Is this true? |
17:17:15 | FromDiscord | <cabboose> in regards to 48-bit virtual addresses |
17:17:31 | FromDiscord | <leorize> you can read wikichips for that I guess |
17:17:39 | FromDiscord | <leorize> do they have references? |
17:18:10 | FromDiscord | <cabboose> Not for that claim hahaha |
17:19:00 | FromDiscord | <leorize> > ↵> except very recent Intel designs↵> |
17:19:03 | FromDiscord | <leorize> that's concerning |
17:19:30 | FromDiscord | <leorize> given that intel has only recently moved on from skylake |
17:19:59 | FromDiscord | <leorize> I guess you just have to test the property that they're trying to exploit to be sure |
17:20:21 | FromDiscord | <cabboose> Well does alignment have a cost to it? |
17:20:34 | FromDiscord | <leorize> yea |
17:20:53 | FromDiscord | <leorize> a lot of atomics and stuff only work on aligned address |
17:21:14 | FromDiscord | <leorize> though mratsim would have better sources for this |
17:25:39 | FromDiscord | <cabboose> Seems silly to try implement something on a cpu hack |
17:25:53 | FromDiscord | <cabboose> and else I only have the option of alignment |
17:26:06 | FromDiscord | <cabboose> so alignment it is |
17:27:01 | FromDiscord | <leorize> cpu hack is the basis of extremely high-performance computing |
17:27:57 | FromDiscord | <cabboose> I guess it can just be a switch that defaults to the cpu hack then? |
17:28:22 | FromDiscord | <leorize> I guess try to implement it as close to the authors design as possible |
17:28:40 | FromDiscord | <leorize> then try twiddling with the details after |
17:29:29 | FromDiscord | <cabboose> That's a funny one; their algorithm pseudocode is different from their article to their repo |
17:29:29 | FromDiscord | <cabboose> and then different to their cpp implementation |
17:29:30 | FromDiscord | <cabboose> hahahaha |
17:29:46 | FromDiscord | <cabboose> But yis I do as you say sensei |
17:30:27 | FromDiscord | <leorize> a lot of papers have this idea that you completely understand some of the underlying concepts |
17:39:26 | FromDiscord | <ValorZard> hey does anyone know what happened to Arne Döring |
17:40:16 | FromDiscord | <leorize> arne left nim for the most part |
17:40:16 | FromDiscord | <cabboose> well they do atomic fetchAdds which is supposed to increment the value of the 0'd bits so I assume they just do alignment |
17:40:48 | FromDiscord | <leorize> krux sometimes hang around in cps room but I haven't seen him lately |
17:44:27 | FromDiscord | <tandy> Coco kinda works |
17:44:31 | FromDiscord | <ValorZard> In reply to @leorize "arne left nim for": does anyone know why? |
17:44:46 | FromDiscord | <haxscramper> "kinda" |
17:44:52 | FromDiscord | <haxscramper> see #13 on their issue tracker |
17:45:25 | FromDiscord | <leorize> he got fed up with the lack of improvement to the compiler, and that his attempts were rejected |
17:45:46 | FromDiscord | <leorize> there's a lot more to it, but that's what on top of my head atm |
17:47:08 | FromDiscord | <ValorZard> I see. Are there plans to improve the complier? |
17:47:35 | FromDiscord | <tandy> a victim of things in the above discussion...? |
17:47:45 | FromDiscord | <cabboose> If you look at kruxs recent work looks like he's on Odin now \:x |
17:47:55 | FromDiscord | <leorize> yea |
17:47:59 | FromDiscord | <ValorZard> yeah thats actually where I ran into him |
17:48:08 | FromDiscord | <cabboose> he's doing work on their compiler \:/ |
17:48:19 | FromDiscord | <leorize> he is not the first to leave, that is |
17:48:29 | FromDiscord | <ValorZard> oof is the leadership really that bad? |
17:48:36 | FromDiscord | <leorize> he is the first core dev to, though |
17:49:18 | FromDiscord | <haxscramper> In reply to @バロザード "oof is the leadership": There is a nuclear rant just above, though I probable made things sound overly dramatic |
17:49:31 | FromDiscord | <ValorZard> Ah |
17:49:53 | FromDiscord | <haxscramper> And it is mostly about lack of communication of where leadership wants to steer the language at the moment |
17:50:30 | FromDiscord | <haxscramper> Like it is not 1v1 fight for every PR at least, but general neglect of |
17:50:44 | FromDiscord | <haxscramper> idk, communication |
17:50:54 | FromDiscord | <ValorZard> Isee |
17:54:00 | FromDiscord | <haxscramper> https://forum.nim-lang.org/t/7983 stuff like this should be more common |
17:55:11 | FromDiscord | <deech> How do I `expandArc` with a qualified function, eg. `--expandArc:blah.myProc`? |
17:55:25 | FromDiscord | <leorize> you... don't |
17:55:56 | FromDiscord | <leorize> I believe expandArc works only on procs of the main unit |
17:57:03 | FromDiscord | <deech> Is there a way besides expandArc to see what's being destroyed or copied? |
18:04:47 | FromDiscord | <tandy> should i just fork jsony or is there a way to fix this? |
18:04:47 | FromDiscord | <tandy> sent a code paste, see https://play.nim-lang.org/#ix=3yZj |
18:04:48 | FromDiscord | <tandy> this worked for one hook, but my other more general hook is having the same error↵(@Rika) |
18:05:03 | FromDiscord | <cabboose> so like |
18:05:04 | FromDiscord | <cabboose> can you not do |
18:05:20 | FromDiscord | <cabboose> `jsony.dumpHook(s, v.get())` |
18:05:25 | FromDiscord | <Rika> make the more generic hooks less generic? can you do an example |
18:05:30 | FromDiscord | <Rika> no |
18:05:31 | FromDiscord | <Rika> he cant |
18:05:36 | FromDiscord | <Rika> dumpHook is not called by him |
18:06:00 | FromDiscord | <Rika> but "internally" by jsony |
18:06:17 | FromDiscord | <tandy> what im doing is telling jsony not to write to json where the type's field is an option none()↵(@Rika) |
18:06:38 | FromDiscord | <Rika> idk i think hooks for option are already defined |
18:06:48 | FromDiscord | <Rika> is there no docs on overriding default hooks? |
18:06:56 | FromDiscord | <cabboose> ... yeah there is |
18:07:06 | FromDiscord | <tandy> yeah but they dont skip none()s↵(@Rika) |
18:07:32 | FromDiscord | <cabboose> uhm |
18:07:47 | FromDiscord | <cabboose> fork it |
18:07:47 | FromDiscord | <cabboose> pretty sure you can tell jsony to do things like that |
18:07:48 | FromDiscord | <cabboose> well |
18:07:51 | FromDiscord | <cabboose> fuck it |
18:07:51 | FromDiscord | <cabboose> that rhymes |
18:08:06 | FromDiscord | <tandy> epic.. |
18:08:12 | FromDiscord | <Rika> cab legit you're sounding strange |
18:08:27 | FromDiscord | <Rika> tandy might be helpful to raise the issue in the repo |
18:08:36 | FromDiscord | <haxscramper> Wouldn't this create invalid json? |
18:08:39 | FromDiscord | <Rika> theres a comma after tandy sorry |
18:08:48 | FromDiscord | <Rika> hax wdym? |
18:08:48 | FromDiscord | <cabboose> I wIlL eAt YoUr SoUl RiKa |
18:08:49 | FromDiscord | <haxscramper> `field: <skipped none(int)>` |
18:08:54 | FromDiscord | <Rika> `null`? |
18:09:00 | FromDiscord | <haxscramper> will make `"field":` |
18:09:00 | FromDiscord | <Rika> json has null doesnt it |
18:09:03 | FromDiscord | <cabboose> Okay i'm going to bed goodnight friends |
18:09:04 | FromDiscord | <haxscramper> And it should do `"field":null` |
18:09:09 | FromDiscord | <tandy> it would result in something like this↵{"field"\: ""} |
18:09:18 | FromDiscord | <tandy> where field is an option[string] |
18:09:30 | FromDiscord | <Rika> i thought when you mean skipped field you meant the field isnt put at all in the json |
18:11:34 | FromDiscord | <tandy> the union thing is to solve this same bug im having |
18:11:35 | FromDiscord | <tandy> yep, sorry |
18:11:41 | FromDiscord | <tandy> sent a code paste, see https://play.nim-lang.org/#ix=3yZl |
18:12:34 | FromDiscord | <haxscramper> at the very last |
18:12:36 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=3yZm |
18:13:05 | FromDiscord | <tandy> it does work, but for this other small dumpHook i get ambiguous call error |
18:13:43 | FromDiscord | <haxscramper> Alright, so you want to override some of the default hooks for already existing concrete types? |
18:13:55 | FromDiscord | <tandy> yes, for option[T] |
18:14:04 | FromDiscord | <tandy> this |
18:14:32 | FromDiscord | <haxscramper> You can try `import X except` with some of the jsony internals |
18:14:33 | FromDiscord | <tandy> btw this worked when i was using a hacky include |
18:14:36 | FromDiscord | <tandy> but i opted to remove that |
18:15:11 | FromDiscord | <haxscramper> can you send whole code then? I think it should be doable |
18:15:26 | FromDiscord | <Rika> how do you except an overloaded proc? |
18:15:35 | FromDiscord | <tandy> can i write `import jsony except dumpHook[T](s: var string, v: Option[T])` |
18:16:10 | FromDiscord | <haxscramper> no, I forgot that it is not possible |
18:16:15 | FromDiscord | <tandy> 1sec leme push |
18:19:22 | FromDiscord | <tandy> `nim c -r tests/lbTest`↵https://github.com/Listen2gether/website/blob/master/tests/lbTest.nim |
18:19:54 | FromDiscord | <tandy> apologies for the state of it, i just tried to fix this `include utils` problem today |
18:20:00 | FromDiscord | <tandy> in the middle of some other stuff |
18:21:12 | FromDiscord | <haxscramper> I want to murder someone |
18:21:12 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=3yZr |
18:22:17 | FromDiscord | <tandy> \:x |
18:25:46 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=3yZt |
18:25:57 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=3yZu |
18:26:40 | FromDiscord | <haxscramper> Importing from another module works as well |
18:31:36 | FromDiscord | <jakkn> sent a code paste, see https://play.nim-lang.org/#ix=3yZv |
18:31:50 | * | stkrdknmibalz joined #nim |
18:33:12 | FromDiscord | <jakkn> In reply to @Varriount "Some guesses (I have": Thanks, in the end it turns out compiling with `--noMain` is what caused the process to crash. Afaiu this prevents nim's GC from starting, and with no GC you get no strings. |
18:36:25 | * | max22- quit (Ping timeout: 260 seconds) |
18:37:56 | FromDiscord | <tandy> but the test doesnt compile .. |
18:57:10 | FromDiscord | <Goel> Is `.cfloat` a thing? To convert a number to its cfloat corrispetive just like `.cint`? |
18:58:42 | FromDiscord | <Rika> In C float is always 32 bits is it not |
18:58:50 | FromDiscord | <Rika> So you just need to always use float32 |
18:59:02 | FromDiscord | <Rika> If you so desire you can make a type alias |
18:59:30 | FromDiscord | <@bracketmaster-5a708063d73408ce4> in nim, there was a way to make a type that can be either type a or type b |
18:59:34 | FromDiscord | <@bracketmaster-5a708063d73408ce4> I forget just how to do this |
19:00:40 | FromDiscord | <Goel> But .cfloat is implemented or not? I ask this because i have a weird behaviour on a Vector2 and i don't understand what is going on |
19:01:08 | FromDiscord | <@bracketmaster-5a708063d73408ce4> how might I make type a or type b? |
19:02:38 | FromDiscord | <tandy> i dont understand how you got it to work |
19:02:48 | FromDiscord | <Goel> `Vector2` from binding is an object that have two fields, `x` and `y` both being cfloat. If i create `var name: Vector2 = (2.0, 2.0)` it works, even though they are both float (of nim and not cfloat). If i try `var name: Vector2 = (2.cfloat, 2.cfloat)` its not recognized |
19:02:59 | FromDiscord | <tandy> sent a code paste, see https://play.nim-lang.org/#ix=3yZJ |
19:04:09 | * | max22- joined #nim |
19:05:14 | FromDiscord | <haxscramper> https://wandbox.org/permlink/NsnsT590ufn4neXM |
19:05:35 | FromDiscord | <haxscramper> well, I only fixed part that used jsony |
19:05:43 | FromDiscord | <haxscramper> Because don't want to fight "lockfile" for now |
19:10:51 | * | pjzz quit (Quit: WeeChat 2.3) |
19:25:31 | FromDiscord | <tandy> i dont see any changes except the way you import, could that be the solution? |
19:26:32 | FromDiscord | <haxscramper> I can't say for sure |
19:26:44 | FromDiscord | <haxscramper> The change wasn't intentional at least |
19:30:57 | FromDiscord | <tandy> hmm |
19:31:03 | FromDiscord | <tandy> il dig around later i gues |
20:09:26 | FromDiscord | <@bracketmaster-5a708063d73408ce4> I'm clearly messing up on array overloading in nim- but not sure where |
20:09:26 | FromDiscord | <@bracketmaster-5a708063d73408ce4> https://paste.debian.net/1211898/ |
20:11:22 | * | stkrdknmibalz quit (Ping timeout: 260 seconds) |
20:12:28 | FromDiscord | <Gumber aka Zachary Carter> In reply to @@bracketmaster-5a708063d73408ce4 "I'm clearly messing up": https://play.nim-lang.org/#ix=3z04 compiles at least |
20:13:18 | FromDiscord | <Gumber aka Zachary Carter> you need the backticks around `[]` |
20:13:34 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=3z05 |
20:13:37 | FromDiscord | <haxscramper> And you missed `depth:` everywhere |
20:13:38 | FromDiscord | <Gumber aka Zachary Carter> and I don't think the `type(Regfile.data)` for the return type was workling |
20:14:01 | FromDiscord | <haxscramper> `type(Regfile.data)` does not work, an not supported, yes |
20:14:15 | FromDiscord | <Gumber aka Zachary Carter> back to covid nap 🙂 |
20:46:44 | FromDiscord | <SivadNai> In work today, Nim got me my first Security Alert email. Looks like I picked the wrong day to investigate the windows COM library |
21:11:19 | * | Vladar quit (Quit: Leaving) |
21:32:57 | FromDiscord | <auxym> what's up with `--checkAbi`, not available in 1.4.8? |
21:35:00 | * | tdc quit (Ping timeout: 268 seconds) |
21:37:15 | * | max22- quit (Quit: Leaving) |
21:48:07 | arkanoid | how to wait with asyncjs? |
22:03:53 | * | Pyautogui joined #nim |
22:04:38 | Pyautogui | Quick question, is it possible to import enums with {.importc.}? If so, could someone give an example? I am trying to wrap a pdf writer lib. |
22:05:03 | FromDiscord | <Elegantbeef> What are the C enum values? |
22:06:33 | Pyautogui | None where explicitly assigned in the header file. I have very little experience with C. |
22:06:44 | Pyautogui | Sorry |
22:07:33 | FromDiscord | <Elegantbeef> What's the library/enum you're trying to wrap? |
22:07:33 | Pyautogui | https://pastebin.com/zaui0CM4 |
22:07:48 | Pyautogui | https://github.com/AndreRenaud/PDFGen/ |
22:07:50 | nrds | <R2D299> itHub: 7"Simple C PDF Writer/Generation library" |
22:08:01 | FromDiscord | <Elegantbeef> Well that just means they're 0 incremented eh? |
22:08:17 | FromDiscord | <Elegantbeef> So just map it to a nim enum? |
22:09:54 | Pyautogui | How would I do that? I have little experience with wrapping C. Sorry |
22:11:41 | Pyautogui | Just use cint enum values? |
22:12:39 | FromDiscord | <Elegantbeef> https://play.nim-lang.org/#ix=3z0z afaik |
22:12:45 | FromDiscord | <auxym> Just define an enum in nim, and pass it to the C function. I'm doing exactly this ATM and it doesn't seem to cause any issue. Nim converts the enum to an int constant in generated C code, and gcc doesn't seem to mind implicit casting of int to enum or vice versa |
22:13:07 | Pyautogui | Got it. Thanks for the help |
22:14:36 | arkanoid | can the "do notation" be used for args that are not the last one? For example I have "setTimeout(callback: proc(), delay: cint)" and I'd like to use the do notation when calling it |
22:15:17 | arkanoid | I mean, without writing a proc that swaps the args |
22:16:15 | FromDiscord | <Elegantbeef> You can use do for all args but there isnt presently a named do block afaik |
22:17:11 | arkanoid | for all args? |
22:17:34 | arkanoid | setTimeout() do:\necho "foo"\ndo: 3000 ? |
22:19:36 | FromDiscord | <fae> @PMunch thank you for writing the series on how to embed the nimscript interpreter in a nim application, it was a good read and very helpful |
22:27:21 | federico3 | what is #main ? |
22:27:33 | federico3 | Yardanico: were you looking for me? |
22:28:02 | FromDiscord | <Yardanico> I asked a question about licenses :) |
22:28:19 | FromDiscord | <Yardanico> Reposting from before: |
22:28:31 | federico3 | found it |
22:28:55 | FromDiscord | <Yardanico> @federico3 you around? Can you please resolve some of my doubts about licenses? So far I thought that LGPL-3 is not suitable for languages where all modules are compiled into a single binary since one of the points of LGPL is the ability to swap the library after compilation so there won't be any difference between GPL and LGPL, but you use LGPL in some of your Nim projects - so with e.g. https://github.com/FedericoCeratto/nim-httpauth |
22:29:52 | federico3 | you have to allow end users to replace the library if they one: one way is to provide sources so they can recompile it, another, less common, is to provide ways to relink the executable by sharing object files |
22:30:56 | federico3 | (and if you provide the sources they don't have to be under a FLOSS licence necessarily, as long as the user can recompile the application) |
22:43:16 | FromDiscord | <Yardanico> exactly, so I don't understand how LGPL is different than GPL in that regard for Nim source libraries since they get statically compiled in |
22:43:34 | FromDiscord | <Yardanico> you'd have to provide the full source anyway |
22:44:02 | federico3 | GPL would require the source to be provided under GPL |
22:46:47 | federico3 | (I mean the sources of the codebase that is importing the LGPL library) |
22:51:12 | FromDiscord | <leorize> you can also just... gate it behind a server |
22:51:28 | FromDiscord | <leorize> if the user doesn't get their hands on the library, you don't have to provide anything |
22:51:34 | FromDiscord | <leorize> binary\ |
22:52:29 | FromDiscord | <leorize> alternatively, it's not too hard to provide only objects to link to |
22:52:52 | FromDiscord | <leorize> Nim can generate a script and compiles and link, comment the link out and you got the objects |
23:18:28 | * | Pyautogui quit (Ping timeout: 252 seconds) |
23:54:25 | * | Pyautogui joined #nim |
23:56:00 | FromDiscord | <auxym> anyone have an idea why is nim passing `-march=x86-64` to gcc even if I use `--cpu:arm`? |