00:08:05 | * | Trustable quit (Remote host closed the connection) |
00:08:56 | * | rusua joined #nim |
00:10:17 | FromGitter | <Knaque> Thanks! |
00:10:26 | * | rusua left #nim (#nim) |
00:10:49 | * | D_ quit (Quit: No Ping reply in 180 seconds.) |
00:11:46 | * | D_ joined #nim |
00:14:02 | * | marnix joined #nim |
00:16:19 | * | xet7 joined #nim |
00:42:41 | * | marnix quit (Ping timeout: 256 seconds) |
00:48:58 | * | fredrikhr quit (Ping timeout: 260 seconds) |
00:49:57 | * | vicfred quit (Quit: Leaving) |
00:56:02 | * | vikfret joined #nim |
01:15:23 | Tongir | If a nimble package doesn't tag it's releases, is there any other way to pin a certain version against a project? |
01:15:34 | * | endragor joined #nim |
01:18:10 | shashlick | package#version |
01:23:02 | Tongir | shashlick, can version be a comit hash? |
01:23:04 | Tongir | *commit |
01:25:38 | FromDiscord | <Technisha Circuit> While using Jester, how would i add paths via json? So i can do ```json↵{↵ "path/to/page":"path/to/html/file"↵}```? What I've tried hasn't worked :/ |
01:29:17 | Tongir | Technisha Circuit: Paths as in paths to static content (css, html, js etc)? |
01:29:57 | FromDiscord | <Technisha Circuit> Yup |
01:30:10 | FromDiscord | <Technisha Circuit> I think i figured out my issue though |
01:30:34 | Tongir | Good ol' rubber duckying :D |
01:30:57 | FromDiscord | <Technisha Circuit> Lmao |
01:34:24 | FromDiscord | <Technisha Circuit> How do i get the full url of the page visited by Jester |
01:36:39 | shashlick | @Tongir - yes commit, branch, tag |
01:37:56 | Tongir | Ooooh |
01:38:29 | Tongir | Technisha Circuit: Uhhh, window.location or something? |
01:38:37 | * | dddddd quit (Ping timeout: 264 seconds) |
01:40:15 | Tongir | https://nim-lang.org/docs/dom.html#Window |
01:40:38 | Tongir | Also consider using this (I hear it's good, haven't used it https://github.com/xmonader/nimassets) |
01:42:06 | leorize[m] | testers needed for experimental macosx builds: https://github.com/alaviss/nightlies/releases |
01:42:17 | leorize[m] | these builds should work for Mac OSX >= 10.10 |
01:50:25 | * | oddp quit (Ping timeout: 246 seconds) |
01:52:15 | FromDiscord | <Zed> is it possible to forward declare an object? |
01:53:31 | leorize[m] | if it's in the same `type` block, then yes |
01:55:30 | FromDiscord | <Zed> example? declaring with Model* = object and then defining it later on doesn't work |
01:57:22 | * | chemist69 quit (Ping timeout: 260 seconds) |
01:59:23 | * | chemist69 joined #nim |
02:03:40 | * | unihernandez22 joined #nim |
02:03:53 | shashlick | @leorize - i plan on testing all your nightlies with travister - will download all your binaries and run all nim tests and a few other random things |
02:04:05 | shashlick | am trying to finish up my conan and jbb work |
02:04:41 | * | unihernandez22 quit (Client Quit) |
02:05:06 | leorize[m] | we can add more stages to the nightlies pipeline too :) |
02:05:19 | leorize[m] | binaries are uploaded as soon as they're built, so the total runtime doesn't matter |
02:05:31 | leorize[m] | I still want real machines to test these builds though |
02:06:28 | leorize[m] | these builds are also reproducible, but I need to add some tests and upload the build environment somewhere for those who want to reproduce it |
02:07:01 | FromDiscord | <Elegant Beef> @Zed Unless you're doing inheritance that's quite pointless https://play.nim-lang.org/#ix=2pj4 |
02:36:45 | * | unihernandez22 joined #nim |
02:53:22 | * | muffindrake quit (Ping timeout: 260 seconds) |
02:55:33 | * | muffindrake joined #nim |
03:54:16 | vikfret | hi |
03:54:47 | vikfret | I am new to nim and I am trying to develop a discord bot |
03:54:53 | vikfret | is the author of FromDiscord here? |
03:55:37 | vikfret | is FromDiscord made using nim? |
03:56:07 | leorize[m] | yes |
03:56:10 | leorize[m] | !repo ircord |
03:56:10 | disbot | https://github.com/Yardanico/ircord -- 9ircord: 11Discord <-> IRC bridge in Nim 15 6⭐ 0🍴 |
03:56:28 | FromDiscord | <Vicfred> cool thanks |
03:56:36 | leorize[m] | !repo dimscord |
03:56:36 | disbot | https://github.com/krisppurg/dimscord -- 9dimscord: 11A Discord Bot & REST Library for Nim. 15 17⭐ 2🍴 7& 2 more... |
04:06:02 | * | supakeen quit (Quit: WeeChat 2.8) |
04:06:39 | * | supakeen joined #nim |
04:17:47 | * | aenesidemus joined #nim |
04:18:17 | * | waleee-cl quit (Quit: Connection closed for inactivity) |
04:21:30 | FromDiscord | <Vicfred> I tried to compile it/run it and got this error, any idea? |
04:22:04 | FromDiscord | <Rika> prolly yardanico using some local version of dimscord if you're compiling ircord |
04:22:12 | FromDiscord | <Vicfred> sent a long message, see http://ix.io/2pjf |
04:22:50 | FromDiscord | <Rika> see my message |
04:23:01 | FromDiscord | <Rika> either that, or theyre using dimscord head |
04:23:19 | FromDiscord | <Rika> so do `nimble install dimscord@#head` and maybe uninstall the other version |
04:26:27 | * | marnix joined #nim |
04:27:05 | FromDiscord | <Vicfred> i did `nimble uninstall dimscord` and then `nimble install dimscord@#head` but got the same error |
04:32:33 | FromDiscord | <Vicfred> im looking at line 213 and it looks like its using an optional but the type is a string `if m.webhook_id.isSome() and m.webhook_id.get() in webhooks: return` |
04:38:41 | FromDiscord | <Rika> Yeah then it's probably Yardanico's fault |
04:39:11 | FromDiscord | <Rika> @Vicfred actually |
04:39:15 | FromDiscord | <Rika> Try installing devel instead |
04:39:31 | FromDiscord | <Rika> Same way, devel instead of head |
04:39:36 | FromDiscord | <Vicfred> `nimble install dimscord@#devel`? ok |
04:39:43 | FromDiscord | <Rika> No hash i think |
04:39:45 | FromDiscord | <Elegant Beef> Yea devel uses options |
04:39:48 | FromDiscord | <Rika> Dunno |
04:40:02 | FromDiscord | <Elegant Beef> https://github.com/krisppurg/dimscord/blob/devel/dimscord/objects.nim#L40 |
04:40:06 | FromDiscord | <Elegant Beef> Will solve problem |
04:40:37 | * | bung_ joined #nim |
04:40:38 | FromDiscord | <Rika> kinda wish options was more popular |
04:40:45 | FromDiscord | <Rika> and that it was easier to work with |
04:41:20 | FromDiscord | <Elegant Beef> Yea i like options |
04:41:43 | FromDiscord | <Vicfred> its working bois |
04:41:56 | FromDiscord | <Vicfred> `nimble install dimscord@#devel` |
04:41:57 | FromDiscord | <Rika> congrats |
04:42:00 | FromDiscord | <Elegant Beef> I didnt intially see the point much coming from a OOP based language, but i do see the light! |
04:42:15 | FromDiscord | <Vicfred> I guess they took options from haskell right? |
04:42:21 | FromDiscord | <Vicfred> maybe monad |
04:42:29 | FromDiscord | <Rika> maybe i'll copy C# 9.0's null check bang |
04:42:30 | FromDiscord | <Elegant Beef> Options are common in most languages |
04:42:42 | FromDiscord | <Elegant Beef> Which is that again |
04:42:47 | FromDiscord | <Elegant Beef> I forget what each version adds 😄 |
04:42:55 | FromDiscord | <Rika> think they called it "simplified parameter null validation" |
04:42:59 | FromDiscord | <Elegant Beef> Plus im in Unityland so im like 1-2 versions behind |
04:43:18 | FromDiscord | <Elegant Beef> is that `a ?? b` or `a?.b` or something else |
04:43:43 | FromDiscord | <Rika> string argname! |
04:43:44 | FromDiscord | <Elegant Beef> Think those are both "Null colescing" |
04:44:02 | FromDiscord | <Rika> sent a code paste, see https://discordapp.com/channels/371759389889003530/371759389889003532/722310491740831825 |
04:44:10 | FromDiscord | <Elegant Beef> Ah |
04:44:14 | FromDiscord | <Elegant Beef> Early return for nullable types |
04:44:25 | FromDiscord | <Rika> doesnt look doable with macros i think |
04:44:48 | FromDiscord | <Rika> at least w/o an extra pragma i imagine |
04:46:40 | * | endragor quit (Remote host closed the connection) |
04:47:03 | FromDiscord | <Elegant Beef> Can pragmas insert AST inside a proc? |
04:47:07 | * | endragor joined #nim |
04:47:25 | FromDiscord | <Rika> yes |
04:47:28 | FromDiscord | <Rika> pragma macros |
04:47:33 | FromDiscord | <Rika> some pragmas are just macros |
04:47:46 | FromDiscord | <Elegant Beef> Yea i know that but i havent ever added to a proc call 😄 |
04:47:56 | FromDiscord | <Rika> they get the whole proc's ast |
04:48:06 | FromDiscord | <Rika> its not to a call, its to the proc |
04:48:19 | FromDiscord | <Elegant Beef> Yea that's what i meant |
04:49:49 | * | Senny quit (Ping timeout: 272 seconds) |
04:51:16 | FromDiscord | <Elegant Beef> A `{.onlySome.}` or similar would be nice i guess |
04:51:33 | FromDiscord | <Elegant Beef> Checks if all the parameters are options if so adds an early out for them |
04:51:44 | * | unihernandez22 quit (Ping timeout: 245 seconds) |
04:51:49 | * | endragor quit (Ping timeout: 264 seconds) |
04:52:19 | FromDiscord | <Rika> (i think) pmunch made a really good options helper library tho |
04:52:37 | * | endragor joined #nim |
04:52:52 | * | endragor quit (Remote host closed the connection) |
04:53:03 | * | endragor joined #nim |
04:53:48 | * | nsf joined #nim |
04:55:30 | FromDiscord | <Elegant Beef> Ah nice |
04:57:52 | FromGitter | <eagledot> I was looking for gui library in Nim and found one (https://github.com/nim-lang/iup).But couldnot find an example for displaying RGB image. Basically i have RGB raw data and want to display it continuously in a loop.Is there a simple example available to do so? |
05:00:15 | FromDiscord | <Elegant Beef> http://webserver2.tecgraf.puc-rio.br/iup/ |
05:00:20 | FromDiscord | <Elegant Beef> Did you look at the IUP Docs? |
05:01:26 | FromGitter | <eagledot> I tried to ,but couldnot find direct function to display image with raw rgb data . |
05:01:34 | FromDiscord | <Zed> https://github.com/treeform/flippy |
05:01:36 | FromDiscord | <Zed> try this |
05:01:55 | FromDiscord | <Zed> im pretty sure you can create an image from raw data |
05:02:35 | FromGitter | <eagledot> Thanks,I will try this. |
05:10:09 | FromDiscord | <Zed> hey @treeform with figma, would it be possible to run the opengl ui in an sdl/glfw window? |
05:11:17 | FromDiscord | <Zed> *fidget |
05:13:31 | FromDiscord | <Vicfred> does anyone use ircord? can you help me configure it? I already created the bot account and got the token and invited the bot to the server but Im not sure I did it right |
05:20:28 | FromDiscord | <Rika> what's the issue tho |
05:20:29 | FromDiscord | <treeform> @Zed Yes. that's what it does now. It uses openGL in a glfw. |
05:23:02 | FromDiscord | <Vicfred> what "scopes" should I grant the bot? |
05:25:10 | FromDiscord | <treeform> @eagledot are you generating the raw RGB image? Are you going to be updating it? |
05:25:37 | FromDiscord | <Rika> @Vicfred all that you need, i think scopes are intents right? you can check which are which in the discord dev docs |
05:26:37 | FromDiscord | <Zed> thanks @treeform |
05:26:43 | FromDiscord | <Zed> ill be back with more questions lol |
05:37:02 | FromDiscord | <treeform> @eagledot, @Zed, here is how I would generate and display and image with Fidget, Flippy, & Chroma: https://gist.github.com/treeform/260e4c5318353937e40c897e706c56b6 |
05:37:14 | * | aenesidemus quit (Ping timeout: 240 seconds) |
05:52:52 | FromDiscord | <Vicfred> https://media.discordapp.net/attachments/371759389889003532/722327810890530896/unknown.png |
05:53:15 | FromDiscord | <Vicfred> sent a code paste, see http://ix.io/2pjm |
05:55:49 | * | opDispatch quit (Quit: Konversation terminated!) |
05:57:13 | FromDiscord | <treeform> Is that a nim discord library? |
05:59:06 | FromDiscord | <Vicfred> this one https://github.com/Yardanico/ircord |
05:59:42 | FromDiscord | <Vicfred> !repo ircord |
05:59:43 | disbot | https://github.com/Yardanico/ircord -- 9ircord: 11Discord <-> IRC bridge in Nim 15 6⭐ 0🍴 |
06:12:18 | FromGitter | <eagledot> @treeform Thanks for the code.But i am looking to display image continuously from raw RGB data in memory in a continuous loop, more like OpenCV `cv2.imshow` function .Do you some idea how i can do this? |
06:12:30 | * | testbotnimjue joined #nim |
06:13:46 | FromDiscord | <Zed> put the image updating in a while loop? |
06:13:54 | FromDiscord | <Zed> image drawing |
06:15:12 | FromGitter | <eagledot> According the code here (https://gist.github.com/treeform/260e4c5318353937e40c897e706c56b6).Widget show saved image ,is there a function that would take array or seq to display image? |
06:17:42 | vikfret | it looks like the bot sometimes work and sends messages from irc to discord but no the other way arround |
06:18:30 | vikfret | testbotnimjue |
06:20:21 | * | narimiran joined #nim |
06:20:28 | * | testbotnimjue quit (Remote host closed the connection) |
06:25:02 | FromDiscord | <Rika> really? |
06:25:20 | * | tdc joined #nim |
06:25:27 | FromDiscord | <Vicfred> yes |
06:25:33 | FromDiscord | <Vicfred> the webhook works |
06:27:25 | * | solitudesf joined #nim |
06:28:00 | * | mklooste joined #nim |
06:30:49 | * | marnix quit (Ping timeout: 264 seconds) |
06:34:18 | * | mklooste1 joined #nim |
06:38:34 | * | mklooste quit (Ping timeout: 256 seconds) |
06:53:23 | Prestige | Hmm is it possible to have a proc for = to execute some code every time a value is assigned to a particular object? |
06:58:49 | * | kenran joined #nim |
06:59:16 | FromDiscord | <Rika> not that i know of |
07:00:06 | FromDiscord | <Zed> why not something like a simple if check? |
07:00:31 | FromDiscord | <Rika> prestige: i can think of other solutions if you give more context 😛 |
07:01:02 | Prestige | Was curious if I could be notified when a variable is assigned a value, but I could just make a proc for assignment and just not use = I suppose |
07:01:20 | Prestige | Just thought it'd be neat if that proc were called = to capture assignment |
07:11:29 | * | krux02 joined #nim |
07:20:20 | FromDiscord | <Zed> what about `===` *javascript vibes* |
07:21:31 | Prestige | Lol |
07:21:44 | bung_ | it cam compiles when you define `=` proc, I just checked |
07:22:19 | bung_ | can |
07:22:20 | Prestige | Hmm maybe I'll have to try that tomorrow |
07:24:07 | bung_ | sounds like you are design a data binding system |
08:00:51 | * | fredrikhr joined #nim |
08:18:57 | FromDiscord | <KrispPurg> @Vicfred, install websocket 0.4.0 and not 0.5.0 |
08:19:21 | FromDiscord | <KrispPurg> Are you using compress as well? If so then it off. |
08:19:43 | FromDiscord | <Rika> zlib pure port to nim when |
08:20:06 | FromDiscord | <Rika> (/s) |
08:22:37 | FromGitter | <bung87> I thought once , guess others might think worthless porting c lib |
08:23:23 | FromDiscord | <Rika> you calling my linenoise port worthless? |
08:23:26 | FromDiscord | <Rika> ree |
08:23:57 | FromDiscord | <KrispPurg> ~~libopus port in Nim, when???~~ |
08:24:33 | FromDiscord | <KrispPurg> (edit) 'Are you using compress as well? If so then ... it' => 'Are you using compress as well? If so thenturn' |
08:25:37 | FromGitter | <bung87> idk , if it portibg is done then it worth |
08:26:30 | FromDiscord | <Rika> krisppurg is libopus a pain to deal with? |
08:32:29 | FromDiscord | <Vicfred> @KrispPurg thx I will try tomorrow I'm about to sleep now |
08:32:57 | FromDiscord | <KrispPurg> @Rika, I haven't tried it yet lol. |
08:35:06 | FromDiscord | <KrispPurg> I thought of delaying voice, because I want to first release v1.0.0 and I don't want it take too long, since there might issues laying around. |
08:35:19 | FromDiscord | <KrispPurg> might be* |
08:35:41 | FromDiscord | <KrispPurg> gn, vicfred |
08:44:13 | * | leorize quit (Remote host closed the connection) |
08:44:37 | * | leorize joined #nim |
08:47:49 | * | Vladar joined #nim |
08:54:30 | * | Tlanger joined #nim |
08:57:06 | * | Tongir quit (Ping timeout: 260 seconds) |
09:00:59 | * | PMunch joined #nim |
09:08:02 | * | Tongir joined #nim |
09:09:32 | * | couven92 joined #nim |
09:09:45 | * | oddp joined #nim |
09:09:57 | * | fredrikhr quit (Disconnected by services) |
09:10:03 | * | couven92 is now known as fredrikhr |
09:10:07 | * | mklooste1 is now known as mklooste |
09:10:18 | * | mklooste is now known as marnix |
09:10:27 | * | couven92 joined #nim |
09:10:34 | * | Tlanger quit (Ping timeout: 258 seconds) |
09:17:54 | * | fredrikhr quit (Ping timeout: 240 seconds) |
09:18:28 | * | fredrikhr joined #nim |
09:18:42 | * | fredrikhr quit (Read error: Connection reset by peer) |
09:19:16 | * | fredrikhr joined #nim |
09:30:24 | * | fredrikhr quit (Read error: Connection reset by peer) |
09:31:56 | * | fredrikhr joined #nim |
09:33:35 | * | Trustable joined #nim |
09:50:14 | * | NimBot joined #nim |
09:51:19 | * | abm joined #nim |
09:52:34 | * | pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
09:53:09 | * | pbb joined #nim |
10:16:14 | * | vsantana joined #nim |
10:24:59 | * | Cthalupa quit (Ping timeout: 260 seconds) |
10:27:47 | * | Cthalupa joined #nim |
10:34:17 | * | voltist quit (Quit: Ping timeout (120 seconds)) |
10:34:25 | * | Senny joined #nim |
10:34:36 | * | voltist joined #nim |
10:56:42 | * | brainbomb1 joined #nim |
11:03:19 | * | nikita` joined #nim |
11:20:36 | * | dddddd joined #nim |
11:23:28 | * | lritter joined #nim |
11:24:03 | * | drdee joined #nim |
11:27:54 | * | couven92 quit (Read error: Connection reset by peer) |
11:28:17 | * | couven92 joined #nim |
11:33:49 | * | abm quit (Ping timeout: 264 seconds) |
11:43:37 | * | aeverr quit (Remote host closed the connection) |
11:44:01 | * | aeverr joined #nim |
12:06:02 | * | supakeen quit (Quit: WeeChat 2.8) |
12:06:37 | * | supakeen joined #nim |
12:11:29 | * | Tlanger joined #nim |
12:13:56 | * | qwertfisch quit (Quit: ZNC - http://znc.in) |
12:14:10 | * | Tongir quit (Ping timeout: 265 seconds) |
12:19:24 | shashlick | Should be easy to wrap it |
12:20:32 | * | Tongir joined #nim |
12:23:01 | * | Tlanger quit (Ping timeout: 264 seconds) |
12:26:30 | * | fredrikhr quit (Quit: Client disconnecting) |
12:26:46 | * | couven92 quit (Quit: Client Disconnecting) |
12:34:21 | * | drdee quit (Quit: Leaving) |
12:39:59 | * | drdee joined #nim |
12:51:51 | * | vsantana quit (Read error: Connection reset by peer) |
12:52:59 | FromDiscord | <KrispPurg> @treeform , yes. |
13:02:31 | * | vsantana joined #nim |
13:15:13 | * | Senny quit (Ping timeout: 272 seconds) |
13:20:20 | * | drdee quit (Ping timeout: 256 seconds) |
13:31:36 | * | PMunch quit (Remote host closed the connection) |
13:35:43 | * | endragor quit (Remote host closed the connection) |
13:36:11 | * | endragor joined #nim |
13:41:55 | * | endragor quit (Ping timeout: 260 seconds) |
13:46:18 | * | vsantana quit (Read error: Connection reset by peer) |
13:46:24 | * | vsantana joined #nim |
13:51:47 | * | vsantana1 joined #nim |
13:53:37 | * | vsantana quit (Ping timeout: 264 seconds) |
13:54:24 | * | PMunch joined #nim |
13:56:27 | * | drdee joined #nim |
13:56:36 | * | vsantana1 quit (Client Quit) |
13:56:51 | * | vsantana joined #nim |
14:00:56 | PMunch | Hmm, when interacting with the compiler can I stop it from quitting on error? |
14:02:42 | Araq | --maxErrors |
14:03:26 | PMunch | Oh, I meant like returning to my code on error |
14:04:10 | shashlick | you importing the compiler into your code? |
14:04:15 | PMunch | Yes |
14:04:38 | PMunch | I'm using it to find all dependencies of a file |
14:04:44 | PMunch | From the standard library |
14:04:46 | shashlick | https://github.com/nimterop/nimterop/blob/master/nimterop/comphelp.nim#L7 |
14:05:07 | * | willyboar joined #nim |
14:05:08 | shashlick | also line 17 |
14:05:43 | FromDiscord | <Recruit_main707> how can something like this be made, maybe by using separate files or something, having the method under the next object would look bad af... https://media.discordapp.net/attachments/371759389889003532/722451845066260480/unknown.png |
14:05:51 | FromDiscord | <Recruit_main707> be done* |
14:08:10 | * | abm joined #nim |
14:08:33 | FromDiscord | <Recruit_main707> i could use `agent: Bot`, but thats not ideal really, if there is another way, let me know pls |
14:09:10 | * | willyboar quit (Client Quit) |
14:09:29 | * | willyboar joined #nim |
14:10:13 | FromDiscord | <Varriount> @Recruit_main707 Why not put it under the `GoslingAgent` type? It's referencing that type. |
14:10:41 | FromDiscord | <Recruit_main707> GoslingAgent references Routine in the stack |
14:11:07 | FromDiscord | <Varriount> Put the two types in the same `type` block, then put the method under the block. |
14:11:54 | FromDiscord | <Varriount> Nim doesn't have forward type declaration. There's some experimental stuff, but I wouldn't recommend using it. |
14:12:45 | FromDiscord | <Recruit_main707> > Put the two types in the same `type` block, then put the method under the block.↵thats what id like to avoid |
14:13:05 | FromDiscord | <Recruit_main707> Thank you nevertheless 🙂 |
14:13:48 | FromDiscord | <Recruit_main707> about forward type declarations, are they planned to happen in a close future? |
14:14:18 | FromDiscord | <Varriount> No. I believe there's an experimental feature, but I've used it, and wouldn't recommend it. |
14:14:51 | FromDiscord | <Varriount> Sorry, there's an experimental feature to automatically reorder type definitions, but I wouldn't recommend it. |
14:15:27 | FromDiscord | <Recruit_main707> and that would probably not even work for this case |
14:15:29 | FromDiscord | <Varriount> Because it also reorders error messages from the compiler, resulting in false negatives. |
14:15:52 | * | pietroppeter quit (Ping timeout: 256 seconds) |
14:16:05 | * | Lord_Nightmare quit (Remote host closed the connection) |
14:16:08 | FromDiscord | <Varriount> Forward type declarations can't work, because of macros. |
14:16:19 | * | Lord_Nightmare2 joined #nim |
14:16:26 | * | drewr quit (Ping timeout: 256 seconds) |
14:16:26 | * | r4vi quit (Ping timeout: 256 seconds) |
14:16:29 | FromDiscord | <Varriount> What happens when a macro needs to get the definition of a type, and the definition isn't available? |
14:17:00 | * | Tlanger joined #nim |
14:17:17 | * | Lord_Nightmare2 is now known as Lord_Nightmare |
14:17:36 | * | pietroppeter joined #nim |
14:17:48 | PMunch | Hmm @Recruit_main707, I'm not using parseString though.. |
14:17:55 | * | r4vi joined #nim |
14:18:37 | FromDiscord | <Recruit_main707> missping? :P |
14:19:09 | PMunch | Oh, yes.. That was for shashlick :P |
14:19:14 | * | Tongir quit (Ping timeout: 240 seconds) |
14:21:08 | * | drewr joined #nim |
14:28:02 | Araq | Varriount: then we can produce an error but ideally the existence of a macro system shouldn't hinder us from having more convenience |
14:28:57 | Araq | Nim has an infix/indentation based syntax even though we know it doesn't play as well with macros as a Lisp would |
14:29:53 | Araq | so we should take the next steps and remove forward decls from Nim, IMO |
14:32:38 | * | vsantana left #nim (#nim) |
14:36:07 | PMunch | Hmm, I tried to set a "structuredErrorHook", but that also fires for statements like "when compiles" so my program would output stuff on those errors as well.. |
14:37:57 | Araq | that's a bug I think, system.compiles should overwrite the error hook |
14:43:51 | PMunch | Same thing on 1.2.0 by the way (I was using devel before that) |
14:48:41 | * | narimiran quit (Quit: leaving) |
14:49:19 | * | aenesidemus joined #nim |
14:56:24 | * | vsantana1 joined #nim |
14:56:30 | PMunch | So, no way around it? |
14:57:09 | FromDiscord | <gokr> So.. I have gotten further down the road with c2nim wrapping of ORX. Now... these headers have quite a few inlined functions - and c2nim (when compiling to C) decided to convert that code to "corresponding Nim code" I guess. How do we handle this "in general"? |
14:57:57 | FromDiscord | <gokr> I have like... 91 functions to go through - either I can try to make them work in Nim, or I guess I could just sprinkle `{.emit` all over the place. |
14:59:34 | FromDiscord | <gokr> An example: <https://github.com/gokr/orx/blob/master/code/include/memory/orxMemory.nim#L138-L144> |
15:08:02 | * | bung_ quit (Quit: Lost terminal) |
15:09:00 | FromDiscord | <gokr> So can I instruct c2nim to... not convert the bodies of these C functions, but still get them inlined in the end in the resulting C code? As intended by the ORX developer. |
15:12:22 | FromDiscord | <Recruit_main707> so... c2nim inlines the c functions beforehand?↵is that the issue? |
15:13:31 | FromDiscord | <gokr> The C functions in question are in the header files, marked as "inline". c2nim converts the code to Nim code. |
15:13:42 | FromDiscord | <gokr> As the shown lines above - see link. |
15:15:42 | FromDiscord | <Recruit_main707> but with the `{.inline.}` pragma |
15:16:47 | FromDiscord | <gokr> Right, so... I interpret this to mean that the Nim proc will turn into a C function again marked for inlining, that the C compiler should perform in the end. |
15:17:07 | FromDiscord | <Recruit_main707> yes, generated c code will still be a function, marked as inline as well |
15:18:00 | FromDiscord | <gokr> Thinking more closely... this is what c2nim "has" to do. Or possibly it could have used emit. |
15:18:43 | FromDiscord | <gokr> _wonders what Araq would do ;)_ |
15:23:26 | * | narimiran joined #nim |
15:25:55 | * | vsantana joined #nim |
15:27:42 | * | vsantana1 quit (Ping timeout: 260 seconds) |
15:33:00 | * | qwertfisch joined #nim |
15:33:23 | Araq | gokr: you can indeed use #header and remove the '{ body; }' for the inline functions |
15:35:18 | * | vicfred joined #nim |
15:36:45 | FromDiscord | <gokr> Oh, so... #header is the directive to use |
15:37:34 | FromDiscord | <Clyybber> Araq: Should we also assign Showstopper to really weird issues like this one: https://github.com/nim-lang/Nim/issues/14665 ? |
15:37:37 | disbot | ➥ [quote do] weird error when trying to use continue after "quote do" in an else branch in a loop ; snippet at 12https://play.nim-lang.org/#ix=2plc |
15:39:30 | leorize | PMunch: that's fixed in the latest devel, no? |
15:39:59 | * | vsantana quit (Ping timeout: 260 seconds) |
15:40:05 | FromDiscord | <gokr> Araq: So... I could - for these functions, add the header pragma and remove the bodies. But then I also ... need the headers available when compiling I presume. |
15:42:14 | FromDiscord | <Recruit_main707> yes iirc |
15:49:00 | Araq | yeah well, c2nim can translate function bodies too |
15:49:05 | Araq | so what's really the problem? ;-) |
15:49:30 | FromDiscord | <gokr> Just curious about what approach I should take. |
15:50:26 | leorize | if it's simple enough, I'd go for not having a header |
15:50:37 | leorize | but if it's not then you don't have too many choices here |
15:50:46 | FromDiscord | <gokr> Would be nice to not need the original headers, so ... perhaps for the easier variants, go with Nim version of the code. And for trickier ones, like say the memcpy etc - use emit. |
15:52:31 | leorize | we do have copyMem() :) |
15:54:12 | FromDiscord | <Shucks> Im trying to scan a byte sequence with a hex pattern including wildcards and getting the index from the match. ↵My approach seems to be very inefficient and slow. Any other ideas? https://play.nim-lang.org/#ix=2plg |
15:54:14 | Araq | I avoid #header if I can |
15:55:53 | leorize[m] | @Shucks what are you trying to do here? |
15:56:08 | leorize[m] | it's kinda rare to see people needing to do regex match on hex |
15:57:06 | FromDiscord | <Shucks> Im reading some memory pages from a process and want to scan that page with a pattern and getting the address from the hit. |
15:57:44 | leorize | npeg might be better at this |
15:58:11 | disruptek | strscan |
15:59:06 | FromDiscord | <Shucks> Was thinking about strscans but its just able to return substrings |
15:59:51 | leorize | also btw we have a `div` operator for integer division |
16:00:06 | FromDiscord | <Shucks> oh thanks |
16:00:41 | disruptek | i guess npeg might be better, then. |
16:01:26 | FromDiscord | <Shucks> aight gonna take a looksie then 🙂 |
16:02:05 | disruptek | i need to recharge after the ball-breaking zedeus gave me yesterday. |
16:02:10 | disruptek | any recommendations? |
16:03:32 | * | willyboa_ joined #nim |
16:04:53 | FromDiscord | <treeform> @eagledot, @Zed, I added a way to fidget to update an image every frame: https://github.com/treeform/fidget/blob/master/tests/imagestatic/imagestatic.nim |
16:05:08 | FromDiscord | <treeform> https://media.discordapp.net/attachments/371759389889003532/722481898156458046/unknown.png |
16:05:28 | Araq | treeform: can we re-enable fidget for important packages? |
16:05:34 | Araq | for some reason we had to disable it |
16:06:13 | * | willyboar quit (Ping timeout: 272 seconds) |
16:06:35 | FromDiscord | <treeform> what was the reason? |
16:06:42 | FromDiscord | <treeform> I have a CI now so it should be good? |
16:07:27 | leorize | damn, zevv did some insane work on npeg |
16:07:49 | Araq | some missing file iirc |
16:07:55 | FromDiscord | <treeform> It would be nice if the important packages would notify me some how if it breaks. |
16:07:59 | leorize | npeg can now run on any openArray[T] |
16:08:30 | Araq | treeform: indeed |
16:08:41 | FromDiscord | <treeform> I would be happy to fix any issue that arise, but I can't fix them if I am never notified. |
16:09:05 | FromDiscord | <treeform> I was not even aware that fidget was in important packages. |
16:10:02 | * | kenran quit (Ping timeout: 265 seconds) |
16:10:20 | FromDiscord | <treeform> oh yeah the command is just wrong: `pkg1 "fidget", true, "nim c -d:release -r tests/runNative.nim"` |
16:10:43 | FromDiscord | <treeform> it should just be `nimble test` |
16:11:52 | FromDiscord | <treeform> well its more complex then that.... |
16:12:25 | FromDiscord | <treeform> to run tests fully it requires openGL to be installed ... if you are doing that on linux in a CI thats kind of complex. |
16:12:41 | FromDiscord | <treeform> But testing that it all compiles is probably good enough? |
16:13:08 | FromDiscord | <treeform> In my own CI I install x org and mesa drivers. |
16:13:13 | Araq | up to you to decide |
16:13:32 | Araq | btw does it work with --gc:arc? |
16:14:23 | FromDiscord | <treeform> yes it should |
16:14:32 | FromDiscord | <treeform> I use it with --gc:arc for my new project. |
16:14:51 | Araq | does your CI set --gc:arc? |
16:15:00 | FromDiscord | <treeform> I don't think so. |
16:15:52 | Araq | ok, please change it so that it does |
16:16:04 | Araq | I'll claim during my talk that Fidget works with --gc:arc |
16:16:13 | Araq | :D |
16:17:05 | FromDiscord | <treeform> lol ok |
16:17:29 | disruptek | all my ci is dead because --useVersion:1.0 fails due to lib/system/gc.nim(848, 9) Error: can raise an unlisted exception: ref AssertionDefect on devel. |
16:17:34 | FromDiscord | <treeform> does nimble test --gc:arc work? |
16:17:56 | leorize[m] | @Shucks here's how you do it with nim-regex: https://play.nim-lang.org/#ix=2plr |
16:18:11 | leorize[m] | more efficient than your current version, for sure :P |
16:18:14 | Araq | disruptek, humm |
16:18:25 | * | marnix quit (Ping timeout: 246 seconds) |
16:18:42 | Araq | treeform: I don't know but it works inside nim.cfg and config.nims |
16:20:06 | zedeus | disruptek: how about gzip support for httpclient? could be an external thing, there's a zip library with gzip support |
16:20:21 | zedeus | that would massively improve nitter's bandwidth at least lol |
16:21:04 | leorize | renders you vulnerable to BREACH but it's not like anyone actually cares :P |
16:21:12 | disruptek | you told me it's a non-issue. |
16:21:34 | zedeus | outgoing gzip we use nginx, ingoing is the issue |
16:22:08 | zedeus | brotli support would be cool too, but gzip has more support |
16:22:20 | disruptek | i hate broccoli. |
16:22:51 | disruptek | i mean, i really hate it. |
16:23:11 | disruptek | actually, brussells sprouts are worse. |
16:23:14 | disruptek | same plant. |
16:23:25 | disruptek | bastards of the flora kingdom. |
16:23:38 | FromDiscord | <Shucks> > @Shucks here's how you do it with nim-regex: https://play.nim-lang.org/#ix=2plr↵@leorize[Matrix]#0000 It's failing atm. but where comes that "regex" module come from. Docs just gave me `re` ;D |
16:23:42 | Araq | try it with salt |
16:23:54 | disruptek | like, a super huge amount? |
16:24:08 | leorize | @Shucks |
16:24:10 | leorize | !repo regex |
16:24:12 | disbot | https://github.com/nitely/nim-regex -- 9nim-regex: 11Pure Nim regex engine with linear time match 15 85⭐ 10🍴 7& 7 more... |
16:24:39 | FromDiscord | <Shucks> oh it isnt a standard lib |
16:25:00 | leorize | oh I forgot to rename bytes -> byteString :P |
16:25:05 | leorize | fix that and it'll work again |
16:25:11 | disruptek | i would kill for a job. |
16:25:20 | * | disruptek is thinking about working at an animal shelter. |
16:25:36 | disruptek | fuck cats, i mean, seriously. |
16:25:37 | disruptek | fuck 'em. |
16:26:07 | zedeus | if you're actually looking for work, i know a company in canada that uses nim |
16:26:23 | disruptek | kinda a long commute. |
16:26:36 | disruptek | is the border even open? i don't think it is. |
16:26:38 | zedeus | i was under the impression you lived there |
16:26:50 | disruptek | canada? |
16:27:16 | disruptek | canada isn't big enough for setenforce and i to cohabitate. |
16:27:18 | zedeus | didn't you talk about staying there in the middle of nowhere some time ago? |
16:28:18 | disruptek | i can't talk about my travels any more. |
16:28:23 | disruptek | too many ears. |
16:28:56 | disruptek | what's the company, though? |
16:29:33 | FromDiscord | <treeform> @Araq, Hmm --gc:arc is not playing nice with examples that use async stuff. |
16:29:35 | zedeus | i'll probably be working there soon, so i can tell you in private |
16:29:48 | disruptek | nice? |
16:30:26 | disruptek | gzip sounds like work. i need to either write a game or play a game. |
16:31:09 | zedeus | it might be as easy as just giving the string to zip |
16:31:11 | zedeus | https://github.com/nim-lang/zip |
16:34:49 | shashlick | gokr: see how nimterop handles static inline - look for `static inline` in the readme |
16:35:00 | * | hpyc9 quit (Quit: FREENODE IS FUCKING GAY) |
16:45:23 | disruptek | #14179 yay thank you. |
16:45:23 | disbot | https://github.com/nim-lang/Nim/issues/14179 -- 5`nim dump` is roughly 100x slower in 1.3 versus 1.2 |
16:49:53 | disruptek | "A simpler option for anyone that wants to spend time on this is to simply fork" |
16:50:21 | disruptek | arnetheduck: forking the compiler is a simpler option than creating an RFC? |
16:51:21 | FromDiscord | <SeanOMik> How could I create a C++ library binding for nim? |
16:51:40 | * | kenran joined #nim |
16:51:50 | FromDiscord | <SeanOMik> In other words, I have a C++ library that I want to allow users to use in Nim |
16:52:36 | * | TheManiac[m] quit (Quit: Idle for 30+ days) |
16:53:29 | * | dannyfritz[m] quit (Quit: Idle for 30+ days) |
16:54:05 | shashlick | c2nim or nimline |
16:54:11 | FromDiscord | <SeanOMik> Okay |
16:54:16 | FromDiscord | <SeanOMik> I saw the tutorial: https://gist.github.com/zacharycarter/846869eb3423e20af04dea226b65c18f |
16:54:26 | FromDiscord | <SeanOMik> But I wasn't sure that would also work for C++ |
16:54:34 | FromDiscord | <SeanOMik> I'll try that |
16:54:35 | FromDiscord | <SeanOMik> THanks |
16:54:47 | FromDiscord | <SeanOMik> (edit) 'THanks' => 'Thanks' |
17:00:08 | * | kragil[m] quit (Quit: Idle for 30+ days) |
17:00:38 | * | anti[m] left #nim ("Kicked by @appservice-irc:matrix.org : Idle for 30+ days") |
17:00:50 | disruptek | off the top of your head, is there an option to disable config.nims reads? |
17:01:03 | leorize | --skipUserCfg |
17:01:06 | leorize | but then it skips all |
17:01:16 | * | matthias[m]3 quit (Quit: Idle for 30+ days) |
17:01:22 | disruptek | yeah, i just want to skip nimscript. |
17:02:52 | * | kenran quit (Ping timeout: 246 seconds) |
17:02:53 | leorize[m] | Zevv: not sure why this doesn't work: https://play.nim-lang.org/#ix=2plx |
17:03:01 | leorize[m] | regex for comparison: https://play.nim-lang.org/#ix=2ply |
17:03:04 | * | j4nvkvc left #nim ("Kicked by @appservice-irc:matrix.org : Idle for 30+ days") |
17:07:58 | disruptek | shashlick: latest nimble dump doesn't work on latest nimterop: http://ix.io/2plz/nim -- paramCount problem. |
17:10:15 | disruptek | i'm working on a new version of choosenim. |
17:10:53 | shashlick | ugh how do i fix that now |
17:11:33 | disruptek | it's just a github repo that reflects the current binary distributions. so you just checkout any version you want. done. |
17:11:56 | disruptek | shashlick: i dunno, who gives a fuck about nimscript? |
17:12:13 | shashlick | https://github.com/nimterop/nimterop/blob/master/nimterop/docs.nim#L5 |
17:12:50 | disruptek | i just built it today; it's nim-e35b21e55310e93ca04980febe1a48c9436bded9. |
17:15:00 | disruptek | of course, this binary distribution includes choosenim. so to install choosenim, you (shallow) clone the repo at whatever tag you want. thereafter, individual tags can be changed upstream dynamically and choosenim can warn you or update you or whatever. since we know which platform you're on, the distribution includes choosenim itself, already compiled for you and statically linked. |
17:15:31 | disruptek | choosenim also includes nimph, because it's better. |
17:16:31 | disruptek | you can host your own choosenim repo, of course. so you can have your whole organization setup with the same choosenim tags and releases, etc. |
17:17:02 | disruptek | just set an environmental variable called ARAQ_HATES_THE_ENV=https://some/github/repo |
17:18:05 | disruptek | and everyone gets quiet... |
17:20:03 | FromDiscord | <Shucks> > ```var a = "abcd"↵> echo a[..a.high]↵> echo a[1..]``` |
17:20:14 | FromDiscord | <Shucks> Im able to skip the first expression but not the last one on slicing? |
17:20:39 | disruptek | was that a code paste? if so, it's awesome that the bot translated it. |
17:20:49 | FromDiscord | <Shucks> yea |
17:21:19 | zedeus | hmm getting an unsureAsgnRef segfault |
17:22:08 | FromDiscord | <Shucks> I basically want to use pythons `"abcd"[1:]` |
17:22:16 | disruptek | well, don't. |
17:22:28 | disruptek | THIS IS NIM |
17:22:50 | disruptek | we barely let zedeus in here; don't push your luck. |
17:22:59 | FromDiscord | <Shucks> ;D |
17:23:14 | FromDiscord | <Shucks> so a[1..a.high]? |
17:23:25 | disruptek | idiom is a[1..^1] |
17:23:26 | zedeus | yes |
17:23:59 | disruptek | ie. very high. |
17:24:12 | FromDiscord | <Shucks> btw. im using `https://github.com/nim-lang/Nim/wiki/Nim-for-Python-Programmers` all the time *hides* |
17:24:22 | disruptek | ~veryhigh is ^1 |
17:24:22 | disbot | veryhigh: 11^1 |
17:25:45 | disruptek | ~Shucks is a new Pythonista transient |
17:25:45 | disbot | Shucks: 11a new Pythonista transient |
17:29:11 | FromGitter | <ynfle> Is there a way to force recompilation even if a file is cached? |
17:29:28 | disruptek | nim -f someproj.nim |
17:29:32 | disruptek | nim c -f someproj.nim |
17:29:43 | FromGitter | <ynfle> Thanks!!! |
17:29:55 | disruptek | check out `nim --fullhelp` for more ideas. |
17:33:06 | FromGitter | <ynfle> 👍 |
17:34:00 | * | kenran joined #nim |
17:40:23 | * | opal quit (Ping timeout: 240 seconds) |
17:41:48 | disruptek | i guess it's not called choosenim. that's just confusing. |
17:41:53 | disruptek | it's call `gitnim`. |
17:41:57 | disruptek | GITNIM |
17:42:09 | disruptek | LOL |
17:45:00 | Zevv | leorize[m]: https://play.nim-lang.org/#ix=2plJ |
17:46:35 | leorize[m] | well that's quite surprising :P |
17:46:51 | leorize[m] | anyhow, @Shucks ^ that's the npeg version of the thing |
17:47:25 | FromDiscord | <Shucks> oh 😮 |
17:47:51 | Zevv | you're treading on wild territory. Never heard of anyone using non-string parsers yet |
17:48:29 | leorize | not sure if you can make npeg take input variables :P |
17:49:39 | leorize | Zevv: why does it have to be @> and not >@? |
17:53:14 | FromDiscord | <Shucks> I don't understand that at all lol |
17:54:28 | * | opal joined #nim |
18:06:54 | FromDiscord | <Shucks> well currently trying that one https://play.nim-lang.org/#ix=2plP |
18:08:54 | shashlick | disruptek does it use official binaries |
18:09:07 | disruptek | yeah. |
18:09:17 | disruptek | well, leorize's awesome builds. |
18:12:26 | shashlick | repo will get big fast no |
18:12:35 | disruptek | i hope so. |
18:13:03 | shashlick | sparse checkout is not really small |
18:13:10 | disruptek | sure it is. |
18:13:22 | disruptek | whatever it takes is whatever it takes. |
18:14:26 | shashlick | in fact it isn't choosable unless you get all tags |
18:14:37 | disruptek | so what? |
18:14:56 | disruptek | fetching the tags or just getting a tag list isn't hard, heavy, slow, or expensive. |
18:15:10 | shashlick | i need to download every release to use one |
18:15:17 | disruptek | why? |
18:16:00 | shashlick | how do u clone a specific tag |
18:16:38 | leorize[m] | git clone -b <tagname>? |
18:16:50 | leorize[m] | works for commits too |
18:16:57 | leorize[m] | --depth=1 and it will clone that exact ref |
18:17:10 | leorize[m] | only* |
18:18:18 | shashlick | you cant move around then |
18:18:32 | disruptek | what the hell are you talking about? |
18:20:49 | * | hpyc9 joined #nim |
18:20:53 | disruptek | move around? |
18:21:24 | * | solitudesf- joined #nim |
18:21:54 | shashlick | https://stackoverflow.com/questions/1911109/how-do-i-clone-a-specific-git-branch |
18:22:08 | * | marnix joined #nim |
18:23:34 | * | solitudesf quit (Ping timeout: 240 seconds) |
18:23:51 | leorize[m] | you can still use git fetch to fetch additional refs to checkout if you wanted to |
18:24:17 | disruptek | i dunno what this has to do with anything, honestly. |
18:24:43 | shashlick | see the 5GB reference in the first answer |
18:25:12 | disruptek | well, did you read it? |
18:25:26 | disruptek | the first line is "The --single-branch option is valid from version 1.7.10 and later." |
18:26:18 | shashlick | yes and when you checkout a single branch, you still checkout the entire repo |
18:26:23 | disruptek | dude. |
18:26:29 | disruptek | do you think i won't come down there? |
18:26:31 | disruptek | i will. |
18:26:36 | disruptek | i am not afraid of you, shashlick. |
18:26:45 | * | Kaivo quit (Quit: WeeChat 2.8) |
18:26:45 | shashlick | which means if i want 1.2.0 and 1.0.6, I still get every other version in git history with no compression that you get with xz/zip |
18:26:59 | disruptek | git objects are compressed. |
18:27:39 | disruptek | anyway, it doesn't even matter. |
18:27:48 | disruptek | if i need to push the repo every so often, big deal. |
18:28:06 | shashlick | its like the nim or csources repo - takes a while to download it |
18:28:28 | shashlick | anyway, my brain is hobbled with eating lunch in parallel so continue to stay home |
18:28:59 | disruptek | yeah, because that's the important factor here. and anyway, i think it's about 70meg uncompressed. on the wire it should be around 15mb, tops. |
18:29:41 | disruptek | but the real win is that the package manager and gitnim itself track the compiler. |
18:29:51 | leorize | what's gitnim? |
18:30:07 | disruptek | choosenim for choosey nimions. |
18:30:17 | leorize | shashlick: actually if you use --single-branch csources can be downloaded in seconds :P |
18:30:52 | * | tdc quit (Ping timeout: 256 seconds) |
18:31:15 | * | aenesidemus quit (Ping timeout: 260 seconds) |
18:32:00 | * | kenran_ joined #nim |
18:34:16 | * | kenran quit (Ping timeout: 256 seconds) |
18:34:34 | * | solitudesf joined #nim |
18:37:27 | * | solitudesf- quit (Ping timeout: 265 seconds) |
18:37:40 | * | marnix quit (Ping timeout: 256 seconds) |
18:38:07 | * | aenesidemus joined #nim |
18:39:46 | * | Trustable quit (Remote host closed the connection) |
18:40:36 | * | drdee quit (Remote host closed the connection) |
18:44:06 | Zevv | leorize: Because you want to capture the thing you search |
18:44:20 | Zevv | now you capture the searching and the thing |
18:44:26 | Zevv | and searching starts at 0 |
18:45:48 | leorize[m] | lol, the logic in my head was: @P means search for P and >P means captures P, so >@P would mean capturing the searched P :P |
18:47:51 | leorize[m] | does the @0 capture work without specifying one? |
18:48:15 | leorize[m] | I had to specify one because of template substituting npeg symbols with nnkSymChoice |
18:48:38 | * | kenran joined #nim |
18:48:58 | leorize[m] | read: I need to write >@ because @ collides with a ton of `@` in system.nim |
18:49:56 | * | Trustable joined #nim |
18:50:09 | Zevv | yeah $0 is the implicit rule-level capture |
18:50:42 | * | kenran_ quit (Ping timeout: 256 seconds) |
18:51:27 | leorize | well I guess npeg doesn't work too well with templates then :P |
18:51:41 | Zevv | never tried what you are doing here :) |
18:52:06 | Zevv | I'm afraid the day will come when people start really using this and outsmart me anyway. I got this guy with wild ideas on a github issue. No clue what he's about yet |
18:52:14 | Zevv | he problable knows how this stuff actually works |
18:53:07 | leorize | people will certainly outsmart you once they use it :p it's like the pitfall of api design: it's clever until it's used |
18:53:28 | Zevv | I know, that's why I made this issue to discuss API's |
18:53:36 | Zevv | but he's going way beyond. |
18:54:32 | * | drdee joined #nim |
18:55:51 | * | tane joined #nim |
19:01:05 | * | simian_ joined #nim |
19:01:59 | PMunch | leorize, what is fixed in the latest version? |
19:02:30 | * | simian_ quit (Client Quit) |
19:02:31 | leorize | structuredErrorHook not being unregistered before a trySemExpr (compiles()) |
19:02:49 | * | simian_ joined #nim |
19:02:53 | * | simian_ quit (Client Quit) |
19:03:01 | PMunch | Doesn't appear so |
19:03:04 | * | simian_ joined #nim |
19:03:11 | PMunch | Tried with 1.2.0 and latest nightly |
19:03:45 | leorize[m] | https://github.com/nim-lang/Nim/pull/14527/files |
19:03:46 | disbot | ➥ Fix `compiles` for nimsuggest [backport] |
19:04:01 | leorize[m] | only used when you define nimsuggest it seems |
19:04:08 | leorize[m] | maybe PR so that it'd be unconditional? |
19:05:01 | leorize | we really need a stash() template here :P |
19:08:23 | * | simian_ quit (Ping timeout: 265 seconds) |
19:09:32 | * | Trustable quit (Remote host closed the connection) |
19:12:11 | PMunch | Hmm, running `conf.symbols.defineSymbol("nimsuggest", "true")` didn't really help either |
19:12:48 | leorize | it's done at compile time |
19:13:09 | leorize | compile your program with -d:nimsuggest |
19:14:44 | PMunch | Still no dice |
19:15:25 | PMunch | And it should be within the script running code surely? That's where the compile() is used |
19:16:05 | PMunch | http://ix.io/2pmf <- this is my code by the way |
19:16:33 | PMunch | It builds the minimal standard library required for a set of imports |
19:19:23 | leorize | looks like that's not the only place where the structuredErrorHook should be removed... |
19:19:46 | leorize | oh btw your program doesn't work if the first argument is a relative path :P |
19:21:18 | leorize | hmm it does work with tables |
19:21:30 | leorize | I wonder why it doesn't work with other things |
19:22:42 | leorize | PMunch: I'd need a reproducible test case |
19:23:04 | leorize | I tried with terminal.nim but the result is pretty much to be expected |
19:23:38 | PMunch | Build it and call it with: ./libbuilder ~/.choosenim/toolchains/nim-\#devel/lib system pure/collections/tables |
19:23:50 | PMunch | That shouldn't output anything |
19:24:06 | leorize | well if you define nimsuggest it won't |
19:24:17 | PMunch | Well it does.. |
19:25:26 | leorize | it doesn't :P latest nightlies |
19:25:42 | leorize | built with nim c -d:nimsuggest builder.nim |
19:25:50 | PMunch | It does for me.. On latest nightlies.. |
19:25:59 | PMunch | Oh wait, maybe my compiler package is outdated |
19:27:01 | leorize | put -p:'$nim' in there and it should use the bundled compiler source |
19:27:39 | PMunch | I just did `nimble install compiler@#head` |
19:27:46 | PMunch | Okay, that works |
19:27:52 | disruptek | don't use that; yikes. |
19:28:26 | disruptek | fwiw gitnim takes <100mb and <7s to install nim. after 1.2 is installed, it costs +15mb to add devel. |
19:28:26 | leorize | you should PR a change to remove structuredErrorHook in tryExpr() unconditionally then |
19:28:53 | disruptek | and <3s to install devel. |
19:29:03 | PMunch | Why not? |
19:29:16 | disruptek | because it shouldn't exist. |
19:29:39 | PMunch | Because? I need it for my NimScript stuff anyways |
19:29:40 | disruptek | it's super confusing to the entire ecosystem. |
19:29:46 | zedeus | jeez. nitter.net is serving 8750 rss feeds right now |
19:29:47 | disruptek | what's wrong with $nim? |
19:29:57 | FromDiscord | <KrispPurg> Is there a way to convert from json to an object, if a field is not present in the json object and say it was a string, is there a way to let it be `""` on default if it doesn't exist? |
19:30:17 | FromDiscord | <KrispPurg> I know I could just convert them to options. |
19:30:31 | FromDiscord | <Recruit_main707> JsonNode.to(ObjectType) iirc |
19:30:38 | FromDiscord | <Shucks> Shouldn't `-d:danger` use `--opt:speed`? My code still runs 3x times faster with using speed explicit https://github.com/nim-lang/Nim/blob/e35b21e55310e93ca04980febe1a48c9436bded9/config/nim.cfg#L72 |
19:30:57 | leorize | -d:danger implies -d:release and all of its optimization |
19:31:00 | leorize | unless you're on outdated nim |
19:31:53 | PMunch | disruptek, well I didn't know about it until now :P |
19:32:00 | FromDiscord | <KrispPurg> @Recruit_main707, I know but if a json field like for example name doesn't exist in the field, would it default to "", if not found? |
19:32:13 | FromDiscord | <Recruit_main707> idk, try it :) |
19:32:14 | FromDiscord | <KrispPurg> (if string field for example" |
19:32:17 | FromDiscord | <KrispPurg> (edit) 'example"' => 'example)' |
19:32:20 | leorize | it won't |
19:32:26 | leorize | make your own to() for it :P |
19:32:40 | FromDiscord | <Varriount> Anyone know of using webgl with Nim (on the Javascript target)? |
19:32:56 | FromDiscord | <KrispPurg> Any easier way for it? |
19:33:10 | leorize | if you're following a schema then maybe try PMunch's jsonschema? |
19:33:17 | leorize | !repo jsonschema |
19:33:18 | disbot | https://github.com/PMunch/jsonschema -- 9jsonschema: 11Schema validation of JSON for Nim 15 17⭐ 2🍴 7& 2 more... |
19:44:05 | * | Trustable joined #nim |
19:46:40 | * | kenran quit (Ping timeout: 246 seconds) |
19:52:52 | * | solitudesf- joined #nim |
19:55:06 | * | solitudesf quit (Ping timeout: 260 seconds) |
19:58:00 | * | simian joined #nim |
19:58:11 | FromDiscord | <creatable> i'm trying to use os.execShellCmd to check if a command exists by using the exit code. i want to prevent execShellCmd from having any console output. how would i do that?↵if there's a better way to check if a command exists i'd prefer to know that |
19:58:28 | leorize | findExe |
19:58:33 | FromDiscord | <creatable> thank you |
19:59:25 | * | simian quit (Remote host closed the connection) |
20:01:51 | FromGitter | <Knaque> I remember seeing a bar graph showing the size difference in some language's binaries (compared against Nim), but I can't remember where it was. Would anyone happen to know? I'm double-checking something. |
20:03:26 | PMunch | @Knaque, might it be this one? https://hackaday.com/2018/09/25/nim-writes-c-code-and-more-for-you/ |
20:04:10 | FromGitter | <Knaque> That's the one, thanks. |
20:04:41 | leorize | it's used to be in our advertising materials iirc |
20:05:56 | FromGitter | <Knaque> Yeah, that's where I think I remember seeing it. |
20:06:29 | FromGitter | <Knaque> Out of curiosity, is it still pretty accurate? It is from 2018 after all, and things might have changed since then. |
20:06:47 | leorize | no idea |
20:07:46 | * | solitudesf- quit (Ping timeout: 256 seconds) |
20:07:58 | PMunch | The Nim one should be accurate, don't think they have grown much |
20:08:56 | PMunch | 44K for `echo "Hello world"` with -d:release --opt:size |
20:09:08 | PMunch | But otherwise no other optimisations |
20:09:36 | PMunch | That being said you can push it quite far: https://hookrace.net/blog/nim-binary-size/ |
20:09:41 | PMunch | Down to 150 bytes |
20:10:10 | FromGitter | <Knaque> Read that already just a little while ago, vvv interesting. |
20:11:01 | * | Vladar quit (Quit: Leaving) |
20:13:16 | PMunch | What are you doing where binary size matters that much` |
20:13:17 | PMunch | ?* |
20:14:16 | * | vsantana joined #nim |
20:15:18 | FromGitter | <Knaque> Nothing, just having a discussion with someone. |
20:15:22 | PMunch | Ah |
20:16:47 | leorize | who would've thought that abs() can actually overflow :P |
20:17:41 | PMunch | Ohohoh, me! |
20:18:41 | PMunch | The biggest negative number in twos compliment is one bigger than the biggest |
20:19:00 | disruptek | you're blowin' my mind right now. |
20:19:09 | leorize | yea and this is the exact problem in std/times :) |
20:19:29 | disruptek | Araq: ^ |
20:19:43 | disruptek | exactly what you told me would never, never, ever happen. |
20:20:18 | disruptek | gitnim is hilarious, btw. |
20:20:57 | PMunch | ginim? |
20:20:59 | PMunch | gitnim*? |
20:22:01 | * | vsantana quit (Quit: vsantana) |
20:25:54 | * | nsf quit (Quit: WeeChat 2.8) |
20:26:23 | disruptek | it's choosenim based upon git. |
20:27:02 | disruptek | !repo gitnim |
20:27:03 | disbot | https://github.com/disruptek/gitnim -- 9gitnim: 11choosenim for choosey nimions 15 0⭐ 0🍴 |
20:27:34 | disruptek | it's embarassing how good it is. |
20:27:56 | disruptek | like, neil young. |
20:27:59 | PMunch | What is the current choosenim based on? |
20:28:44 | ldlework | just use nix |
20:29:15 | ldlework | choosenim for literally all software :) |
20:29:24 | disruptek | nix isn't really what i want. |
20:29:32 | disruptek | i want to evolve the system alongside the compiler. |
20:29:35 | disruptek | this does that. |
20:29:42 | ldlework | i don't know what that means |
20:30:06 | disruptek | you never have to worry about synchronizing package management or build tools with the compiler or its stdlib. |
20:30:07 | zedeus | choosenim uses git for devel |
20:30:29 | ldlework | disruptek: you could definitely do that with nix.. |
20:30:42 | ldlework | my remark was offhanded though, don't take it too seriously |
20:31:06 | disruptek | you're not wrong, but it's also a worse approach. |
20:31:22 | ldlework | if you say so i guess |
20:31:49 | disruptek | "you can disagree, but first you must understand the problem" |
20:34:23 | ldlework | given that nix is capable of building thousands of different software packages, with a panoply of requirements I have little doubt it could express an environment where tools and nim packages all align with the compiler (given that's a typical thing done). |
20:34:47 | disruptek | yeah, but that's not the problem. |
20:35:17 | * | Jesin quit (Quit: Leaving) |
20:35:23 | leorize | you'll run into a big problem with this disruptek |
20:35:29 | disruptek | yeah? |
20:35:32 | leorize | tags are not updated via pull |
20:35:39 | disruptek | so what? |
20:35:57 | leorize | if you move the tag as you import a newer nightly, people who cloned the repo won't get the update |
20:36:04 | disruptek | i know. |
20:36:24 | shashlick | disruptek - 104mb for 2 releases and that doesn't include csources |
20:36:58 | disruptek | sounds like whatever that is is about 10mb lighter. |
20:37:01 | disruptek | kudos. |
20:38:31 | leorize | I'm interested to see how this idea will work, there were linux distros in the past that uses a git repo as the rootfs |
20:38:37 | leorize | they're all dead now though :P |
20:39:21 | disruptek | i should have it up on gitnim.com by the end of the night. |
20:39:40 | * | Jesin joined #nim |
20:39:47 | shashlick | i'll suggest adding more older versions |
20:40:01 | disruptek | leorize: any luck with 1.0? |
20:40:10 | shashlick | also if you have any way to get this working cross platform |
20:40:22 | disruptek | sure, different repos for different platforms. |
20:40:24 | leorize | well it's built, but it won't get published until tonight, per nightlies schedule |
20:40:30 | disruptek | nice. |
20:40:41 | leorize | you can still download the artifacts, those are already built |
20:40:50 | disruptek | the distribution comes with the tool to create new distributions. |
20:40:58 | disruptek | and all the source to said tool. |
20:41:27 | leorize | this is a feature I invented :P push to nightlies will generate github artifacts unless the commit summary have [deploy] in it |
20:41:56 | leorize | an effective way to make developing nightlies easier |
20:42:09 | disruptek | i would think [deploy] would mean "push it out". |
20:42:30 | leorize | deploy here just mean generate a release |
20:42:50 | disruptek | i think your logic is backwards, right? |
20:43:16 | leorize | I don't quite get it :P |
20:43:26 | disruptek | unless? do you mean "if"? |
20:44:57 | leorize | ah github terminology can be confusing |
20:45:04 | leorize | by artifacts I meant these: https://github.com/alaviss/nightlies/actions/runs/137561883 |
20:45:31 | disruptek | right, but you create them IF the commit summary includes "[deploy]", right? |
20:45:33 | leorize | [deploy] create a release that you can find in the release page |
20:45:51 | leorize | [deploy] uploads them into a release :P |
20:46:19 | leorize | this is just a feature so you can check if your builds are generated correctly |
20:46:24 | leorize | I should've phrased this better :P |
20:46:36 | disruptek | hmm, so what do i want to key off of? deploy? |
20:46:48 | disruptek | actually, i think i just care about releases. |
20:47:02 | disruptek | i won't even track a branch. |
20:47:06 | leorize | yea, just track those |
20:47:19 | leorize | artifacts are just for testing purposes |
20:47:32 | leorize | oh can you check the 1.0.7 builds linked there for me? thanks :) |
20:47:40 | leorize | this is the first time those are built |
20:48:01 | disruptek | whaddya think about having nim-1.2.3 containing bin/nim -> bin/nim-1.2.3 |
20:48:27 | disruptek | lets you abuse semver in the shell. |
20:48:33 | disruptek | gives more useful error messages. |
20:50:53 | * | vsantana joined #nim |
20:51:05 | disruptek | leorize: if you build it, i will come. |
20:53:28 | FromDiscord | <lqdev> I've been looking into that async OpenGL thing, @leorize is there any way to cancel an async timer? |
20:53:40 | * | narimiran quit (Ping timeout: 256 seconds) |
20:53:43 | leorize | use chronos :P |
20:53:52 | disruptek | so rude. |
20:54:00 | leorize | with fds you can close them but with timers... |
20:54:43 | leorize | well you can attach a `cancel` bool to your timer callback and check if it should be run |
20:55:03 | FromDiscord | <lqdev> but that leaks resources |
20:55:58 | FromDiscord | <lqdev> I'm kind of hestitant of pulling in any external dependencies, I'd rather my library being dependency-free |
20:56:20 | leorize | ^ that's usually a sign that the package manager is being terrible :P |
20:57:00 | FromDiscord | <lqdev> no not really |
20:57:12 | FromDiscord | <lqdev> it's just my mentality after seeing the dependency hell rust's ecosystem is |
20:57:44 | leorize | well their package managment system is not nice at all :P |
20:57:45 | FromDiscord | <lqdev> you could say that I have PTSD lol |
20:58:17 | FromDiscord | <lqdev> npm is a similar story |
20:58:21 | leorize | I'm kinda baffled that people think running multiple version of the same lib is a good thing |
20:58:34 | FromDiscord | <lqdev> so I'd prefer not to pull in too many dependencies |
20:58:45 | FromDiscord | <lqdev> though, I already have nimterop which has like, 5 or 6… |
20:58:52 | * | aenesidemus quit (Read error: Connection reset by peer) |
21:00:01 | leorize | well you should not manage the resource via your timer callback then |
21:00:30 | leorize | register a timer unconditionally and only let it run once you have set everything up |
21:00:33 | FromDiscord | <lqdev> I'm saying that the *timer* is the resource |
21:00:56 | leorize | huh? how are you designing your system? |
21:01:22 | FromDiscord | <lqdev> I want to have a `download` proc which downloads pixel data from the GPU asynchronously |
21:01:45 | FromDiscord | <lqdev> and I'm saying that adding a non-oneshot timer is a resource allocation |
21:02:12 | FromDiscord | <lqdev> and you can't free that resource |
21:02:19 | FromDiscord | <lqdev> the timer just keeps running and eating away CPU cycles |
21:03:23 | leorize | the timer is managed by the os |
21:03:28 | leorize | once it's done it's done |
21:03:41 | leorize | and the callback won't be run unless you do poll() |
21:03:47 | FromDiscord | <lqdev> but how do I mark it done |
21:04:01 | leorize | just flip a switch to tell it not to run |
21:04:28 | leorize | if you're poll()-ing you have more worries to think of than a cycle caused by a disabled branch |
21:04:28 | FromDiscord | <lqdev> but where's that switch |
21:04:38 | leorize | the callback can be a closure |
21:04:46 | leorize | keep a ref to something, somewhere as the switch |
21:04:55 | * | PMunch quit (Quit: leaving) |
21:05:17 | * | NimBot joined #nim |
21:05:33 | leorize | wdym? |
21:05:39 | FromDiscord | <lqdev> how does the OS know about the switch and when to free my timer? |
21:05:52 | FromDiscord | <lqdev> :s/free/reclaim |
21:06:37 | leorize | it doesn't |
21:07:00 | leorize | timers are lightweight, there are a ton of things that the kernel has to worry about |
21:07:31 | leorize | well, but if you're paranoid, then you can make the timer self-register when it still has to be called |
21:08:00 | leorize | make it a oneshot, and tell it to re-register itself as needed |
21:08:25 | leorize | however the overhead from syscalls due to this registration will set you back even further |
21:08:30 | FromDiscord | <lqdev> but what if someone calls `download` every frame? it will continue adding more and more timers |
21:08:42 | FromDiscord | <lqdev> do I just create one global timer or what? |
21:08:52 | leorize | yea, that's what I told you to do :P |
21:09:01 | FromDiscord | <lqdev> you could've been more clear about that… |
21:09:11 | leorize | sorry :P |
21:09:21 | FromDiscord | <lqdev> np |
21:09:38 | FromDiscord | <lqdev> anyways now that that's out of the way, is it possible to call `poll()` with a timeout of 0? |
21:10:03 | FromDiscord | <lqdev> because I already have my own timeout and it's VSync |
21:10:21 | leorize | yes, but the timeout is not realtime |
21:10:43 | leorize | poll() still has to trigger the dispatcher to do it's work and that might take more time than you'd want |
21:11:20 | FromDiscord | <lqdev> is it really heavy work? |
21:11:37 | leorize | depends on how many events you registered |
21:11:40 | FromDiscord | <lqdev> I have a 16.66666ms window so quite a bit of time |
21:11:57 | leorize | thanks to meltdown the syscall overhead is now huge |
21:12:17 | FromDiscord | <lqdev> well |
21:12:18 | leorize | so keep that in mind |
21:12:46 | FromDiscord | <lqdev> I managed to reallocate a seq every frame and still maintain 60fps on a lowend laptop so eh |
21:12:59 | leorize | you need your own dispatcher for soft realtime guarantee |
21:13:15 | leorize | you do realize that the gc can reuse memory, right? |
21:13:19 | FromDiscord | <lqdev> yeah |
21:13:26 | leorize | and that our allocator is O(1) |
21:13:34 | FromDiscord | <lqdev> oh that's nice |
21:13:39 | FromDiscord | <lqdev> good to know |
21:15:47 | FromDiscord | <lqdev> guess I'd have to benchmark to see whether using async is really viable or not |
21:15:56 | FromDiscord | <lqdev> otherwise I may as well roll my own simple dispatcher |
21:16:27 | FromDiscord | <lqdev> and just roll with callbacks instead of full async and whatnot |
21:16:35 | FromDiscord | <lqdev> that would most likely be much simpler |
21:17:16 | FromDiscord | <lqdev> thanks for the help |
21:17:22 | leorize | np |
21:18:46 | leorize | if you do manage to create a generic dispatcher framework, please let me know, I might look into making async work with it :) |
21:19:13 | leorize | also ask Zevv for this recent work on CSP |
21:19:34 | leorize | CPS* |
21:19:52 | leorize | it should allow translation of async-await constructs into callbacks if I understand that correctly |
21:28:18 | * | jeko joined #nim |
21:54:27 | * | FromGitter quit (Ping timeout: 256 seconds) |
21:54:27 | * | FromGitter joined #nim |
21:54:29 | * | Cthalupa quit (Ping timeout: 256 seconds) |
21:56:13 | * | nikita` quit (Quit: leaving) |
21:59:58 | * | tane quit (Quit: Leaving) |
22:00:29 | * | Cthalupa joined #nim |
22:01:27 | * | khanate[m]0 quit (*.net *.split) |
22:01:28 | * | koltrast_ quit (*.net *.split) |
22:03:36 | * | cyraxjoe quit (Ping timeout: 256 seconds) |
22:03:56 | * | cyraxjoe joined #nim |
22:04:31 | * | lritter quit (Ping timeout: 256 seconds) |
22:04:42 | * | salotz[m] quit (*.net *.split) |
22:04:43 | * | sepples quit (*.net *.split) |
22:06:11 | * | krux02_ joined #nim |
22:06:13 | * | FromGitter quit (Ping timeout: 256 seconds) |
22:06:33 | * | FromGitter joined #nim |
22:09:02 | * | krux02 quit (Ping timeout: 256 seconds) |
22:12:17 | * | salotz[m] joined #nim |
22:12:17 | * | sepples joined #nim |
22:12:38 | * | Jesin quit (Ping timeout: 246 seconds) |
22:20:36 | * | khanate[m]0 joined #nim |
22:20:37 | * | koltrast_ joined #nim |
22:23:03 | * | vsantana quit (Ping timeout: 272 seconds) |
22:27:16 | * | khanate[m]0 quit (*.net *.split) |
22:27:17 | * | koltrast_ quit (*.net *.split) |
22:30:28 | * | giaco quit (Ping timeout: 246 seconds) |
22:30:43 | * | salotz[m] quit (*.net *.split) |
22:30:43 | * | sepples quit (*.net *.split) |
22:33:28 | * | Trustable quit (*.net *.split) |
22:33:29 | * | drdee quit (*.net *.split) |
22:33:29 | * | FromGitter quit (*.net *.split) |
22:33:29 | * | krux02_ quit (*.net *.split) |
22:33:29 | * | watzon quit (*.net *.split) |
22:33:30 | * | BitPuffin quit (*.net *.split) |
22:33:31 | * | shodan45 quit (*.net *.split) |
22:33:31 | * | nickster quit (*.net *.split) |
22:33:31 | * | Mister_Magister quit (*.net *.split) |
22:33:31 | * | acidx quit (*.net *.split) |
22:33:31 | * | skrylar[m] quit (*.net *.split) |
22:33:32 | * | k0mpjut0r quit (*.net *.split) |
22:33:32 | * | casaca quit (*.net *.split) |
22:33:33 | * | tyler569 quit (*.net *.split) |
22:33:33 | * | bozaloshtsh_ quit (*.net *.split) |
22:33:33 | * | Cadey quit (*.net *.split) |
22:33:33 | * | def- quit (*.net *.split) |
22:33:33 | * | screens_ quit (*.net *.split) |
22:33:34 | * | disbot quit (*.net *.split) |
22:33:34 | * | ldlework quit (*.net *.split) |
22:33:34 | * | dgb quit (*.net *.split) |
22:33:35 | * | Tlanger quit (*.net *.split) |
22:33:35 | * | supakeen quit (*.net *.split) |
22:33:35 | * | chemist69 quit (*.net *.split) |
22:33:35 | * | sentreen quit (*.net *.split) |
22:33:35 | * | oculuxe quit (*.net *.split) |
22:33:35 | * | zedeus quit (*.net *.split) |
22:33:35 | * | sagax quit (*.net *.split) |
22:33:35 | * | Jjp137_ quit (*.net *.split) |
22:33:35 | * | Hotbees quit (*.net *.split) |
22:33:35 | * | matlock quit (*.net *.split) |
22:33:35 | * | euantor quit (*.net *.split) |
22:33:35 | * | vqrs quit (*.net *.split) |
22:33:36 | * | CcxWrk quit (*.net *.split) |
22:33:36 | * | lain quit (*.net *.split) |
22:33:36 | * | drewr quit (*.net *.split) |
22:33:36 | * | brainbomb1 quit (*.net *.split) |
22:33:37 | * | muffindrake quit (*.net *.split) |
22:33:37 | * | D_ quit (*.net *.split) |
22:33:37 | * | oprypin quit (*.net *.split) |
22:33:37 | * | noonien quit (*.net *.split) |
22:33:37 | * | ormiret quit (*.net *.split) |
22:33:37 | * | alehander92_ quit (*.net *.split) |
22:33:37 | * | sz0 quit (*.net *.split) |
22:33:37 | * | matti quit (*.net *.split) |
22:33:37 | * | zielmicha__ quit (*.net *.split) |
22:33:37 | * | disruptek quit (*.net *.split) |
22:33:38 | * | Avatarfighter quit (*.net *.split) |
22:33:38 | * | golechwi1 quit (*.net *.split) |
22:33:38 | * | jeko quit (*.net *.split) |
22:33:38 | * | xet7 quit (*.net *.split) |
22:33:39 | * | surma quit (*.net *.split) |
22:33:39 | * | bacterio quit (*.net *.split) |
22:33:39 | * | so quit (*.net *.split) |
22:33:40 | * | voltist quit (*.net *.split) |
22:33:40 | * | arecaceae quit (*.net *.split) |
22:33:40 | * | jxy quit (*.net *.split) |
22:33:40 | * | WilhelmVonWeiner quit (*.net *.split) |
22:33:40 | * | nerthus quit (*.net *.split) |
22:33:40 | * | zama quit (*.net *.split) |
22:33:40 | * | sacredfrog quit (*.net *.split) |
22:33:40 | * | vesper11 quit (*.net *.split) |
22:33:41 | * | Amun_Ra quit (*.net *.split) |
22:33:41 | * | dv^_^ quit (*.net *.split) |
22:33:41 | * | hpyc9 quit (*.net *.split) |
22:33:41 | * | dzamo[m]1 quit (*.net *.split) |
22:33:41 | * | stever quit (*.net *.split) |
22:33:41 | * | beatmox- quit (*.net *.split) |
22:33:41 | * | unclechu quit (*.net *.split) |
22:33:41 | * | codic quit (*.net *.split) |
22:33:41 | * | planetis[m] quit (*.net *.split) |
22:33:41 | * | oneark quit (*.net *.split) |
22:33:41 | * | sendell quit (*.net *.split) |
22:33:41 | * | d10n-work quit (*.net *.split) |
22:33:42 | * | leorize[m] quit (*.net *.split) |
22:33:42 | * | vicfred quit (*.net *.split) |
22:33:42 | * | FromDiscord quit (*.net *.split) |
22:33:43 | * | cornfeedhobo quit (*.net *.split) |
22:33:43 | * | gsingh93 quit (*.net *.split) |
22:33:43 | * | d10n quit (*.net *.split) |
22:33:43 | * | Araq quit (*.net *.split) |
22:33:43 | * | cyraxjoe quit (*.net *.split) |
22:33:43 | * | oddp quit (*.net *.split) |
22:33:43 | * | xace quit (*.net *.split) |
22:33:43 | * | kungtotte quit (*.net *.split) |
22:33:44 | * | notandinus quit (*.net *.split) |
22:33:44 | * | rayman22201 quit (*.net *.split) |
22:33:44 | * | ljoonal quit (*.net *.split) |
22:33:44 | * | wgetch quit (*.net *.split) |
22:33:44 | * | livcd quit (*.net *.split) |
22:33:44 | * | Ekho quit (*.net *.split) |
22:33:44 | * | literal quit (*.net *.split) |
22:33:45 | * | federico3 quit (*.net *.split) |
22:33:45 | * | ChanServ quit (*.net *.split) |
22:33:45 | * | opal quit (*.net *.split) |
22:33:45 | * | leorize quit (*.net *.split) |
22:33:45 | * | qwertfisch quit (*.net *.split) |
22:33:45 | * | neceve quit (*.net *.split) |
22:33:45 | * | nisstyre quit (*.net *.split) |
22:33:46 | * | bab quit (*.net *.split) |
22:33:46 | * | Northstrider[m] quit (*.net *.split) |
22:33:46 | * | oz quit (*.net *.split) |
22:33:46 | * | EastByte quit (*.net *.split) |
22:33:47 | * | go|dfish quit (*.net *.split) |
22:33:47 | * | dom96 quit (*.net *.split) |
22:33:47 | * | shashlick quit (*.net *.split) |
22:33:47 | * | revere quit (*.net *.split) |
22:33:48 | * | r4vi quit (*.net *.split) |
22:33:48 | * | pietroppeter quit (*.net *.split) |
22:33:48 | * | pbb quit (*.net *.split) |
22:33:48 | * | vikfret quit (*.net *.split) |
22:33:48 | * | marcpm quit (*.net *.split) |
22:33:48 | * | gangstacat quit (*.net *.split) |
22:33:48 | * | pangey quit (*.net *.split) |
22:33:48 | * | LyndsySimon quit (*.net *.split) |
22:33:48 | * | npgm quit (*.net *.split) |
22:33:48 | * | ehmry quit (*.net *.split) |
22:33:49 | * | msmorgan quit (*.net *.split) |
22:33:49 | * | stefantalpalaru quit (*.net *.split) |
22:33:49 | * | sknebel quit (*.net *.split) |
22:33:49 | * | JStoker quit (*.net *.split) |
22:33:49 | * | sirn quit (*.net *.split) |
22:33:49 | * | Yardanico quit (*.net *.split) |
22:33:49 | * | Prestige quit (*.net *.split) |
22:33:49 | * | skelett quit (*.net *.split) |
22:33:50 | * | Lord_Nightmare quit (*.net *.split) |
22:33:50 | * | letto quit (*.net *.split) |
22:33:50 | * | idxu quit (*.net *.split) |
22:33:50 | * | jholland__ quit (*.net *.split) |
22:33:51 | * | lbart quit (*.net *.split) |
22:33:51 | * | mal`` quit (*.net *.split) |
22:33:51 | * | Cthalupa quit (*.net *.split) |
22:33:51 | * | abm quit (*.net *.split) |
22:33:51 | * | dddddd quit (*.net *.split) |
22:33:51 | * | nekits quit (*.net *.split) |
22:33:52 | * | clemens3 quit (*.net *.split) |
22:33:52 | * | crem quit (*.net *.split) |
22:33:52 | * | tribly quit (*.net *.split) |
22:33:52 | * | Zevv quit (*.net *.split) |
22:33:52 | * | blackbeard420 quit (*.net *.split) |
22:33:52 | * | lmariscal quit (*.net *.split) |
22:33:52 | * | onionhammer quit (*.net *.split) |
22:33:52 | * | wowi42 quit (*.net *.split) |
22:33:52 | * | yumaikas quit (*.net *.split) |
22:33:52 | * | GaveUp quit (*.net *.split) |
22:33:53 | * | jken quit (*.net *.split) |
22:36:56 | * | jken joined #nim |
22:36:56 | * | GaveUp joined #nim |
22:36:56 | * | yumaikas joined #nim |
22:36:56 | * | wowi42 joined #nim |
22:36:56 | * | onionhammer joined #nim |
22:36:56 | * | lmariscal joined #nim |
22:36:56 | * | blackbeard420 joined #nim |
22:36:56 | * | tribly joined #nim |
22:36:56 | * | crem joined #nim |
22:36:56 | * | clemens3 joined #nim |
22:36:56 | * | Zevv joined #nim |
22:36:56 | * | nekits joined #nim |
22:36:56 | * | dddddd joined #nim |
22:36:56 | * | abm joined #nim |
22:36:56 | * | Cthalupa joined #nim |
22:36:56 | * | screens_ joined #nim |
22:36:56 | * | def- joined #nim |
22:36:56 | * | shodan45 joined #nim |
22:36:57 | * | nickster joined #nim |
22:36:57 | * | Mister_Magister joined #nim |
22:36:57 | * | acidx joined #nim |
22:37:11 | * | hpyc9 joined #nim |
22:37:12 | * | stever joined #nim |
22:37:12 | * | dzamo[m]1 joined #nim |
22:37:12 | * | beatmox- joined #nim |
22:37:12 | * | unclechu joined #nim |
22:37:12 | * | codic joined #nim |
22:37:12 | * | planetis[m] joined #nim |
22:37:12 | * | oneark joined #nim |
22:37:12 | * | sendell joined #nim |
22:37:12 | * | d10n-work joined #nim |
22:37:12 | * | leorize[m] joined #nim |
22:37:22 | * | vicfred joined #nim |
22:37:22 | * | FromDiscord joined #nim |
22:37:22 | * | cornfeedhobo joined #nim |
22:37:22 | * | gsingh93 joined #nim |
22:37:22 | * | d10n joined #nim |
22:37:22 | * | Araq joined #nim |
22:37:25 | * | r4vi joined #nim |
22:37:25 | * | pietroppeter joined #nim |
22:37:25 | * | pbb joined #nim |
22:37:25 | * | vikfret joined #nim |
22:37:25 | * | marcpm joined #nim |
22:37:25 | * | gangstacat joined #nim |
22:37:25 | * | pangey joined #nim |
22:37:25 | * | LyndsySimon joined #nim |
22:37:25 | * | npgm joined #nim |
22:37:25 | * | ehmry joined #nim |
22:37:25 | * | msmorgan joined #nim |
22:37:25 | * | stefantalpalaru joined #nim |
22:37:25 | * | sknebel joined #nim |
22:37:25 | * | JStoker joined #nim |
22:37:25 | * | sirn joined #nim |
22:37:25 | * | Yardanico joined #nim |
22:37:25 | * | Prestige joined #nim |
22:37:25 | * | skelett joined #nim |
22:37:29 | * | ldlework joined #nim |
22:37:29 | * | disbot joined #nim |
22:37:29 | * | dgb joined #nim |
22:37:31 | * | dzamo[m]1 quit (Ping timeout: 244 seconds) |
22:37:31 | * | unclechu quit (Ping timeout: 244 seconds) |
22:37:32 | * | planetis[m] quit (Ping timeout: 244 seconds) |
22:37:32 | * | oneark quit (Ping timeout: 244 seconds) |
22:37:32 | * | sendell quit (Ping timeout: 244 seconds) |
22:37:32 | * | d10n-work quit (Ping timeout: 244 seconds) |
22:37:33 | * | voltist joined #nim |
22:37:33 | * | arecaceae joined #nim |
22:37:33 | * | jxy joined #nim |
22:37:33 | * | WilhelmVonWeiner joined #nim |
22:37:33 | * | nerthus joined #nim |
22:37:33 | * | zama joined #nim |
22:37:33 | * | sacredfrog joined #nim |
22:37:33 | * | vesper11 joined #nim |
22:37:33 | * | Amun_Ra joined #nim |
22:37:33 | * | dv^_^ joined #nim |
22:37:41 | * | npgm quit (Ping timeout: 253 seconds) |
22:37:46 | * | k0mpjut0r joined #nim |
22:37:46 | * | casaca joined #nim |
22:37:46 | * | tyler569 joined #nim |
22:37:46 | * | bozaloshtsh_ joined #nim |
22:37:46 | * | Cadey joined #nim |
22:37:52 | * | Tlanger joined #nim |
22:37:52 | * | supakeen joined #nim |
22:37:52 | * | chemist69 joined #nim |
22:37:52 | * | sentreen joined #nim |
22:37:52 | * | oculuxe joined #nim |
22:37:52 | * | zedeus joined #nim |
22:37:52 | * | sagax joined #nim |
22:37:52 | * | Jjp137_ joined #nim |
22:37:52 | * | Hotbees joined #nim |
22:37:52 | * | matlock joined #nim |
22:37:52 | * | euantor joined #nim |
22:37:52 | * | vqrs joined #nim |
22:37:52 | * | CcxWrk joined #nim |
22:37:52 | * | lain joined #nim |
22:37:58 | * | Trustable joined #nim |
22:37:58 | * | drdee joined #nim |
22:38:03 | * | go|dfish joined #nim |
22:38:03 | * | dom96 joined #nim |
22:38:03 | * | shashlick joined #nim |
22:38:03 | * | revere joined #nim |
22:38:25 | * | letto joined #nim |
22:38:26 | * | FromGitter joined #nim |
22:38:26 | * | krux02_ joined #nim |
22:38:26 | * | BitPuffin joined #nim |
22:38:28 | * | jeko joined #nim |
22:38:28 | * | xet7 joined #nim |
22:38:28 | * | surma joined #nim |
22:38:28 | * | bacterio joined #nim |
22:38:28 | * | so joined #nim |
22:38:31 | * | koltrast_ joined #nim |
22:38:34 | * | neceve joined #nim |
22:38:35 | * | nisstyre joined #nim |
22:38:35 | * | bab joined #nim |
22:38:35 | * | Northstrider[m] joined #nim |
22:38:35 | * | oz joined #nim |
22:38:35 | * | EastByte joined #nim |
22:38:37 | * | cyraxjoe joined #nim |
22:38:37 | * | oddp joined #nim |
22:38:37 | * | xace joined #nim |
22:38:37 | * | kungtotte joined #nim |
22:38:37 | * | notandinus joined #nim |
22:38:37 | * | rayman22201 joined #nim |
22:38:37 | * | ljoonal joined #nim |
22:38:37 | * | wgetch joined #nim |
22:38:37 | * | livcd joined #nim |
22:38:37 | * | Ekho joined #nim |
22:38:37 | * | literal joined #nim |
22:38:37 | * | federico3 joined #nim |
22:38:46 | * | opal joined #nim |
22:38:46 | * | leorize joined #nim |
22:39:00 | * | drewr joined #nim |
22:39:00 | * | brainbomb1 joined #nim |
22:39:00 | * | muffindrake joined #nim |
22:39:00 | * | D_ joined #nim |
22:39:00 | * | oprypin joined #nim |
22:39:00 | * | ormiret joined #nim |
22:39:00 | * | alehander92_ joined #nim |
22:39:00 | * | zielmicha__ joined #nim |
22:39:00 | * | disruptek joined #nim |
22:39:00 | * | Avatarfighter joined #nim |
22:39:00 | * | golechwi1 joined #nim |
22:39:07 | * | zama_ joined #nim |
22:39:13 | * | zama quit (Ping timeout: 264 seconds) |
22:39:24 | * | zama_ quit (Changing host) |
22:39:24 | * | zama_ joined #nim |
22:39:26 | * | zama_ is now known as zama |
22:39:51 | * | k0mpjut0r quit (Ping timeout: 246 seconds) |
22:39:55 | * | abm quit (Read error: Connection reset by peer) |
22:40:07 | * | BitPuffin quit (Ping timeout: 240 seconds) |
22:40:09 | * | msmorgan quit (Ping timeout: 270 seconds) |
22:41:03 | * | l1x quit (Ping timeout: 265 seconds) |
22:41:05 | * | matlock quit (Ping timeout: 256 seconds) |
22:41:16 | * | qwertfisch joined #nim |
22:41:25 | * | LyndsySimon quit (Ping timeout: 272 seconds) |
22:41:25 | * | sirn quit (Ping timeout: 272 seconds) |
22:41:33 | * | msmorgan joined #nim |
22:41:37 | * | sepples joined #nim |
22:42:33 | * | Lord_Nightmare joined #nim |
22:42:34 | * | idxu joined #nim |
22:42:34 | * | jholland__ joined #nim |
22:42:34 | * | lbart joined #nim |
22:42:34 | * | mal`` joined #nim |
22:42:36 | * | l1x joined #nim |
22:42:38 | * | sirn joined #nim |
22:43:25 | * | npgm joined #nim |
22:43:35 | * | matti joined #nim |
22:43:41 | * | sz0 joined #nim |
22:44:40 | * | noonien joined #nim |
22:45:18 | * | LyndsySimon joined #nim |
22:45:42 | * | matlock joined #nim |
22:46:16 | * | skrylar[m] joined #nim |
22:47:08 | * | d10n-work joined #nim |
22:47:29 | * | dzamo[m]1 joined #nim |
22:47:49 | * | sendell joined #nim |
22:47:50 | * | oneark joined #nim |
22:47:56 | * | planetis[m] joined #nim |
22:48:27 | * | watzon joined #nim |
22:49:16 | disruptek | !repo gitnim |
22:49:17 | disbot | https://github.com/disruptek/gitnim -- 9gitnim: 11choosenim for choosey nimions 15 0⭐ 0🍴 |
22:51:34 | * | salotz[m] joined #nim |
22:53:20 | * | brainbomb1 quit (Quit: Leaving.) |
22:54:07 | FromDiscord | <willyboar> dissssss |
22:54:07 | * | giaco joined #nim |
22:54:49 | * | khanate[m]0 joined #nim |
22:55:43 | * | drdee quit (Read error: Connection reset by peer) |
22:56:45 | * | k0mpjut0r joined #nim |
22:58:05 | * | unclechu joined #nim |
22:58:25 | * | Trustable quit (Remote host closed the connection) |
23:03:55 | * | BitPuffin joined #nim |
23:04:17 | disruptek | http://gitnim.com/ |
23:07:31 | * | fredrikhr joined #nim |
23:11:48 | FromDiscord | <willyboar> oh! new project |
23:16:17 | * | unknown joined #nim |
23:21:57 | leorize[m] | disruptek: did you statically linked glibc into that binary? |
23:22:17 | Yardanico | glibc? lol |
23:22:40 | leorize[m] | grab a toolchain at musl.cc and build better static binaries instead |
23:23:04 | Yardanico | yep |
23:24:59 | * | willyboa_ quit () |
23:25:15 | * | willyboar joined #nim |
23:33:51 | leorize[m] | in the future I'll look into creating docker images dedicated to cross compiling Nim to build nightlies |
23:33:58 | leorize[m] | crosstool-ng seems to be useful for this |
23:36:46 | FromDiscord | <Zed> > @eagledot, @Zed, I added a way to fidget to update an image every frame: https://github.com/treeform/fidget/blob/master/tests/imagestatic/imagestatic.nim↵@treeform Thanks! that's super useful!, did it take long to implement? |
23:37:41 | shashlick | @leorize - have implemented the nimterop feature to copy .so/.dll/.dylib files to a target directory |
23:37:56 | leorize | nice |
23:37:59 | shashlick | by default, i'm copying it to the outdir - where the nim binary is being written |
23:38:13 | shashlick | right now i'm checking if the binary exists and file dates |
23:38:37 | shashlick | but that might not mean much, i'm already running into build issues cause it isn't overwriting and the version is wrong |
23:38:41 | shashlick | so should i always overwrite |
23:38:51 | leorize | checking the last modified time is usually a good option |
23:39:01 | Yardanico | you can rewrite and save old one as file.old |
23:39:11 | leorize | that's how most build tools does it |
23:39:27 | leorize | Yardanico: then you'll have to bother with .old.00n |
23:39:31 | leorize | not worth it tbh |
23:40:29 | shashlick | ya will get overwritten every build |
23:40:39 | shashlick | checking hash will be slower than just overwriting |
23:40:47 | shashlick | and modified date isn't helping |
23:40:50 | shashlick | stat -c %y |
23:41:11 | leorize | we have a proc in os.nim to check for last modified time iirc |
23:42:03 | shashlick | not usable at compile tme |
23:42:09 | shashlick | pleasures of the vm |
23:42:27 | shashlick | https://travis-ci.org/github/nimterop/nimterop/jobs/699111710#L1979 |
23:42:43 | shashlick | checking out v1.2.0 and building it but still loading the 1.2.11 zlib still in the dir |
23:42:58 | leorize | well stat -c %Y will give you the posix epoch |
23:43:20 | leorize | probably won't work on windows though |
23:43:58 | shashlick | https://github.com/nimterop/nimterop/blob/master/nimterop/cimport.nim#L73 |
23:44:09 | FromDiscord | <treeform> @Zed, no it did not, everything was already there just needed to be wired up. |
23:44:14 | shashlick | some day i can throw out a lot of code |
23:44:21 | leorize | shashlick: use upper case Y |
23:44:35 | leorize | posix epoch is indefinitely better |
23:45:46 | shashlick | Cool |
23:46:00 | shashlick | But still need to see why modified date didn't work here |
23:48:41 | FromDiscord | <demotomohiro> @treeform Hi, I sent 1 issue and 1 pull request to your openal repository. |
23:48:42 | leorize | did you mess up the direction of the arrow? |
23:48:50 | leorize | operator* |
23:49:09 | shashlick | Could very well be |
23:49:33 | shashlick | But in Conan and binary builder case, I'm downloading a precompiled binary |
23:49:42 | shashlick | So modified date is meaningless |
23:50:38 | Yardanico | anyone on linux can confirm if they get the same crash? https://github.com/nim-lang/Nim/issues/13935 |
23:50:39 | disbot | ➥ SIGSEV encountered when creating threads in a loop w/ --gc:arc ; snippet at 12https://play.nim-lang.org/#ix=2ioe |
23:50:50 | Yardanico | try to compile and run the example on the bottom with --gc:arc --threads:on -d:danger |
23:50:57 | Yardanico | if you're on devel |
23:51:52 | FromDiscord | <treeform> @demotomohiro thanks, ill take a look |
23:51:52 | leorize | shashlick: well set the modified date to "now" for them once you've downloaded them |
23:53:48 | * | willyboar quit () |
23:54:51 | leorize | shashlick: on *nix it's a simple touch "filename" |
23:55:12 | leorize | or alternatively configure whatever that downloads your file to not use the date from the source |