00:00:41 | * | lucasta joined #nim |
00:06:29 | FromDiscord | <raynei486> sent a code paste, see https://play.nim-lang.org/#ix=4Mnb |
00:06:55 | * | azimut joined #nim |
00:13:05 | FromDiscord | <odexine> Wrong field name |
00:13:15 | FromDiscord | <odexine> you wrote object type it should be obj type |
00:14:03 | FromDiscord | <odexine> The error just means that you can’t initialise using the value on the specified field because of the discriminator (the case field) |
00:14:18 | FromDiscord | <odexine> In this case it’s because you incorrectly wrote the discriminator field name |
00:14:41 | FromDiscord | <odexine> In Nim types are traditionally in pascal case |
00:15:10 | FromDiscord | <bostonboston> https://media.discordapp.net/attachments/371759389889003532/1177764376892162058/Screenshot_2023-11-24-18-14-35-38_0b2fce7a16bf2b728d6ffa28c8d60efb.jpg?ex=6573b18d&is=65613c8d&hm=570bcd08e0394b8440aa0dde01dda4a3301024d8ddedaf7542a221b7ce0bb50c& |
00:28:27 | FromDiscord | <raynei486> In reply to @odexine "you wrote object type": ohh okay |
00:28:30 | FromDiscord | <raynei486> that fixed it thanks |
01:11:04 | FromDiscord | <gbolahan> sent a long message, see http://ix.io/4Mni |
01:14:35 | * | krux02 quit (Remote host closed the connection) |
01:19:05 | * | Guest70 joined #nim |
01:20:49 | * | Guest70 quit (Client Quit) |
01:35:09 | * | rockcavera quit (Remote host closed the connection) |
01:39:08 | * | rockcavera joined #nim |
01:43:16 | FromDiscord | <Elegantbeef> `importc` for the headers |
01:48:53 | FromDiscord | <gbolahan> Can you reference me to any sample or doc that describes such situation |
01:50:07 | FromDiscord | <Elegantbeef> If you use `importc` it should emit a `include` corresponding to that include |
01:50:18 | FromDiscord | <Elegantbeef> No example or docs there |
02:13:56 | * | lucasta quit (Remote host closed the connection) |
02:22:17 | * | PMunch quit (Quit: leaving) |
04:24:45 | * | xet7 quit (Quit: Leaving) |
06:03:01 | * | xet7 joined #nim |
06:42:07 | * | azimut quit (Ping timeout: 240 seconds) |
07:58:40 | * | xutaxkamay_ joined #nim |
07:59:11 | * | beholders_eye joined #nim |
07:59:41 | * | xutaxkamay quit (Ping timeout: 252 seconds) |
07:59:41 | * | xutaxkamay_ is now known as xutaxkamay |
08:19:57 | * | beholders_eye quit (Ping timeout: 256 seconds) |
09:17:11 | FromDiscord | <meow5656> I can't import the Nim CSFML module. What to do? https://media.discordapp.net/attachments/371759389889003532/1177900781052116993/image.png?ex=65743096&is=6561bb96&hm=52ed232d8509b89d644810e81da0f9e6fef38119450033d6578c5954b114dfe7& |
09:17:52 | FromDiscord | <meow5656> Don't pay attention to the rest of the code, I'm just starting to learn |
09:23:38 | FromDiscord | <griffith1deadly> In reply to @meow5656 "I can't import the": maybe you need ".."/csfml |
09:24:43 | FromDiscord | <meow5656> Like this? https://media.discordapp.net/attachments/371759389889003532/1177902676223217695/image.png?ex=6574325a&is=6561bd5a&hm=3078416a60acfb9350ff7e2b7aa61ecb231ea9600eae16ff033626a99badbcaf& |
09:27:31 | FromDiscord | <griffith1deadly> yep |
09:32:40 | FromDiscord | <odexine> Insert warnings about include and advice to use import instead |
09:42:20 | FromDiscord | <meow5656> In reply to @griffith1deadly "yep": Thanks, bro, but now the library files don't see the files in other folders, what should I do? https://media.discordapp.net/attachments/371759389889003532/1177907113238999090/image.png?ex=6574367c&is=6561c17c&hm=0a824e9d1255679faa7fa27e51b1e3eab2091ed201ccced5504ed2d07e5372b7& |
09:42:48 | FromDiscord | <meow5656> In reply to @odexine "Insert warnings about include": I've already done that. |
09:44:18 | FromDiscord | <griffith1deadly> In reply to @meow5656 "Thanks, bro, but now": tell me why you create your project in library src instead from install library with nimble and use just import in your project |
09:45:21 | FromDiscord | <griffith1deadly> also i don't recommend use intelij tool's with nim, poor support |
09:45:32 | FromDiscord | <griffith1deadly> use vscode and nimlangserver instead |
09:46:00 | FromDiscord | <Elegantbeef> If you want to be silly about it you probably can do `--nimblePath:"csfml"` but really stop it, if you want to do a venv use atlas, if you want to install packages use nimble |
09:47:50 | FromDiscord | <meow5656> In reply to @griffith1deadly "tell me why you": Nimble will make a mistake https://media.discordapp.net/attachments/371759389889003532/1177908495325069333/image.png?ex=657437c5&is=6561c2c5&hm=2d11dbb565f9838c12e4154414ce1b5e386b5c6016c3532101f7fcb2760232c0& |
09:48:30 | FromDiscord | <Elegantbeef> Install git |
09:48:31 | FromDiscord | <Elegantbeef> nimble requires git in your path |
09:48:31 | FromDiscord | <Elegantbeef> If it's not in your path it does not work |
09:48:36 | FromDiscord | <griffith1deadly> In reply to @meow5656 "Nimble will make a": bro, just type in browser install git and go |
09:55:26 | NimEventer | New thread by satoshi: Is Nim Dead?, see https://forum.nim-lang.org/t/10681 |
10:01:15 | FromDiscord | <Phil> In reply to @meow5656 "Thanks, bro, but now": Note that generally in nim you do relative import paths, at least I'm not aware of a way to do "absolute" import paths |
10:01:35 | FromDiscord | <Elegantbeef> There are some 'hidden' import paths you can use |
10:02:21 | FromDiscord | <Phil> The way you're writing that makes it sound like a "Can but really shouldn't because it's non obvious" |
10:02:39 | FromDiscord | <Elegantbeef> https://nim-lang.org/docs/nimc.html#compiler-usage-commandminusline-switches |
10:03:16 | FromDiscord | <Elegantbeef> Those all work inside of `import` strings afaik |
10:04:54 | FromDiscord | <Elegantbeef> You should be capable of doing absolute paths, not that it's sane to do |
10:05:02 | FromDiscord | <Phil> Wait, then you should be able to do "absolute imports" by which I mean imports relative to the project root |
10:05:22 | FromDiscord | <Elegantbeef> Yep |
10:05:39 | FromDiscord | <Elegantbeef> Though only at top level, inside a library it'll fail |
10:05:42 | FromDiscord | <Phil> What does nim identify as the projectpath? |
10:05:59 | FromDiscord | <Phil> Like the dir in which the nimble file of the project is? |
10:06:13 | FromDiscord | <Phil> (edit) "Like the" => "The" |
10:06:27 | FromDiscord | <Phil> Or the root file from which you're compiling? |
10:06:58 | FromDiscord | <Elegantbeef> Given that my test's config does `"$projectDir/../src"` probably the source dir |
12:08:23 | FromDiscord | <redmechanics> if i have a program.exe written in nim and i double click it it will open cmd and when the program finishes it will close that cmd but is there a way of keeping it open after program finishes ? |
12:08:42 | FromDiscord | <redmechanics> (edit) "if i have a program.exe written in nim and i double click ... it" added "from file explorer" |
12:29:30 | FromDiscord | <takemichihanagaki3129> In reply to @redmechanics "if i have a": Yes, a trick to do it is putting the program to expect an user's input. |
12:30:07 | FromDiscord | <takemichihanagaki3129> I don't remember the function that do that in Nim, but in Python his would be `input()`. |
12:33:52 | FromDiscord | <TӨMΛ ☠> `readLine(stdin)` |
13:20:52 | FromDiscord | <fabric.input_output> In reply to @fabric.input_output "like can you do": ? |
13:30:04 | FromDiscord | <ebahie> hello, i had a question about the nim compiler, where in the source code is the implementation of the keyword import situated? |
13:30:14 | FromDiscord | <ebahie> (edit) "import" => ""import"" |
13:33:44 | FromDiscord | <Phil> In reply to @fabric.input_output "?": I would assume so.↵In owlkettle we use this to add the cdecl pragma to things en masse |
13:34:28 | FromDiscord | <fabric.input_output> In reply to @isofruit "I would assume so.": ok thanks |
13:34:32 | FromDiscord | <Phil> In reply to @ebahie "hello, i had a": I think that is a question best asked in #internals , the folks there aren't all that active in here |
13:34:45 | FromDiscord | <Phil> (edit) "In reply to @ebahie "hello, i had a": I think that is a question best asked in #internals , the folks there aren't all that active in here ... " added "and they'll be the ones with the necessary knowledge" |
13:34:54 | FromDiscord | <ebahie> In reply to @isofruit "I think that is": alright thank you |
14:39:28 | * | beholders_eye joined #nim |
14:41:05 | FromDiscord | <glomdom.> is bitwise `or (|)` in nim like `or`? |
14:46:11 | * | beholders_eye quit (Ping timeout: 264 seconds) |
15:01:11 | FromDiscord | <griffith1deadly> sent a long message, see http://ix.io/4Mpm |
15:06:56 | FromDiscord | <glomdom.> does anyone know how i can namespace my procs?↵↵for example in a file `revision.nim` i would have 3 procs `new(major: uint16, minor: uint16)`, `major(self: Revision)` and `minor(self: Revision)`.↵how can i use these procs as `let rev = revision.new(2, 2)`, `rev.major()` and so forth? |
15:09:16 | FromDiscord | <griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4Mpr |
15:10:27 | FromDiscord | <griffith1deadly> (edit) "https://play.nim-lang.org/#ix=4Mpr" => "https://paste.rs/0v63f" |
15:10:57 | FromDiscord | <glomdom.> it gives me `implementation of 'revision.new(major: uint16, minor: uint16)' expected` |
15:11:26 | FromDiscord | <glomdom.> and a multitude of other errors if i change return type to object, Revision |
15:12:49 | FromDiscord | <odexine> Can we see the code as is |
15:12:57 | FromDiscord | <glomdom.> without the changes or with the changes? |
15:13:12 | FromDiscord | <glomdom.> sent a code paste, see https://paste.rs/Gas87 |
15:16:16 | FromDiscord | <odexine> You can qualify procedures even if the module was imported normally, so you can rename new revision as is |
15:16:42 | FromDiscord | <glomdom.> yeah but what if i have other procs with the same type of args |
15:16:46 | FromDiscord | <glomdom.> (edit) "args" => "parms" |
15:16:47 | FromDiscord | <glomdom.> (edit) "parms" => "params" |
15:18:00 | FromDiscord | <odexine> Only ambiguous if it is in the same module |
15:18:21 | FromDiscord | <odexine> Though in this case yeah okay wait here |
15:19:21 | FromDiscord | <odexine> `proc new(_: typedesc[Revision], major: uint16, minor: uint16): Revision =` will force you to call it Revision.new(...) |
15:20:25 | FromDiscord | <glomdom.> yep that works, thanks |
15:27:29 | * | lucasta joined #nim |
15:41:07 | FromDiscord | <glomdom.> sent a code paste, see https://play.nim-lang.org/#ix=4MpA |
15:45:28 | * | jmdaemon quit (Ping timeout: 276 seconds) |
15:46:14 | FromDiscord | <odexine> Make them procedures? You don’t need parentheses to call a procedure |
15:47:14 | FromDiscord | <odexine> proc EFI_...(_: typedesc[Revision]): Revision = Revision.new... |
15:47:23 | FromDiscord | <odexine> (edit) "proc" => "`proc" | "Revision.new..." => "Revision.new...`" |
15:48:53 | * | Mister_Magister quit (Ping timeout: 256 seconds) |
15:52:10 | * | Mister_Magister joined #nim |
16:12:10 | * | beholders_eye joined #nim |
16:14:58 | NimEventer | New thread by bobbersen: Capture atomics in closure, see https://forum.nim-lang.org/t/10682 |
16:41:07 | FromDiscord | <glomdom.> In reply to @odexine "Make them procedures? You": isnt that just redundant? |
16:41:14 | FromDiscord | <glomdom.> the amount of procedures |
16:44:33 | * | beholders_eye quit (Ping timeout: 268 seconds) |
16:52:01 | FromDiscord | <redmechanics> do you have to be logged into discord to use the dimscord library ? |
16:52:21 | FromDiscord | <sOkam! 🫐> In reply to @redmechanics "do you have to": the bot needs to be logged, not the user |
16:53:15 | FromDiscord | <redmechanics> ok |
16:58:17 | FromDiscord | <odexine> In reply to @glomdom. "isnt that just redundant?": I mean to replace the constants with procedures |
17:33:14 | FromDiscord | <redmechanics> In reply to @heysokam "the bot needs to": how do you do it ? |
17:36:43 | * | beholders_eye joined #nim |
17:39:00 | FromDiscord | <sOkam! 🫐> In reply to @redmechanics "how do you do": I don't remember. I only used the lib for a couple of days↵But they have an official discord server, best to ask in there ✍️ |
17:39:43 | FromDiscord | <sOkam! 🫐> more likely to get a quick answer about dimscord specifically |
17:46:56 | * | lucasta quit (Quit: Leaving) |
17:47:49 | FromDiscord | <Chronos [She/Her]> Cursed idea, what if: LSP that runs on a server while you program on your PC |
17:49:00 | FromDiscord | <glomdom.> In reply to @odexine "I mean to replace": is there another way? and is there a way to dynamically generate these procs |
17:49:34 | FromDiscord | <odexine> Personally I have no idea why you’d want these procedures when you can just quite literally call the new procedure with the desired numbers |
17:49:48 | FromDiscord | <odexine> Since the numbers are in the name there’s no real difference |
17:49:53 | FromDiscord | <glomdom.> versioning purposes |
17:50:22 | FromDiscord | <glomdom.> id much rather keep them as properties because those are the only available versions |
17:50:28 | FromDiscord | <glomdom.> and anything other than that will break other code |
17:54:59 | FromDiscord | <Chronos [She/Her]> In reply to @glomdom. "what if i want": Why not use an enum? An enum is more suitable here if there's only limited versions |
17:55:19 | FromDiscord | <glomdom.> oh thats right enums existed |
17:55:27 | FromDiscord | <Chronos [She/Her]> :P |
17:56:42 | * | azimut joined #nim |
17:58:54 | FromDiscord | <redmechanics> In reply to @heysokam "I don't remember. I": the thing is that the dimscord server isn't active and no one responds |
18:01:20 | FromDiscord | <sOkam! 🫐> In reply to @redmechanics "the thing is that": it was active last time I tried the lib 😦 |
18:10:30 | FromDiscord | <meow5656> sent a long message, see http://ix.io/4Mqq |
18:28:15 | * | PMunch joined #nim |
18:42:46 | * | Guest48 joined #nim |
19:06:21 | * | beholders_eye quit (Remote host closed the connection) |
19:12:37 | FromDiscord | <raven_team.leader> sent a code paste, see https://play.nim-lang.org/#ix=4Mqy |
19:17:15 | FromDiscord | <bostonboston> Method is for dynamic dispatch, func is an alias for proc with no side effects |
19:17:58 | FromDiscord | <bostonboston> `proc foo() {.noSideEffects.} =` |
19:18:48 | FromDiscord | <nasuray> I updated my UI for `nim-lang/packages` with version/commit info and calculated some general metrics (https://nimpkgs.dayl.in/#/metrics). Found out disturbingly only 852 of the ~2200 valid packages have any git tags associated with versions. Also, @juancarlospaco wins the award for most published modules. |
19:20:41 | FromDiscord | <raven_team.leader> In reply to @bostonboston "Method is for dynamic": wdym dynamic dispatch and no side effects??? |
19:21:11 | FromDiscord | <sOkam! 🫐> In reply to @raven_team.leader "whats the diff between": func : for writing functional-style procedures, that are enforced to not have side effects↵proc : your regular "function" in other languages should be called procedure, so nim does call it proc↵method : For class-like behavior when using inheritance with objects _(think virtual methods in cpp and similars)_ |
19:21:52 | FromDiscord | <sOkam! 🫐> In reply to @raven_team.leader "wdym dynamic dispatch and": in simple terms, side effects means that the function does not touch anything outside of itself |
19:21:57 | FromDiscord | <raven_team.leader> i see |
19:22:34 | FromDiscord | <sOkam! 🫐> In reply to @raven_team.leader "wdym dynamic dispatch and": dynamic dispatch means that the exact function that should be called at runtime is decided at runtime based on the runtime data/information |
19:22:53 | FromDiscord | <raven_team.leader> i get that now yea |
19:22:55 | FromDiscord | <michaelb.eth> note: Nim’s definition of “no side effects” is a bit funky, not intuitive if you’re familiar with the idea from another language |
19:23:02 | FromDiscord | <bostonboston> In reply to @heysokam "in simple terms, side": Which isn't strictly true for Nim but it still gets you places |
19:23:06 | FromDiscord | <sOkam! 🫐> so if you have 3 functions that -could- fit that description, static dispatch asigns that at compile time, but dynamic dispatch asigns it at runtime |
19:23:16 | FromDiscord | <sOkam! 🫐> In reply to @bostonboston "Which isn't strictly true": > in simple terms |
19:23:36 | FromDiscord | <sOkam! 🫐> there is a big benefit to not clogging the mind of new learners with TMI 🤷♂️ |
19:24:28 | FromDiscord | <michaelb.eth> Nim’s term isn’t simple, though, as usual |
19:38:26 | FromDiscord | <bostonboston> I am the beginner and my mind is clogged 😔 |
19:49:37 | NimEventer | New thread by AntonioFS: RAD system for Nim?, see https://forum.nim-lang.org/t/10685 |
20:01:27 | * | jay-tuckey joined #nim |
20:06:53 | * | xet7 quit (Quit: Leaving) |
20:07:09 | * | Onionhammer quit (Quit: The Lounge - https://thelounge.chat) |
20:12:05 | * | Onionhammer joined #nim |
20:13:08 | * | Onionhammer quit (Client Quit) |
20:15:37 | * | Onionhammer joined #nim |
20:16:57 | * | Onionhammer quit (Client Quit) |
20:18:07 | * | jay-tuckey quit (Ping timeout: 260 seconds) |
20:18:30 | FromDiscord | <Phil> For the uneducated, the heck is RAD? |
20:18:57 | FromDiscord | <Phil> All I'm finding is "Rapid Application Development" and that seems wrong |
20:23:07 | PMunch | Well, from Lazarus' home page: Lazarus is a Delphi compatible cross-platform IDE for Rapid Application Development. |
20:27:05 | FromDiscord | <Phil> Quite frankly: The hell is that supposed to be in an IDE? |
20:27:56 | FromDiscord | <Phil> That's a non-informative statement like like "Inputting text feature now in your IDE" |
20:28:04 | FromDiscord | <Phil> (edit) "That's a non-informative statement ... like" added "from them" |
20:28:07 | FromDiscord | <Phil> (edit) removed "like" |
20:28:33 | FromDiscord | <Phil> I guess thats its own IDE or something? |
20:30:11 | FromDiscord | <Phil> PMunch! Question for genui, did you wrap the Stack widget? |
20:30:24 | FromDiscord | <bostonboston> I think it's like a ide and cross platform UI/app framework all in one |
20:30:39 | PMunch | Hmm, I think the RAD part is the integrated visual designer |
20:30:45 | PMunch | @Phil, what do you mean? |
20:31:09 | PMunch | Oh, missed the genui part |
20:31:14 | FromDiscord | <Phil> If so, how did you wrap all the features provided by the StackPage class which is not a GtkWidget and currently driving me insane 💀 |
20:31:18 | PMunch | Well it doesn't really wrap anything |
20:31:55 | PMunch | It just used some existing Gtk wrapper and only does a syntax transform to more easily build UIs |
20:32:29 | FromDiscord | <Phil> So I take it you didn't check how well that works for Stack ? Mostly asking because in terms of behaviour it really is an odd one compared to most other widgets |
20:32:59 | FromDiscord | <Phil> The fact that it's not a widget nor does it have constructor procs on its own is driving me mildly nuts |
20:33:53 | FromDiscord | <Phil> I'm like half torn between expressing it as a bunch of adder-parameters (that's like 6 of them) in owlkettle and making it a "fake" Widget |
20:34:00 | FromDiscord | <Phil> Neither approach works well |
20:35:09 | FromDiscord | <Phil> (edit) "Neither approach works well ... " added "as they can only be instantiated in the context of a Stack where they instantly get added via specific procs.↵You can't just first create a GtkStackPage and then add that to the stack, that'd be too easy (and is typically how owlkettle operates)" |
20:37:01 | PMunch | Hmm, not entirely sure how you would normally interact with a Stack |
20:38:16 | FromDiscord | <Phil> Generally: Instantiate your widgets, add them via proc to a Stack, get a StackPage instance back and then set attributes on that StackPage instance if you want. |
20:38:22 | FromDiscord | <Phil> Which is incredibly ass backwards in my opinion |
20:39:50 | PMunch | Ah I see |
20:40:11 | FromDiscord | <Phil> That's what makes it so odd |
20:40:25 | FromDiscord | <Phil> You can't just instantiate a StackPage, add widgets and properties as you want and then add that StackPage to a Stack |
20:40:40 | FromDiscord | <Phil> You can instantiate a StackPage generally, but there's no proc to add a StackPage on its own |
20:42:09 | PMunch | But if Owlkettle has full control over the AST and output wouldn't that be an easy fix? |
20:43:31 | PMunch | Just wait with applying the options until it has been added and you have a StackPage back? |
20:50:10 | FromDiscord | <Phil> You assume I understand how owlkettle does its magic |
20:50:41 | FromDiscord | <Phil> My brain is currently cooking even just trying to understand my problems |
20:54:50 | PMunch | Well that's unfortunate.. |
20:55:20 | PMunch | I haven't looked at it at all, so not sure if I could help |
20:56:08 | FromDiscord | <Phil> Waaaaaaaiiiiiiiit.↵There may not be a direct proc, but you do have a get_pages proc |
20:56:18 | FromDiscord | <Phil> Which returns a Gio.ListModel.↵Which is mutable |
20:56:49 | FromDiscord | <Phil> So if I have a proc to add an entry to a ListModel I may be able to programmatically add a StackPage instead of using the available procs |
20:58:24 | PMunch | But can you get a StackPage from anywhere? |
20:58:33 | PMunch | I would assume it was only created when you added it |
21:00:24 | FromDiscord | <Phil> Generally that's true, it has no constructors and the only procs that directly create them are ones that create them by adding a GtkWidget to the stack and transforming it into a GtkStackPage that you get the reference back from |
21:00:25 | FromDiscord | <Phil> BUT |
21:00:58 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#ix=4MqU |
21:01:27 | PMunch | But would it be valid in the eyes of owlkettle |
21:01:28 | FromDiscord | <Phil> Well that's for Widgets but g_object_new just returns a pointer, I can only make it return a StackPage type instead since GtkWidget is just distinct pointer (and so is StackPage) |
21:02:22 | FromDiscord | <Phil> I think if I can nail the adding of StackPage to Stack it would be valid enough |
21:02:39 | FromDiscord | <Phil> This wouldn't be the first "fake" GtkWidget in owlkettle, DialogButton is the first afaik |
21:02:47 | FromDiscord | <Phil> Icon would be another |
21:03:10 | FromDiscord | <Phil> Well "fake" in the sense that in the DSL they look like Widgets when in truth's they're GObjects or the like |
21:06:05 | PMunch | Aah I see |
21:06:49 | FromDiscord | <Phil> Really the current roadblock I see is mostly How the hell do you add a GtkStackPage to a GtkStack |
21:07:15 | PMunch | So annoying when toolkits like this mixes stuff up |
21:07:22 | FromDiscord | <Phil> I can get the ListModel<GtkStackPage> from a GtkStack, but no proc to add to it >_< |
21:10:31 | * | azimut quit (Ping timeout: 240 seconds) |
21:10:55 | * | azimut joined #nim |
21:14:52 | * | xet7 joined #nim |
21:19:14 | FromDiscord | <user2m> sent a code paste, see https://play.nim-lang.org/#ix=4MqY |
21:19:31 | FromDiscord | <Phil> In reply to @user2m "is it possible to": You mean add a flag programmatically? |
21:20:53 | FromDiscord | <Phil> because you can call `nim -d:blabla main.nim` any time you want.↵You can access it using `defined`.↵In fact you can even pass it a value, we do that in owlkettle where you can define `-d:adwminor=4` to define the minor version of libadwaita you want to compile against |
21:30:09 | FromDiscord | <bostonboston> In reply to @user2m "is it possible to": https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-compileminustime-define-pragmas |
21:45:40 | * | lucasta joined #nim |
21:54:55 | * | Guest48 quit (Quit: Client closed) |
22:30:07 | * | jmdaemon joined #nim |
22:38:59 | PMunch | Has anyone benchmarked the Nim random module for randomness? |
22:44:56 | FromDiscord | <Elegantbeef> I give it psuedo/10 |
22:45:33 | PMunch | Huh? |
22:45:52 | PMunch | I'm just seeing some weird behaviour. Like it just rolled 13/98 five times in a row.. |
22:46:17 | PMunch | Which isn't impossible, since it's random, but it's just seems consistently non-random |
22:49:32 | PMunch | Hmm, just ran some tests, seems random enough.. |
22:49:46 | FromDiscord | <Elegantbeef> If speed and seeding is not a concern sysrand is probably a fine random alternative |
22:56:08 | FromDiscord | <redmechanics> is it possible for a nim program to execute a function before the pc shuts down |
22:56:29 | PMunch | @redmechanics, that's not really Nim specific |
22:56:48 | FromDiscord | <Phil> That sounds more like you need to interact with OS systems |
22:56:49 | FromDiscord | <redmechanics> In reply to @PMunch "<@927619710672060488>, that's not really": yes but is it possible to implement in nim ? |
22:56:52 | FromDiscord | <Elegantbeef> Hook up to your OS's event system and there you go |
22:57:01 | FromDiscord | <Elegantbeef> I mean you do not need to implement anything in Nim |
22:57:02 | PMunch | Your OS has to provide a way to do that, but if it does, then it could definitely call a Nim program or signal a running Nim program to do something |
22:57:09 | FromDiscord | <Phil> Sure, how I don't know since I don't know how to interact with the OS in that way |
22:57:25 | FromDiscord | <Elegantbeef> I mean on linux you'd likely use systemd 😄 |
22:57:31 | FromDiscord | <Elegantbeef> Unless you think that's hell on earth |
22:57:33 | rockcavera | PMunch, if you are looking for more prng algorithm options, check this out: https://github.com/rockcavera/nim-randnimgulins |
22:58:02 | rockcavera | I haven't put in the necessary "love", but there are some things |
22:58:16 | FromDiscord | <Elegantbeef> https://askubuntu.com/a/1163373 it's simple as if you are using systemd |
22:58:38 | PMunch | @redmechanics, if you're on Linux (and run systemd) you create a service like this: https://unix.stackexchange.com/questions/39226/how-to-run-a-script-with-systemd-right-before-shutdown |
22:59:02 | PMunch | rockcavera, well I benchmarked random against sysrand and for my case they appear about the same |
22:59:35 | PMunch | @Elegantbeef, never got why some people seem to hate systemd with such passion |
23:00:03 | FromDiscord | <Elegantbeef> "It does too much" or something like that I guess |
23:00:27 | rockcavera | PMunch, if you're looking for speed, on 64-bit architectures, I recommend using Wyrand |
23:12:36 | FromDiscord | <Phil> sent a long message, see http://ix.io/4Mre |
23:13:15 | FromDiscord | <Phil> It makes me overall rather glad that stuff like Artix at least exists as a sort of "emergency fallback", though I can't say I'd care to use it (at the moment) |
23:19:56 | FromDiscord | <redmechanics> how can i block user input in a program ? |
23:27:59 | FromDiscord | <Phil> The question confuses me, in what sense?↵By default in a CLI just don't read anything from the terminal and you're done |
23:29:20 | * | dtomato joined #nim |
23:30:00 | FromDiscord | <redmechanics> In reply to @isofruit "The question confuses me,": i want that on any app user can't do anything if possible |
23:30:37 | FromDiscord | <Phil> So you want that your application can block the user access to their system? |
23:30:45 | FromDiscord | <ElegantBeef> Disable the ctrl + c hook and there you go |
23:30:49 | FromDiscord | <Phil> (edit) "So you want that your application can block the user access to their ... system?" added "entire" |
23:31:11 | FromDiscord | <michaelb.eth> In reply to @redmechanics "i want that on": beef beat me to it |
23:31:24 | FromDiscord | <ElegantBeef> Disabling entire user IO reaks of malware |
23:31:31 | FromDiscord | <Phil> Agreed |
23:31:40 | FromDiscord | <Phil> Which, even if I knew how, would not support. |
23:31:47 | FromDiscord | <Elegantbeef> What does that even mean? |
23:31:50 | FromDiscord | <ElegantBeef> Ah there we go |
23:31:53 | FromDiscord | <ElegantBeef> bridge is alive again |
23:57:26 | FromDiscord | <user2m> In reply to @isofruit "You mean add a": yeah I was hoping to do it programmatically in the code but I'm sure tthat's probably a bad practice |