00:07:20 | FromDiscord | <reversem3> @can.I So what am I doing wrong with the proc and how can I call the proc in the viewable app? |
00:08:45 | FromDiscord | <reversem3> It's way easier to get to to work on C then nim just because of the documentation, unless I shout out to the status.im guys |
00:09:15 | FromDiscord | <!Patitotective> ~~nim is for people that already know~~ |
00:10:24 | FromDiscord | <reversem3> I used to think the same thing but unless you are actually working with FFI , you don't have to touch C |
00:33:35 | * | CyberTailor quit (Remote host closed the connection) |
00:34:28 | * | CyberTailor joined #nim |
01:09:03 | FromDiscord | <creikey> how do I take a pointer to an element? |
01:09:08 | FromDiscord | <creikey> to pass to a function |
01:09:09 | FromDiscord | <creikey> like & |
01:09:46 | FromDiscord | <creikey> .addr that's right |
01:10:44 | FromDiscord | <!!sharpcdf!!> Holy shit jitter keeps going up in stars |
01:11:09 | FromDiscord | <!!sharpcdf!!> It's at 23 right now but every time I reload the page there's more |
01:11:36 | FromDiscord | <!!sharpcdf!!> 😍 |
01:14:26 | FromDiscord | <!!sharpcdf!!> This is by far the most recognition I've ever gotten for a project lol |
01:51:10 | FromDiscord | <Elegantbeef> I see elcritch got sharp's jitter to the front page of hacker news 😄 |
01:51:26 | FromDiscord | <flywind> Yeah, I saw it too. |
01:52:06 | FromDiscord | <flywind> In reply to @ripluke "Is it possible to": Ofc, Nim offcially supports go gc. |
01:52:51 | FromDiscord | <flywind> https://github.com/nim-lang/Nim/blob/devel/lib/system/mm/go.nim |
01:55:37 | FromDiscord | <carlosri> sent a long message, see http://ix.io/4643 |
01:56:04 | FromDiscord | <Elegantbeef> `sortByIt` or `sort` in `algorithm` |
01:58:47 | * | rwb quit (Ping timeout: 245 seconds) |
01:58:54 | * | fallback quit (Ping timeout: 264 seconds) |
02:03:23 | FromDiscord | <!Patitotective> In reply to @Elegantbeef "I see elcritch got": why is hacker news so ugly |
02:03:36 | FromDiscord | <!Patitotective> i mean the webiste is just no |
02:03:44 | FromDiscord | <!Patitotective> (edit) "webiste" => "website" |
02:09:47 | FromDiscord | <j-james> it's very themeable though |
02:09:50 | FromDiscord | <j-james> https://github.com/j-james/hntheme |
02:10:25 | FromDiscord | <Elegantbeef> The bridge really isnt living well at all |
02:10:40 | FromDiscord | <!Patitotective> that's nice↵yet why would they set the default theme to such an ugly theme |
02:10:48 | FromDiscord | <!Patitotective> In reply to @Elegantbeef "The bridge really isnt": discord goes brrr |
02:10:55 | FromDiscord | <!!sharpcdf!!> In reply to @Elegantbeef "I see elcritch got": WHAT REALLY |
02:10:58 | FromDiscord | <!!sharpcdf!!> HOLY SHIT |
02:11:11 | FromDiscord | <Elegantbeef> More like just fucking use matrix you despot↵(@!Patitotective) |
02:11:16 | FromDiscord | <!!sharpcdf!!> this is the greatest day of my career |
02:11:24 | FromDiscord | <!!sharpcdf!!> (which doesn't exist) |
02:12:27 | FromDiscord | <!Patitotective> In reply to @Elegantbeef "More like just fucking": does matrix create a new browser instance? because discord does↵matrix is not ready for me |
02:12:43 | FromDiscord | <Elegantbeef> "create a new browser instance" |
02:12:46 | FromDiscord | <Elegantbeef> The fuck does that me |
02:12:48 | FromDiscord | <Elegantbeef> mean\ |
02:13:03 | FromDiscord | <Elegantbeef> Matrix is a protocol it doesnt do anything but send messages |
02:13:25 | FromDiscord | <!Patitotective> In reply to @Elegantbeef "Matrix is a protocol": that was the joke |
02:14:11 | FromDiscord | <Elegantbeef> Ah yes joke |
02:14:34 | FromDiscord | <j-james> In reply to @Patitotective "does matrix create a": no don't worry element's got you covered |
02:14:38 | FromDiscord | <!!sharpcdf!!> lmao |
02:14:41 | FromDiscord | <!Patitotective> im sleepy |
02:15:20 | FromDiscord | <!Patitotective> In reply to @j-james "no don't worry element's": i never figured out how to login from github from the desktop app :[ |
02:17:39 | FromDiscord | <!Patitotective> In reply to @Elegantbeef "Ah yes joke": im still learning how to make jokes in english |
02:21:42 | FromDiscord | <!!sharpcdf!!> lmfao |
02:23:51 | FromDiscord | <!!sharpcdf!!> In reply to @Elegantbeef "I see elcritch got": how does hacker news sort posts 😅 |
02:24:02 | FromDiscord | <!!sharpcdf!!> I thought it was votes but I guess not |
02:24:36 | FromDiscord | <Elegantbeef> It uses natural activity afaik |
02:25:37 | FromDiscord | <!!sharpcdf!!> oh sweet |
02:25:50 | FromDiscord | <!!sharpcdf!!> I'm still surprised haha |
02:31:49 | * | arkurious quit (Quit: Leaving) |
02:37:10 | FromDiscord | <!!sharpcdf!!> Is there any bubbletea-like framework for nim |
02:37:26 | FromDiscord | <!!sharpcdf!!> Looks like nimble uses something like thay |
02:37:32 | FromDiscord | <!!sharpcdf!!> (edit) "thay" => "that" |
02:37:53 | * | rwb joined #nim |
02:38:56 | * | fallback joined #nim |
02:39:45 | FromDiscord | <#!/rip/luke> In reply to @flywind "https://github.com/nim-lang/Nim/blob/devel/lib/syst": 🤨 |
02:41:55 | FromDiscord | <!!sharpcdf!!> 🤨 |
02:42:31 | FromDiscord | <!!sharpcdf!!> I'm gonna need to find a tutorial for that |
02:42:52 | FromDiscord | <!!sharpcdf!!> I would prefer something pure Nim though |
02:43:20 | FromDiscord | <!Patitotective> what is bubbletea? |
02:43:42 | FromDiscord | <!!sharpcdf!!> In reply to @Patitotective "what is bubbletea?": A tui framework for golang |
02:43:47 | FromDiscord | <!!sharpcdf!!> It's super powerful |
02:44:25 | FromDiscord | <!!sharpcdf!!> https://github.com/charmbracelet/bubbletea |
02:45:58 | FromDiscord | <Elegantbeef> There's illwill and nimwave |
02:46:12 | FromDiscord | <!!sharpcdf!!> oh true |
02:46:50 | FromDiscord | <!Patitotective> https://nimble.directory/search?query=tui |
02:47:02 | FromDiscord | <!!sharpcdf!!> can nimwave do that sort of thing? I thought it just puts tui into a self contained app instead of the console |
02:47:16 | FromDiscord | <Elegantbeef> It still lets you have proper TUI |
02:47:34 | FromDiscord | <Elegantbeef> It just also allows you to make web/ gpu rendered TUI |
03:06:34 | FromDiscord | <voidwalker> ok, I want to move on to new things... how to build an API. Recommended libs ? Google returned this https://github.com/status-im/nim-presto but it has 0 documentation |
03:09:23 | FromDiscord | <!Patitotective> you can take a look at the tests https://github.com/status-im/nim-presto/blob/master/tests/testserver.nim |
03:10:14 | FromDiscord | <!Patitotective> this one seems to have less documentation lol https://github.com/paul-nameless/nimbler |
03:10:48 | FromDiscord | <voidwalker> Sigh, should have learned GO : P |
03:11:54 | FromDiscord | <!Patitotective> you can also try running `nim doc --project presto.nim` to see if there are comments |
03:13:24 | FromDiscord | <!Patitotective> https://github.com/status-im/nim-presto/blob/master/tests/testclient.nim |
03:17:49 | FromDiscord | <!!sharpcdf!!> In reply to @voidwalker "Sigh, should have learned": That's probably a better option for this sort of thing |
03:18:02 | FromDiscord | <!!sharpcdf!!> Nim probably has decent API building support |
03:18:19 | FromDiscord | <!!sharpcdf!!> But go is more built around and for stuff like that |
03:18:22 | FromDiscord | <!!sharpcdf!!> Web services |
03:19:07 | FromDiscord | <!!sharpcdf!!> not sure though |
03:40:37 | FromDiscord | <voidwalker> Should this functionality not be part of a web framework, like prologue ? |
03:41:58 | * | pch joined #nim |
03:43:32 | FromDiscord | <!!sharpcdf!!> Probably, you can check |
03:43:43 | FromDiscord | <!!sharpcdf!!> I haven't used any Nim web frameworks though |
03:44:27 | FromDiscord | <Prestige> Prologue is nice: https://github.com/planety/Prologue |
03:45:09 | FromDiscord | <!!sharpcdf!!> It says that it's for making web services in the description 🤦♂️ |
03:45:32 | FromDiscord | <!!sharpcdf!!> In reply to @voidwalker "Should this functionality not": Yes it should be included |
03:45:43 | FromDiscord | <!!sharpcdf!!> What type of API are you planning on making |
03:45:50 | FromDiscord | <voidwalker> I'd rather learn that than use random bits and pieces |
03:46:41 | * | raynei joined #nim |
03:46:52 | FromDiscord | <voidwalker> A REST api I guess ? |
03:47:59 | FromDiscord | <!!sharpcdf!!> That shouldn't be too difficult to make |
03:48:34 | * | raynei quit (Quit: zzz) |
03:49:27 | FromDiscord | <!!sharpcdf!!> I don't have much experience but afaik for the basics you just check when a page has a get request and then return json |
03:49:40 | FromDiscord | <!!sharpcdf!!> Pretty sure I did something like that a while ago |
03:49:45 | FromDiscord | <!!sharpcdf!!> But sadly in go :/ |
03:50:02 | FromDiscord | <Prestige> There are docs on the prologue github, examples etc |
03:59:49 | FromDiscord | <#!/rip/luke> Hmm can I make a systray in nim? |
04:05:37 | FromDiscord | <Elegantbeef> Can you make a systray in C? |
04:12:26 | FromDiscord | <#!/rip/luke> Yes |
04:12:38 | FromDiscord | <#!/rip/luke> But idk how to in nim... |
04:13:21 | FromDiscord | <Elegantbeef> The exact same way as in C |
04:18:45 | FromDiscord | <#!/rip/luke> Ok |
04:19:17 | FromDiscord | <#!/rip/luke> I'm probably gonna have to use something like futhark to wrap libappindicator |
04:23:38 | FromDiscord | <Prestige> In reply to @ripluke "Hmm can I make": Yes |
04:23:43 | FromDiscord | <Prestige> I made one in Nimdow |
04:23:58 | FromDiscord | <#!/rip/luke> Did u use a library? |
04:23:59 | FromDiscord | <Prestige> Maybe check out dwm's systray patch |
04:24:03 | FromDiscord | <Prestige> uh just xlib |
04:24:07 | FromDiscord | <#!/rip/luke> Ok |
04:25:31 | FromDiscord | <!!sharpcdf!!> Do nimble packages automatically update when there's a commit in the repo |
04:25:47 | FromDiscord | <!!sharpcdf!!> Or do I need to manually publish/update the nimble package |
04:27:05 | FromDiscord | <Elegantbeef> It "auto updates" |
04:27:26 | FromDiscord | <Elegantbeef> It's decentralised so all it does is fetch the repo and check the version when you install |
04:28:04 | FromDiscord | <!!sharpcdf!!> Oh ok |
04:28:21 | FromDiscord | <!!sharpcdf!!> good to know 😄 |
04:35:20 | FromDiscord | <Prestige> I could easily write my own but, is there a std lib proc that will average numbers in an array? |
04:36:09 | FromDiscord | <that_dude> Isn't there a math lib? |
04:36:27 | FromDiscord | <Prestige> There is, didn't see anything in there though |
04:36:50 | FromDiscord | <that_dude> check the stats lib |
04:37:00 | FromDiscord | <that_dude> https://nim-lang.org/docs/stats.html#mean%2CopenArray%5BT%5D this right? |
04:37:23 | FromDiscord | <Prestige> That'll work, thanks. Didn't know we had a stats lib |
04:37:50 | FromDiscord | <that_dude> I assume its to be a bit more similar to the way python has a stats lib too |
04:38:48 | FromDiscord | <#!/rip/luke> In reply to @sharpcdf "Or do I need": You have to increment the version in the nimble file |
04:39:17 | FromDiscord | <#!/rip/luke> Or you can install #head |
04:42:58 | FromDiscord | <Phil> How do I cut off the last character of a string again? It was setting the length, I can't find a strutils proc for that though |
04:44:25 | FromDiscord | <Prestige> I believe you can do a range, `foo[0..foo^2]` |
04:44:49 | FromDiscord | <Phil> Wouldn't that copy? |
04:45:03 | FromDiscord | <Phil> can't you do something like setLen() does that exist?... wait let me try |
04:45:10 | FromDiscord | <Prestige> Yeah, if you want to do it in-place just `foo.setLen(foo.len - 1)` |
04:45:27 | FromDiscord | <Phil> I return victiorious, setLen is in fact a proc that exists |
04:56:47 | NimEventer | New Nimble package! vimeo - Vimeo extractor, see https://github.com/thisago/vimeo |
05:05:24 | FromDiscord | <Elegantbeef> Jeez not saying `foo.setLen(foo.high)`↵(@Prestige) |
05:09:09 | FromDiscord | <Rika> it doesnt make sense in that case |
05:09:21 | FromDiscord | <Rika> "what does it mean to set the length into the high index" |
05:10:12 | FromDiscord | <Elegantbeef> Keyboard switches have a limited life time save them taps! |
05:12:17 | FromDiscord | <Rika> damn one extra keypress on the whole keyboard |
05:12:33 | FromDiscord | <Rika> not considering the fact that "high" presses one of same key twice |
05:12:35 | FromDiscord | <Rika> (edit) "not considering the fact that "high" presses one of ... same" added "the" |
05:12:45 | FromDiscord | <Elegantbeef> Shit you right |
05:13:15 | FromDiscord | <Rika> also wow so expensive to swap a keyboard switch that likely costs cents a switch |
05:13:48 | FromDiscord | <Rika> unless you're me and you use "boutique"/"exotic" switches + spring swap + lube |
05:14:04 | FromDiscord | <Elegantbeef> Look at this keyboard enthusiast |
05:14:09 | FromDiscord | <Rika> then omg it costs maybe two bucks a switch 😱 |
05:14:26 | FromDiscord | <Rika> so much money for something that lasts for maybe a few years |
05:14:28 | FromDiscord | <Prestige> I think `foo.setLen(foo.len - 1)` is like one brain cpu cycle less to process |
05:14:44 | FromDiscord | <Elegantbeef> Fine let's do `discard foo.pop` |
05:14:44 | FromDiscord | <Rika> didnt know your brain uses an external clock |
05:15:01 | FromDiscord | <Rika> sorry, not external, just a clock |
05:16:29 | FromDiscord | <Phil> In reply to @Avahe "I think `foo.setLen(foo.len -": It also has the nice side-effect of making slightly more sense with the usecase I intended:↵Write myself a general proc that removes the last n characters. |
05:26:49 | NimEventer | New Nimble package! kiwifyDownload - Downloads the kiwify videos from course JSON, see https://github.com/thisago/kiwifyDownload |
05:28:18 | FromDiscord | <Prestige> fg |
05:32:40 | FromDiscord | <Phil> Not knowing what kiwify is, how is that a nimble package to download media material from one specific website? |
05:35:06 | FromDiscord | <Phil> After some googling I guess that kiwify is pretty sizeable learning plattform in... brazil from what I'm getting (?) |
05:59:43 | * | rockcavera quit (Remote host closed the connection) |
07:15:36 | FromDiscord | <t8m8> <@&371760044473319454> Sorry for the repeated mentions. I have just created a new account and have not received a confirmation email, can you please activate my account? https://forum.nim-lang.org/profile/teightm |
07:36:51 | FromDiscord | <PMunch> @t8m8, I activated your account, but it doesn't seem like the email got stored. Please add an email address to your account |
07:50:08 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#ix=464G |
07:50:39 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#ix=464H |
07:51:16 | FromDiscord | <Phil> Note that this error contains:↵> Tip: 49 messages have been suppressed, use --verbose to show them.↵So the "--verbose" appear to get stripped somehow.↵And only those, since "--define:verbose" somehow gets through as is visible in the second to last line |
07:52:09 | FromDiscord | <Phil> Looking at nimbles github page, there is no mention of even the word "verbose", so I don't think behaviour regarding that is documented there |
07:54:09 | FromDiscord | <Phil> I get the same issues when compiling without musl-gcc and when using only one "--verbose" flag, so I don't think either of those are the issue |
08:00:39 | FromDiscord | <Elegantbeef> Phil the verbose is for nimble not nim |
08:00:42 | FromDiscord | <t8m8> In reply to @PMunch "<@572695463934033920>, I activated your": Thank you very much. The settings page shows that an email address has been set up (in fact, an email address was required when the account was created). It is possible that the email address is not set up correctly in the DB, which may be the cause of the problem with the email not being delivered. https://media.discordapp.net/attachments/371759389889003532/1002848194402721792 |
08:01:40 | FromDiscord | <PMunch> Aah, now I see it |
08:02:13 | FromDiscord | <Phil> In reply to @Elegantbeef "Phil the verbose is": Ohhh so nimble --verbose alpine_debug for the above? |
08:02:26 | FromDiscord | <Elegantbeef> Yes |
08:11:21 | * | LuxuryMode quit (Quit: Connection closed for inactivity) |
08:53:20 | FromDiscord | <#!/rip/luke> Is it possible to use discord js with nims js backend |
08:54:47 | FromDiscord | <Elegantbeef> Probably but no clue why you'd want to |
08:56:43 | FromDiscord | <Rika> Sure |
09:22:42 | FromDiscord | <#!/rip/luke> In reply to @Elegantbeef "Probably but no clue": Yea neither am i |
09:22:50 | FromDiscord | <#!/rip/luke> I'm not going to |
09:48:50 | FromDiscord | <#!/rip/luke> Does Nim plan on ever having a rust backend? |
09:52:55 | FromDiscord | <Rika> Not that I know of |
09:53:03 | FromDiscord | <Rika> I don’t think it will either way |
09:53:16 | FromDiscord | <Rika> More likely an LLVM backend |
09:58:37 | FromDiscord | <#!/rip/luke> Oh |
10:00:13 | FromDiscord | <exelotl> I'd like to see a qbe backend |
10:00:25 | FromDiscord | <Rika> I believe Araq would be against a rust backend as it’s not really able to be a backend or something to that tone |
10:22:27 | FromDiscord | <eyecon> In reply to @Patitotective "i mean the website": https://hckrnews.com/ is a bit better |
10:23:15 | FromDiscord | <eyecon> There's also https://vue-hn.herokuapp.com/top |
10:41:52 | FromDiscord | <dom96> the website is beautiful simplicity |
10:42:32 | FromDiscord | <dom96> In reply to @eyecon "https://hckrnews.com/ is a bit": lol https://media.discordapp.net/attachments/371759389889003532/1002888918842212372/unknown.png |
10:46:24 | FromDiscord | <Zodey> In reply to @Rika "More likely an LLVM": you can already use clang as C compiler |
10:46:31 | FromDiscord | <Zodey> (edit) "In reply to @Rika "More likely an LLVM": you can already use clang as C compiler ... " added "(i think)" |
10:47:41 | FromDiscord | <dom96> of course you can, but that's not the same as a LLVM backend |
10:55:26 | FromDiscord | <Nimion #ඞ> how do I delete a character in a string at nth place? |
10:58:28 | FromDiscord | <krisppurg> What are CaseTransitions? And how do you avoid them? |
10:59:40 | FromDiscord | <domosokrat> @Nimion #ඞ\: https://nim-lang.org/docs/strutils.html#delete%2Cstring%2CSlice%5Bint%5D |
11:02:13 | FromDiscord | <Nimion #ඞ> In reply to @domosokrat "<@147447489316913152>\: https://nim-lang.org/docs/s": ty |
11:16:48 | FromDiscord | <krisppurg> sent a code paste, see https://play.nim-lang.org/#ix=4665 |
11:27:14 | FromDiscord | <aMOPel> sent a code paste, see https://play.nim-lang.org/#ix=4666 |
11:29:47 | FromDiscord | <carlosri> In reply to @Elegantbeef "`sortByIt` or `sort` in": can you give an example with my data? |
11:52:22 | FromDiscord | <Rika> In reply to @krisppurg "I've also tried to": Case transition means you’re changing some case discriminator in some object variant instead of making a new object |
11:55:57 | FromDiscord | <PyryTheBurger> what does [T] mean in front of a proc? and also what does typedesc mean? |
11:56:52 | FromDiscord | <Rika> Generic proc |
11:57:01 | FromDiscord | <PyryTheBurger> what is a generic proc |
11:57:04 | FromDiscord | <Rika> The value of the parameter is a type descriptor |
11:57:10 | FromDiscord | <Rika> Please read the tutorial or the manual |
12:10:53 | FromDiscord | <aMOPel> In reply to @aMOPel "You happen to know": @Rika you know that? |
12:11:23 | FromDiscord | <Rika> Not really |
12:17:29 | FromDiscord | <hotdog> In reply to @aMOPel "You happen to know": Might be best to ask in #internals |
12:36:11 | * | jmdaemon quit (Ping timeout: 244 seconds) |
13:29:26 | * | evilkhaoskat joined #nim |
13:50:40 | * | evilkhaoskat quit () |
13:57:09 | FromDiscord | <PyryTheBurger> how do i make like a directory? like @["a": 1, "b": 2] |
14:00:21 | FromDiscord | <domosokrat> `import std/tables; var dict = {"a": 1, "b": 2}.toTable` |
14:03:42 | FromDiscord | <PyryTheBurger> invalid type table in a contgext?? |
14:09:15 | FromDiscord | <domosokrat> huh? |
14:11:13 | FromDiscord | <!!sharpcdf!!> In reply to @PMunch "<@572695463934033920>, I activated your": I got this error when I tried signing up too, can you help me out? |
14:11:34 | FromDiscord | <lantos> this is so weird when I stop through this debug with LLDB the value is there but when I echo it out it is completely different |
14:11:55 | FromDiscord | <lantos> (edit) "this is" => "something" |
14:12:10 | FromDiscord | <PMunch> In reply to @sharpcdf "I got this error": Sure, what's your account? |
14:12:34 | FromDiscord | <PMunch> By the way, you should tag [at]moderator instead of me personally |
14:25:23 | FromDiscord | <!!sharpcdf!!> In reply to @PMunch "Sure, what's your account?": csharpdf |
14:25:36 | FromDiscord | <!!sharpcdf!!> In reply to @PMunch "By the way, you": Oh sorry about that 😅 |
14:26:43 | FromDiscord | <!!sharpcdf!!> I didn't get my email so I deleted and made a new account but I had to use a new name or else it errored |
14:27:36 | FromDiscord | <PMunch> Yeah, the whole system is a bit wonky.. |
14:27:50 | FromDiscord | <PMunch> But your account should be enabled now |
14:28:01 | FromDiscord | <!!sharpcdf!!> Thanks, let me check |
14:28:23 | FromDiscord | <!!sharpcdf!!> Yep! Thanks a lot 😄 |
14:34:32 | * | arkurious joined #nim |
14:40:26 | FromDiscord | <MagPhi> How does nim compare to V or zig |
14:43:13 | FromDiscord | <Rika> they are very different languages |
14:43:56 | FromDiscord | <Prestige> Totally unbiased opinion: Nim is better |
14:43:58 | FromDiscord | <!!sharpcdf!!> In reply to @MagPhi "How does nim compare": V is... Not very likable and zig has a different goal and principles than nim |
14:44:30 | FromDiscord | <!!sharpcdf!!> Nim is more stable than both languages though and has a bigger community presence |
14:48:29 | FromDiscord | <MagPhi> Why is V not very likable? |
14:49:35 | FromDiscord | <aph> In reply to @MagPhi "Why is V not": i guess it's because there's some fake promises |
14:49:59 | FromDiscord | <aph> and "functions has no side effects besides i/o" |
14:50:06 | FromDiscord | <MagPhi> Lol |
14:50:21 | FromDiscord | <MagPhi> In reply to @aph "i guess it's because": which fake promises except this one? |
14:50:45 | FromDiscord | <aph> In reply to @MagPhi "which fake promises except": hang on, V review 2022 might have more |
14:50:51 | FromDiscord | <aph> i don't know if V changed much since then |
14:51:11 | FromDiscord | <aph> https://mawfig.github.io/2022/06/18/v-lang-in-2022.html |
14:51:51 | FromDiscord | <Rika> In reply to @sharpcdf "Nim is more stable": i dont believe nim is more stable than zif |
14:51:52 | FromDiscord | <Rika> (edit) "zif" => "zig" |
14:52:47 | FromDiscord | <lantos> doesn't feel like it |
14:54:51 | FromDiscord | <lantos> I've been trying to write some small ish package but I keep getting small things in the way and then finding out real bigger reason why it is that way. Like the async package and threading. ↵↵I was trying to do someting with threading and then messaged here and someone helped me with it but the thing was along the lines of don't use threadpools they are not used/depreciated but they are in the stdlib |
14:55:30 | FromDiscord | <lantos> (edit) "I've been trying to write some small ish package but I keep getting small things in the way and then finding out real bigger reason why it is that way. Like the async package and threading. ↵↵I was trying to do someting with threading and then messaged here and someone helped me with it but the thing was along the lines of don't use threadpools they are not used/depreciated but they are in the stdlib" => "sent a long message, |
14:56:46 | FromDiscord | <lantos> (edit) "http://ix.io/466P" => "http://ix.io/466S" |
14:57:41 | FromDiscord | <lantos> IDK i actually would love to see some sort of session where people give feed back and give their encounters with using nim in production. ↵↵Don't think there are too many people using nim in prod right? |
15:13:34 | FromDiscord | <federico3> @lantos\: maybe the Nim 2.0 thread forum? |
15:15:00 | FromDiscord | <federico3> @lantos\: and yes, perhaps async/multithreading and the ecosystem size are the 2 biggest weak points of Nim at the moment. Luckily, a lot of software does not need async nor multithreading |
15:20:52 | FromDiscord | <lantos> sent a long message, see http://ix.io/467g |
15:24:58 | FromDiscord | <!Patitotective> In reply to @eyecon "https://hckrnews.com/ is a bit": sexy |
15:25:06 | FromDiscord | <lantos> sent a long message, see https://paste.rs/Xdx |
15:26:05 | FromDiscord | <Prestige> I haven't had any issues with async or threads, what problems have you ran into? |
15:28:11 | FromDiscord | <!!sharpcdf!!> In reply to @Rika "i dont believe nim": really? |
15:28:27 | FromDiscord | <!!sharpcdf!!> thats surprising |
15:28:30 | FromDiscord | <!!sharpcdf!!> very surprising |
15:28:43 | FromDiscord | <!!sharpcdf!!> hasnt nim been around for longer? |
15:35:52 | FromDiscord | <!!sharpcdf!!> sent a code paste, see https://play.nim-lang.org/#ix=467i |
15:35:53 | FromDiscord | <!!sharpcdf!!> /10 |
15:36:46 | FromDiscord | <lantos> sent a long message, see http://ix.io/467j |
15:37:08 | FromDiscord | <lantos> (edit) "http://ix.io/467j" => "http://ix.io/467l" |
15:37:22 | FromDiscord | <!!sharpcdf!!> i havent had any problems with httpclient streams |
15:38:16 | FromDiscord | <lantos> are you using httpclient synchronously or asynchronously? |
15:39:29 | FromDiscord | <!!sharpcdf!!> sync |
15:41:26 | FromDiscord | <lantos> could you please send an example, and also were you waiting for the stream to finish? |
15:53:04 | FromDiscord | <Takemichi Hanagaki> Hi, guys!↵Is Nim good for embeds? |
15:56:59 | FromDiscord | <Rika> embeds? do you mean embedded projects like arduino? |
16:11:11 | FromDiscord | <Professor Actual Factual> Hey everyone, I thought I'd share an experimental library I've been working on. 🙂↵https://github.com/ayman-albaz/etters |
16:11:39 | FromDiscord | <Professor Actual Factual> (edit) "🙂↵https://github.com/ayman-albaz/etters" => "🙂↵`Etters, a pragmatic Nim library combining move semantics and object oriented encapsulation.`↵↵https://github.com/ayman-albaz/etters" |
16:25:56 | FromDiscord | <Takemichi Hanagaki> In reply to @Rika "embeds? do you mean": Yes! |
16:26:29 | FromDiscord | <Takemichi Hanagaki> Bare-metal... |
16:30:47 | FromDiscord | <!Patitotective> In reply to @Professor Actual Factual "Hey everyone, I thought": looks interesting↵i havent needed that yet but ill save it |
16:31:36 | FromDiscord | <Rika> In reply to @Takemichi Hanagaki "Yes!": nim is good for that, yes |
17:08:25 | FromDiscord | <#!/rip/luke> It can do anything c/cpp can |
17:13:15 | FromDiscord | <Phil> Is there a way for me to see how many bytes the value of a specific variable takes up? |
17:13:32 | FromDiscord | <Phil> I'm trying to understand how a sequence of 30 bytes turns into a base64 encoded string of 40 characters |
17:14:50 | FromDiscord | <hotdog> In reply to @Isofruit "Is there a way": https://nim-lang.org/docs/system.html#sizeof%2Ctypedesc |
17:16:37 | FromDiscord | <Phil> I understand even less now |
17:16:39 | FromDiscord | <hotdog> In reply to @Isofruit "I'm trying to understand": This is expected, no? |
17:16:43 | FromDiscord | <Rika> base64 has a size rate of 4:3 |
17:17:02 | FromDiscord | <Rika> it takes 4 bytes of b64 to store 3 bytes of raw |
17:18:11 | FromDiscord | <Phil> In reply to @hotdog "This is expected, no?": Assume I have no idea of anything about base64 other than that it's an often used convenient standard for encoding byte-arrays into strings |
17:18:31 | FromDiscord | <Phil> Alright, but I have arrived at a new question now |
17:18:39 | FromDiscord | <Rika> you can store 6 bits in a single b64 "character", which is 8 bits |
17:18:56 | FromDiscord | <Rika> so you need 32 bits of b64 to store 24 bits of raw data |
17:19:33 | FromDiscord | <Phil> In reply to @Rika "you can store 6": That one I can understand |
17:19:44 | FromDiscord | <Phil> However, I have arrived at a new mystery on the way of staring at the old one |
17:20:21 | FromDiscord | <Phil> sent a code paste, see https://paste.rs/8RV |
17:21:42 | FromDiscord | <Phil> In reply to @Rika "so you need 32": I think I understand a bit |
17:22:07 | FromDiscord | <Rika> sizeof seq is int + int + ptr size |
17:22:08 | FromDiscord | <Phil> Not the current byte sizes I'm seeing, but the base64 size ratio |
17:22:13 | FromDiscord | <Rika> i think |
17:22:21 | FromDiscord | <Rika> so 4+4+8 |
17:22:23 | FromDiscord | <Rika> ?? |
17:22:33 | FromDiscord | <Rika> i dont know why its 16 because i thought it would be 8+8+8 |
17:22:50 | FromDiscord | <Phil> Ohhh right, seq is heap |
17:22:50 | FromDiscord | <Rika> but the size of a seq is constant because heap etc |
17:23:04 | FromDiscord | <Phil> So that's only the size of the memory this thing has in stack |
17:23:08 | FromDiscord | <Phil> Which is just the pointer? |
17:23:13 | FromDiscord | <Rika> no |
17:23:16 | FromDiscord | <Rika> pointer + other stuff |
17:23:19 | FromDiscord | <hotdog> http://zevv.nl/nim-memory/#_strings_and_seqs |
17:23:21 | FromDiscord | <Rika> seq is not just pointer |
17:23:42 | FromDiscord | <Rika> oh |
17:23:44 | FromDiscord | <Rika> i remember now |
17:23:49 | FromDiscord | <Rika> it might be because youre using arc |
17:23:55 | FromDiscord | <hotdog> sent a code paste, see https://play.nim-lang.org/#ix=468D |
17:24:01 | FromDiscord | <Phil> I am! Well, orc |
17:24:04 | FromDiscord | <Rika> if you use arc then capacity is stored in the pointer struct |
17:24:17 | FromDiscord | <Phil> But same difference I assumne |
17:24:18 | FromDiscord | <Rika> so its just int (len) + ptr (heap obj) |
17:24:26 | FromDiscord | <Rika> (edit) "so its just ... int" added "size of " |
17:25:37 | FromDiscord | <Phil> How would I figure out how large this thing is in heap? |
17:25:47 | FromDiscord | <Phil> Wait, that's likely in hotdogs article |
17:25:48 | FromDiscord | <Phil> brb reading |
17:25:54 | FromDiscord | <Rika> lensizeof(theseq[0) |
17:25:56 | FromDiscord | <Rika> (edit) "lensizeof(theseq[0)" => "lensizeof(theseq[0])" |
17:26:00 | FromDiscord | <Rika> (edit) "lensizeof(theseq[0])" => "theseq.lensizeof(theseq[0])" |
17:27:00 | FromDiscord | <dom96> In reply to @lantos "of the top of": yep, these are all real problems. Who's going to solve them? |
17:27:17 | FromDiscord | <Phil> Would... that still work for e.g. a seq of dictionaries... wait yes it would that would also just be a seq of pointers which have equal amount of sizes. If I wanted to figure the entire amount of memory needed of that thing.... oh god |
17:28:18 | FromDiscord | <Phil> Do memory analysis programs have algorithms that just follow pointers all over the memory to tell you how large specific objects are in total? |
17:28:43 | FromDiscord | <Phil> These are about the only kinds of programs I could think of that would care about how large something is in memory |
17:28:59 | * | xet7 quit (Ping timeout: 252 seconds) |
17:31:29 | FromDiscord | <Rika> In reply to @Isofruit "Do memory analysis programs": prolly |
17:32:00 | FromDiscord | <Rika> if you ask the GC system itself, it of course tracks it itself already so its trivial for those systems |
17:36:01 | FromDiscord | <flywind> (64 bits system) In ARC/ORC, seqs/string are pointer + len(int) and the size of it is 8. In refc, seqs/strings are simply a pointer of which the size is 8. |
17:36:14 | FromDiscord | <flywind> (edit) "(64 bits system) In ARC/ORC, seqs/string are ... pointer16." added "a" | "8." => "16." |
17:36:15 | FromDiscord | <lantos> In reply to @dom96 "yep, these are all": exactly, also not helpful for stability and again probably goes back to what I was mentioning. |
17:50:00 | FromDiscord | <dom96> sent a long message, see http://ix.io/468H |
17:53:30 | FromDiscord | <Takemichi Hanagaki> In reply to @Rika "nim is good for": Okay, thx! |
17:56:04 | FromDiscord | <!Patitotective> In reply to @dom96 "Yes, but the reason": So true |
17:56:07 | FromDiscord | <!Patitotective> (edit) "So" => "so" |
18:05:03 | FromDiscord | <Prestige> In reply to @dom96 "Yes, but the reason": Yeah, would be nice to have more people fixing core issues with the language and tooling. Would go a long way |
18:05:42 | FromDiscord | <!Patitotective> In reply to @Avahe "Yeah, would be nice": _Get 100$ for each 5 issues solved_ |
18:06:53 | FromDiscord | <eyecon> In reply to @Patitotective "_Get 100$ for each": Obligatory Dilbert: https://dilbert.com/strip/1995-11-13 |
18:07:41 | FromDiscord | <!Patitotective> In reply to @eyecon "Obligatory Dilbert: https://dilbert.com/strip/1995-": lol |
18:10:54 | FromDiscord | <lantos> In reply to @eyecon "Obligatory Dilbert: https://dilbert.com/strip/1995-": lol |
18:12:27 | FromDiscord | <lantos> In reply to @dom96 "Yes, but the reason": yeah agree with this, ↵I think some positives that we could do is what I mentioned "IDK i actually would love to see some sort of session where people give feed back and give their encounters with using nim in production. "↵Or does this just lead to a spiral of negativity |
18:17:09 | FromDiscord | <flywind> There is also an alternative like cps-nim with better docs.. |
18:18:26 | FromDiscord | <Rika> In reply to @dom96 "Yes, but the reason": not so uncomfortable for some of us, we've accepted these truths for a long time |
18:21:11 | FromDiscord | <!Patitotective> rika knew it form the beggining |
18:21:15 | FromDiscord | <!Patitotective> (edit) "form" => "from" |
18:29:34 | FromDiscord | <flywind> Yeah, everything else is acceptable to me. It would be better if it is safe to pass cyclic refs between threads. I'm going to experiementing background partial tracing (stop the world). So that cps-nim could work with ORC+. |
18:36:13 | * | xet7 joined #nim |
18:38:28 | FromDiscord | <lantos> also there is gitcoin, not sure on its effectiveness though |
18:50:37 | FromDiscord | <eyecon> Is it me or is the Matrix bridge down? Last messages are from 2h ago |
18:51:37 | FromDiscord | <eyecon> 1:16 to be precise |
19:00:10 | FromDiscord | <dom96> In reply to @lantos "yeah agree with this,": Better would be a hackathon where we actually fix stuff imo |
19:01:54 | FromDiscord | <lantos> actually decent shout. I did my first hackathon on chainlink the other month and there were tones of good things coming out of that and people learnt tones. ↵↵I'd help out and put some money to that hackathon to help:) |
19:06:56 | FromDiscord | <domosokrat> I'm not sure who to ping, but the discord bridge seems to be down |
19:08:21 | FromDiscord | <!Patitotective> Pink beef |
19:08:22 | FromDiscord | <!Patitotective> (edit) "Pink" => "Ping" |
19:08:28 | FromDiscord | <!Patitotective> (edit) "Ping beef ... " added "/j" |
19:11:49 | * | CyberTailor quit (Quit: Konversation terminated!) |
19:12:08 | FromDiscord | <phargob> In reply to @dom96 "Better would be a": I'm not sure what a hackathon is, but I used to be part of PyPy sprint development - https://pypyja.readthedocs.io/en/latest/dev_method.html Can highly recommend, some of my fondest memories form 20 years ago. |
19:12:17 | * | xet7 quit (Remote host closed the connection) |
19:20:47 | FromDiscord | <dom96> ooh, that's cool. Thanks for linking |
19:22:37 | FromDiscord | <reversem3> Well that would make sense why I'm getting a reply back , lol either that or I'm to annoying |
19:24:08 | reversem3[m] | Is the discord bridge down ? |
19:24:21 | FromDiscord | <dom96> seems to be working again |
19:24:49 | FromDiscord | <reversem3> from the matrix channel or the irc channel ? |
19:26:12 | * | xet7 joined #nim |
19:26:15 | FromDiscord | <dom96> no idea |
19:28:33 | FromDiscord | <konsumlamm> In reply to @dom96 "Yes, but the reason": while that is true, simply saying "go fix it" isn't really helping imo, it comes off as unfriendly and fixing issues isn't that easy most of the time↵especially for a supposedly stable language, i wouldn't expect that i have to "fix it" before using it |
19:29:06 | FromDiscord | <nixfreak> Working now! |
19:29:25 | FromDiscord | <reversem3> yep working |
19:30:24 | reversem3[m] | irc,matrix and discord are working |
19:33:00 | FromDiscord | <dom96> In reply to @konsumlamm "while that is true,": what should I say then? For what it's worth I don't think it's fair to characterise what I wrote above as me saying "go fix it". I do think I covered all possibilities though so I'm curious if I missed something, so please tell me what else I could have offered as an option. |
19:38:52 | FromDiscord | <Prestige> In reply to @dom96 "Better would be a": Hell yeah |
19:39:04 | FromDiscord | <konsumlamm> i'm not characterizing that message as "go fix it", but i'm pretty sure i've seen you multiple times suggest something along those lines |
19:39:32 | FromDiscord | <konsumlamm> there's also the option of waiting until someone else fixes the issue |
19:40:30 | FromDiscord | <konsumlamm> i don't mean that fixing the issue yourself isn't a valid option, i mean that simply saying "fix it yourself" isn't helping much, it would be better to give concrete advice on how to fix the issue |
19:44:51 | FromDiscord | <dom96> sure, I don't disagree with that |
19:46:13 | FromDiscord | <dom96> though it's not easy to give advice if you're not yet certain that the person is interested in fixing the issue |
19:46:15 | FromDiscord | <j-james> In reply to @Takemichi Hanagaki "Hi, guys! Is Nim": yes, but depending on the board you'll have to do (some) work |
19:46:18 | FromDiscord | <j-james> also check out https://github.com/PMunch/ratel |
19:47:21 | FromDiscord | <dom96> If someone tells me explicitly that they want help fixing a particular issue I'd gladly give concrete advice/help |
19:47:44 | FromDiscord | <dom96> and I want to encourage this as best I can |
20:00:26 | * | jmdaemon joined #nim |
20:02:19 | * | xet7 quit (Ping timeout: 272 seconds) |
20:15:30 | * | krux02 joined #nim |
20:58:26 | NimEventer | New thread by Wwderw: Load Assets From Memory, see https://forum.nim-lang.org/t/9333 |
21:39:26 | FromDiscord | <eyecon> I'm sure I'm missing something pretty obvious: I want to create a C binding and produced (with c2nim) a wrapper file. It didn't run, I edited the file somewhat, but managed to get it create a .nim file. The file seems correct (the original file is very simple and I could have written it by hand). It references a .h file. This file is in the same directory as the wrapper script. |
21:39:43 | FromDiscord | <eyecon> So my wrapper .nim file, the header (.h) and the .c file are all in the same directory. |
21:40:19 | FromDiscord | <eyecon> sent a code paste, see https://play.nim-lang.org/#ix=469N |
21:40:28 | FromDiscord | <eyecon> ...when compiling the .nim file which includes the wrapper. |
21:41:01 | FromDiscord | <eyecon> How do I show the correct path to the compiler? I tried `--passC:"-I."` but it doesn't change anything |
21:44:17 | FromDiscord | <eyecon> Interestingly enough, the wrapper script itself compiles without issues (doesn't do anything of course, but still) |
21:44:50 | FromDiscord | <eyecon> sent a code paste, see https://play.nim-lang.org/#ix=469P |
21:45:27 | FromDiscord | <eyecon> sent a code paste, see https://play.nim-lang.org/#ix=469Q |
21:51:58 | FromDiscord | <ElegantBeef> Of course the wrapper will compile it's semantically correct Nim, it isnt being used so the C compiler doesnt get it |
21:52:29 | FromDiscord | <!Patitotective> ~~(matrix's dead)~~ |
21:52:33 | FromDiscord | <!Patitotective> (edit) "~~(matrix's" => "~~(bridge's" |
21:52:36 | FromDiscord | <ElegantBeef> Yep |
21:53:06 | FromDiscord | <ElegantBeef> Are your `.h` files `.` relative to the project root? |
21:53:42 | FromDiscord | <eyecon> No, it's in the src directory, but I'm executing the compile command there, and everything else is there too |
21:54:19 | FromDiscord | <ElegantBeef> Is this on a repo somewhere? |
21:54:42 | FromDiscord | <eyecon> No, but I can create a repo quickly if you'd like to take a look |
21:55:17 | FromDiscord | <ElegantBeef> Get me ~~pictures of spiderman~~ a link |
21:57:02 | FromDiscord | <eyecon> Sent it over Matrix, hope it's OK |
21:57:19 | FromDiscord | <eyecon> I can also host it somewhere if necessary |
21:57:31 | NimEventer | New question by azyx: Conditional type in Nim. How to get half unsigned int type from a int function parameter?, see https://stackoverflow.com/questions/73179297/conditional-type-in-nim-how-to-get-half-unsigned-int-type-from-a-int-function-p |
21:57:33 | FromDiscord | <ElegantBeef> It's fine but 7z really?! |
21:57:55 | FromDiscord | <eyecon> In reply to @ElegantBeef "It's fine but 7z": Why not? |
21:58:10 | FromDiscord | <ElegantBeef> Apparently my archiver tool doesnt support it 😄 |
21:58:20 | FromDiscord | <eyecon> Oh, OK, wait |
21:58:36 | FromDiscord | <ElegantBeef> Even `7z x` doesnt support the method you used 😄 |
21:59:01 | FromDiscord | <!Patitotective> send a tar.xyzw |
21:59:09 | FromDiscord | <eyecon> Ah, sorry, sending a .tar |
21:59:10 | FromDiscord | <ElegantBeef> Oh do you do `{.compile:"shoco.c".}`? |
21:59:26 | FromDiscord | <eyecon> In reply to @ElegantBeef "Oh do you do": Nope? That's what has been missing? |
21:59:43 | FromDiscord | <ElegantBeef> Yes you need to tell Nim "We're compiling this C file with our project" |
21:59:58 | FromDiscord | <ElegantBeef> This means you get it's object file then at linking you dont get an undefined reference |
21:59:59 | FromDiscord | <eyecon> Oh, can I put it into a .cfg or .nims file? |
22:00:07 | FromDiscord | <ElegantBeef> You can put it in your nim code with the above pragma |
22:00:22 | FromDiscord | <ElegantBeef> No clue if you can tell Nim to compile specific C files from cli |
22:00:35 | FromDiscord | <ElegantBeef> Eitherway give it a whirl and if it doesnt work send me the tarball |
22:00:39 | FromDiscord | <eyecon> Oh, thanks, it compiles now |
22:00:53 | FromDiscord | <eyecon> That was quick, tysm |
22:01:31 | FromDiscord | <ElegantBeef> sent a code paste, see https://play.nim-lang.org/#ix=469X |
22:01:40 | FromDiscord | <eyecon> 😄 |
22:01:59 | FromDiscord | <eyecon> I was using an experimental plugin for the 7-Zip file manager |
22:02:20 | FromDiscord | <eyecon> Apparently it's what gets used by default if I click on the context menu item |
22:06:48 | FromDiscord | <eyecon> Nim is so good, I consider myself lucky to have stumbled upon it |
22:07:01 | FromDiscord | <eyecon> I'm too lazy for C |
22:13:55 | FromDiscord | <ElegantBeef> So... carbon does Nim's optimization, interesting https://www.foonathan.net/2022/07/carbon-calling-convention/ |
22:20:09 | FromDiscord | <theangryepicbanana> wonder where they got the idea lol |
22:20:37 | FromDiscord | <Elegantbeef> Is that the sound of the bridge returning?! |
22:20:43 | FromDiscord | <theangryepicbanana> perhaps |
22:20:52 | FromDiscord | <Elegantbeef> Time heals all wounds |
22:21:14 | FromDiscord | <theangryepicbanana> previous discussion was about how Carbon's new cc was inspired by nim |
22:21:19 | FromDiscord | <theangryepicbanana> and by extension, pascal |
22:22:00 | FromDiscord | <Elegantbeef> https://www.foonathan.net/2022/07/carbon-calling-convention/ context for the matrix people 😄 |
22:23:40 | FromDiscord | <Elegantbeef> Now if only carbon copied Nim's field declarations |
22:23:46 | FromDiscord | <Elegantbeef> Why the fuck do you declare a field as `var` 😄 |
22:24:15 | FromDiscord | <eyecon> And semicolons, so many semicolons |
22:24:17 | FromDiscord | <eyecon> And braces |
22:24:25 | FromDiscord | <theangryepicbanana> immutability is the new wave of programming |
22:24:32 | FromDiscord | <theangryepicbanana> immutability by default |
22:24:40 | FromDiscord | <theangryepicbanana> I personally think it's overrated |
22:24:54 | FromDiscord | <Elegantbeef> I think you're overated! |
22:25:04 | FromDiscord | <theangryepicbanana> lol |
22:25:11 | FromDiscord | <theangryepicbanana> semicolons are also ew |
22:25:53 | FromDiscord | <theangryepicbanana> I suppose they exist solely to attract c/c++ programmers, it doesn't seem like carbon's grammar requires them to deal with ambiguity |
22:26:23 | FromDiscord | <huantian> Can you do per field immutability in Nim? Ig you can make {.error.} getters |
22:26:35 | FromDiscord | <theangryepicbanana> not that I'm aware of |
22:26:42 | FromDiscord | <Elegantbeef> Carbon presently doesnt have per field immutability afaik |
22:26:49 | FromDiscord | <theangryepicbanana> it should? |
22:27:11 | FromDiscord | <theangryepicbanana> declaring a field without var makes it immutable and you can't take its address |
22:27:29 | FromDiscord | <theangryepicbanana> it also makes the field embeddable for some reason |
22:27:43 | FromDiscord | <Elegantbeef> Afaict they dont presently have any examples of code without `var` fields 😄 |
22:27:49 | FromDiscord | <theangryepicbanana> I saw one |
22:28:13 | FromDiscord | <theangryepicbanana> the specs aren't that great anyways tho so I don't blame ya |
22:28:50 | FromDiscord | <theangryepicbanana> I personally don't care much for carbon. I can just use nim or pascal for what carbon accomplishes |
22:29:07 | FromDiscord | <Elegantbeef> Well pascal doesnt do the C++ interop but yea |
22:29:19 | FromDiscord | <theangryepicbanana> it has partial from what I understand |
22:29:49 | FromDiscord | <theangryepicbanana> but anyways it seems kinda pointless |
22:30:02 | FromDiscord | <theangryepicbanana> I'll bet google will kill it in 2 years anyways |
22:30:10 | FromDiscord | <Elegantbeef> Yea |
22:30:20 | FromDiscord | <Elegantbeef> I mean also carbons syntax is fucking abysmal |
22:30:26 | FromDiscord | <theangryepicbanana> it's just c |
22:30:27 | FromDiscord | <Elegantbeef> `let Pi:! f32 = 3.141592653589793;` |
22:30:35 | FromDiscord | <theangryepicbanana> they even kept the stupid prefix casting syntax |
22:30:36 | FromDiscord | <Elegantbeef> Not it's not |
22:30:49 | FromDiscord | <Elegantbeef> `:!` is very much not C 😄 |
22:30:53 | FromDiscord | <theangryepicbanana> it's just c++ |
22:30:59 | FromDiscord | <Elegantbeef> `The :! indicates that this is defining a compile-time constant, and so does not affect the storage of instances of that class.` |
22:31:17 | FromDiscord | <theangryepicbanana> I feel like literally any other solution would've looked nicer |
22:31:18 | FromDiscord | <Elegantbeef> Ah so yea `let` does work for class fields |
22:31:25 | FromDiscord | <Elegantbeef> like maybe `const` 😄 |
22:31:56 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=46a3 |
22:31:57 | FromDiscord | <Elegantbeef> You can alias fields.... |
22:32:05 | FromDiscord | <theangryepicbanana> oh yeah that shit is gonna be a nightmare |
22:32:19 | FromDiscord | <theangryepicbanana> apparently nobody learned from ruby's mistakes here |
22:32:31 | FromDiscord | <Elegantbeef> I'm trying to figure out when i've ever wanted to have two names for a single field |
22:32:53 | FromDiscord | <theangryepicbanana> maybe one name instead of another, but never both |
22:33:08 | FromDiscord | <theangryepicbanana> like a getter |
22:33:28 | FromDiscord | <theangryepicbanana> better yet, maybe they should just add regular getters to carbon |
22:33:35 | FromDiscord | <Elegantbeef> I guess there are cases where someone has a shitty field name you want to alias, but having that in the class level doesnt do anything |
22:34:01 | FromDiscord | <theangryepicbanana> do you think this was an intern project or something |
22:34:03 | FromDiscord | <Elegantbeef> So i guess you can add an alias instead of refactoring code, cause that makes sense |
22:34:41 | FromDiscord | <Generic> that seems to pointless |
22:34:58 | FromDiscord | <Generic> especially when Nim can do this with templates just as well... |
22:35:09 | FromDiscord | <Elegantbeef> Given my career experience i cannot insult them 😄 |
22:35:34 | FromDiscord | <theangryepicbanana> given my career experience, I'd say this language is kinda half-assed tbh |
22:35:47 | FromDiscord | <theangryepicbanana> since uh I do langdev |
22:36:30 | FromDiscord | <Elegantbeef> I have seen they intend on supporting compiling multiple different C++ libraries at the same time on import |
22:36:34 | * | xet7 joined #nim |
22:36:38 | FromDiscord | <Elegantbeef> So it's a really wacky thing |
22:38:21 | FromDiscord | <Elegantbeef> My favourite "What the fuck are you doing" is the array and tuple constructor being identical |
22:38:24 | FromDiscord | <Elegantbeef> That one is just.... yes |
22:38:27 | FromDiscord | <huantian> Google should’ve just sponsored Nim! |
22:38:39 | FromDiscord | <theangryepicbanana> In reply to @Elegantbeef "My favourite "What the": yeah that's kinda yikes |
22:38:40 | FromDiscord | <huantian> Actually idk if I would want that |
22:38:44 | FromDiscord | <Elegantbeef> Nah they have NIH syndrome |
22:39:08 | FromDiscord | <theangryepicbanana> for a language meant to fix c++'s context sensitivity, they sure did a bang-up job here |
22:39:27 | FromDiscord | <Elegantbeef> The thing i always find fun iis people that dont know what they're talking about suggesting things |
22:39:37 | FromDiscord | <Elegantbeef> "I dont think we should use `var` for variable declarations".... why? cause> Well, in most modern languages the keyword var has become synonymous with “duck typing” |
22:39:44 | FromDiscord | <theangryepicbanana> yeah |
22:40:01 | FromDiscord | <Elegantbeef> Zig had a similar post about distinct types |
22:40:12 | FromDiscord | <Elegantbeef> "Nim has operator overloading which means it dispatches procedures at runtime" |
22:40:23 | FromDiscord | <huantian> wait isn’t var more for type inference? |
22:40:29 | FromDiscord | <Elegantbeef> Yes |
22:40:38 | FromDiscord | <Elegantbeef> duck typing is unrelated to variable declaration |
22:40:48 | FromDiscord | <Elegantbeef> Duck typing is a variable usage |
22:41:04 | FromDiscord | <konsumlamm> Zig seriously though overloading means runtime dispatch? |
22:41:09 | FromDiscord | <konsumlamm> thought |
22:41:09 | FromDiscord | <theangryepicbanana> lmao |
22:41:10 | FromDiscord | <Elegantbeef> A zig user |
22:41:29 | FromDiscord | <theangryepicbanana> zig people are extremely against operator overloading because "it disguises control flow" |
22:41:38 | FromDiscord | <konsumlamm> ah, you implied there was an official blog post or something |
22:41:42 | FromDiscord | <Elegantbeef> image.png https://media.discordapp.net/attachments/371759389889003532/1003069906478170112/image.png |
22:41:56 | FromDiscord | <Elegantbeef> Ah sorry |
22:42:07 | FromDiscord | <Elegantbeef> Distinct types "work" is the first point |
22:42:18 | FromDiscord | <theangryepicbanana> they do have a point about distinct types being clumsy |
22:42:26 | FromDiscord | <Elegantbeef> They're really not clumsy |
22:42:30 | FromDiscord | <Elegantbeef> They do what they're supposed to |
22:42:34 | FromDiscord | <konsumlamm> if distinct types would just automatically borrow everything, what's the point over a type alias? |
22:42:42 | FromDiscord | <theangryepicbanana> in my language Star I also have distinct types, but all operations are opt-out rather than opt-in |
22:42:59 | FromDiscord | <theangryepicbanana> In reply to @konsumlamm "if distinct types would": method overloading and type safety mostly |
22:43:11 | FromDiscord | <Elegantbeef> That's off imo since the point of distinct is the shape is the same but the capabilities are not |
22:43:15 | FromDiscord | <Elegantbeef> But you do you |
22:43:19 | FromDiscord | <theangryepicbanana> anyways |
22:43:36 | FromDiscord | <Elegantbeef> Konsumlamm i'd personally like to see weak distincts in Nim |
22:44:14 | FromDiscord | <Elegantbeef> Basically allowing you to add type information, but you still can use all of the derived's procedures |
22:44:47 | FromDiscord | <Elegantbeef> For the most part though i find Nim's implementation of distinct lovely |
22:45:17 | FromDiscord | <Elegantbeef> But given on how much i've fixed borrowing i'm probably forced to saying that |
22:48:12 | FromDiscord | <Elegantbeef> A usecase for a weak distinct is https://github.com/nim-lang/RFCs/issues/450 |
22:53:17 | FromDiscord | <Elegantbeef> It's' kinda funny how many blog posts that indirectly describe Nim get posted to hacker news, as there's also this one https://kevinlawler.com/refcount |
23:14:06 | FromDiscord | <eyecon> Does someone have the reference in the manual where it describes to use a same-name .nims file for the configuration? |
23:16:23 | FromDiscord | <eyecon> Ah, I think this is 4. in https://nim-lang.org/docs/nims.html |
23:21:06 | FromDiscord | <eyecon> So I just published my first C wrapper: https://github.com/EyeCon/shoconim |
23:21:15 | FromDiscord | <eyecon> It's not much, but it's something |
23:27:01 | FromDiscord | <Goat> sent a code paste, see https://play.nim-lang.org/#ix=46a8 |
23:27:31 | FromDiscord | <Goat> https://media.discordapp.net/attachments/371759389889003532/1003081437790085211/meta.json |
23:27:55 | FromDiscord | <Goat> https://media.discordapp.net/attachments/371759389889003532/1003081536666603570/Yb8NL_YuCFvm.json |
23:29:11 | * | krux02 quit (Remote host closed the connection) |
23:29:54 | * | krux02 joined #nim |
23:35:33 | * | krux02 quit (Remote host closed the connection) |