00:02:35 | FromDiscord | <Datavenia> How far away from IC is Nim? |
00:02:53 | FromDiscord | <Elegantbeef> Year(s) probablly |
00:03:15 | FromDiscord | <Elegantbeef> Hard to say there is only the Nim2.0 roadmap |
00:03:25 | FromDiscord | <Elegantbeef> And that doesnt even have estimated times |
00:03:40 | FromDiscord | <Datavenia> In reply to @Elegantbeef "Year(s) probablly": Why so long? |
00:03:54 | FromDiscord | <Elegantbeef> Small core dev team |
00:04:20 | FromDiscord | <Datavenia> Fair. Also stupid question: how much work is it to translate valid python to Nim? |
00:06:28 | FromDiscord | <Elegantbeef> There's what 2 full time core developers now? |
00:06:53 | FromDiscord | <Elegantbeef> Just copy paste it and resolve all the issues 😛 |
00:07:24 | FromDiscord | <Elegantbeef> There are some projects that attempt to do it |
00:08:31 | FromDiscord | <Elegantbeef> A big issue is that python is dynamically typed which means it's quite hard to convert code |
00:08:46 | FromDiscord | <Elegantbeef> Same thing with JS |
00:15:36 | FromDiscord | <Superstart033> sent a code paste, see https://play.nim-lang.org/#ix=49PJ |
00:15:38 | FromDiscord | <Superstart033> How this code works? |
00:15:44 | FromDiscord | <Datavenia> In reply to @Elegantbeef "A big issue is": Hrm so mypy? 😛 |
00:15:56 | FromDiscord | <Superstart033> Why are those proc part of the animal object? |
00:16:12 | FromDiscord | <Yardanico> sent a code paste, see https://play.nim-lang.org/#ix=49PK |
00:16:20 | FromDiscord | <Yardanico> https://nim-lang.org/docs/manual.html#procedures-method-call-syntax |
00:16:20 | FromDiscord | <Elegantbeef> https://nim-lang.org/docs/manual.html#procedures-method-call-syntax |
00:16:25 | FromDiscord | <Elegantbeef> Bot win |
00:16:37 | FromDiscord | <Yardanico> in nim `a(b)` is the same as `b.a()` or `a b` |
00:16:53 | FromDiscord | <Superstart033> Oh |
00:24:30 | * | jmdaemon joined #nim |
00:26:34 | FromDiscord | <Superstart033> Thank you, guys! |
00:29:51 | FromDiscord | <Elegantbeef> Beep boop beep |
00:29:57 | FromDiscord | <Elegantbeef> I mean... no problem. |
00:35:44 | FromDiscord | <Patitotective> In reply to @Elegantbeef "Beep boop beep": bots actually say 010101010 |
00:36:01 | FromDiscord | <Elegantbeef> You'd know |
00:44:57 | FromDiscord | <Prestige> Why does a `let` variable not have an address but a `var` does? |
00:45:06 | FromDiscord | <Elegantbeef> it does have an address |
00:45:09 | FromDiscord | <Elegantbeef> it's just `unsafeaddr` |
00:45:22 | FromDiscord | <Prestige> Why is that? |
00:45:26 | FromDiscord | <Elegantbeef> The point is to say "yes i really want to mutate it" but that is no longer the case soon |
00:45:38 | FromDiscord | <Elegantbeef> Cause it's unsafe to take the address of `let` as you may mutate it |
00:45:45 | FromDiscord | <Prestige> ah okay |
00:45:46 | FromDiscord | <Prestige> Thanks |
00:45:58 | FromDiscord | <Elegantbeef> But that's gone in devel |
00:46:07 | FromDiscord | <Elegantbeef> `addr` is fine for both there |
00:46:16 | FromDiscord | <Elegantbeef> Since it's not any more unsafe than `addr` |
00:46:23 | FromDiscord | <Prestige> Sweet ty |
00:53:53 | FromDiscord | <Patitotective> In reply to @Elegantbeef "it's just `unsafeaddr`": `dangerousAddrDoNotUse` |
00:54:32 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=49PP |
00:54:55 | FromDiscord | <Patitotective> lmao |
01:02:53 | FromDiscord | <Superstart033> sent a code paste, see https://play.nim-lang.org/#ix=49PV |
01:03:02 | FromDiscord | <Superstart033> Can someone help me? How do I add to the student seq? |
01:03:32 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=49PW |
01:03:50 | FromDiscord | <Patitotective> i was typing faster but my pc is lagged |
01:04:16 | FromDiscord | <Superstart033> I try it, but is been giving errors https://media.discordapp.net/attachments/371759389889003532/1016876522713399336/unknown.png |
01:04:32 | FromDiscord | <Elegantbeef> `add (name, grade)` |
01:04:40 | FromDiscord | <Superstart033> ? |
01:04:40 | FromDiscord | <Elegantbeef> Otherwise you're not making a tuple |
01:04:48 | FromDiscord | <huantian> also `school: var School` |
01:05:06 | FromDiscord | <Patitotective> better `add((name, grade))` :p (but dont tell beef) |
01:05:11 | FromDiscord | <Elegantbeef> `add(name, grade)` calls `add` passing in name and grade, `add (name, grade)` adds the created tuple |
01:05:12 | FromDiscord | <SaAnd> beef be more clear `add((name, grade))` |
01:05:22 | FromDiscord | <Elegantbeef> It's not even more clear |
01:05:41 | FromDiscord | <Elegantbeef> You need to learn the difference between command syntax and normal syntax |
01:05:42 | FromDiscord | <Superstart033> https://media.discordapp.net/attachments/371759389889003532/1016876882471432242/unknown.png |
01:06:03 | FromDiscord | <huantian> In reply to @huantian "also `school: var School`": change the school param to this |
01:06:06 | FromDiscord | <Elegantbeef> `addStudent` doesnt take `var School` |
01:06:25 | FromDiscord | <demotomohiro> Nim is space sensitive. `f.add (a, b)` and `f.add(a, b)` is different |
01:06:27 | FromDiscord | <Elegantbeef> When you mutate a `object` the parameter needs to be marked `var` to say it's a mutable reference |
01:06:35 | FromDiscord | <Superstart033> I thought that was option? |
01:06:39 | FromDiscord | <Superstart033> (edit) "option?" => "optional?" |
01:06:47 | FromDiscord | <Superstart033> But now I know |
01:06:48 | FromDiscord | <Superstart033> Thanks! |
01:07:10 | FromDiscord | <SaAnd> Yup, by default, objects are immutable |
01:12:06 | FromDiscord | <huantian> I'm suprised beef restrained himself and didn't say tuples are trash or something |
01:12:35 | FromDiscord | <Patitotective> haha |
01:12:53 | FromDiscord | <Elegantbeef> I mean they are |
01:36:53 | * | jmdaemon quit (Ping timeout: 252 seconds) |
01:39:38 | * | arkurious quit (Quit: Leaving) |
02:14:13 | * | jmdaemon joined #nim |
02:34:25 | FromDiscord | <Datavenia> What’s the over/under on Nim/Zig for langdev? |
02:40:23 | FromDiscord | <Elegantbeef> In what regard? |
02:41:31 | FromDiscord | <Datavenia> Mhm just like pros and cons of both in y’all’s opinions |
02:42:36 | FromDiscord | <Elegantbeef> I mean the cons of Zig are quite clear, it's a 'simple' language so things like overloads are not there |
02:44:04 | FromDiscord | <Elegantbeef> Plus you have to manually manage memory |
02:44:33 | FromDiscord | <Patitotective> thats really ufn |
02:44:35 | FromDiscord | <Patitotective> (edit) "ufn" => "fun" |
02:45:52 | FromDiscord | <Patitotective> pros of nim: is better |
02:46:09 | FromDiscord | <Elegantbeef> It's a much more flexible language |
02:52:51 | FromDiscord | <sOkam!> Do you know of any article, or simple example app, that uses nim with manual memory management? |
02:56:48 | FromDiscord | <Elegantbeef> it's pretty much the same as any other language just use Nim's allocators |
03:01:52 | FromDiscord | <Patitotective> 🌃 |
03:07:38 | FromDiscord | <!&luke> In reply to @Patitotective "thats really fun": It's faster than nim tho |
03:07:51 | FromDiscord | <!&luke> Not by much |
03:07:55 | FromDiscord | <!&luke> But still a bit |
03:08:34 | FromDiscord | <Elegantbeef> It's not |
03:08:44 | FromDiscord | <Elegantbeef> I dont get why people speak out their arse |
03:09:48 | FromDiscord | <Elegantbeef> https://benhoyt.com/writings/count-words/ shows it's slower than zig, but if you slightly modify the Nim source to not iterate words twice you get it just as fast |
03:10:22 | FromDiscord | <Elegantbeef> At this level of high level languages you're not down to arbitrary statements, it's about the driver at the wheel |
03:11:51 | * | derpydoo quit (Quit: derpydoo) |
03:36:36 | FromDiscord | <beans> sent a code paste, see https://play.nim-lang.org/#ix=49Qv |
03:36:52 | FromDiscord | <beans> (edit) "https://play.nim-lang.org/#ix=49Qv" => "https://play.nim-lang.org/#ix=49Qw" |
03:37:59 | FromDiscord | <beans> Basically I want to a seq that holds some data and is modified by the main thread, then have several threads that are spawned read from that seq and do some work with the data but never actually write to that original seq |
03:38:22 | FromDiscord | <beans> (edit) "Basically I want to a seq that holds some data and is modified ... by" added "over time" |
03:39:56 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=49Qy |
03:40:01 | FromDiscord | <Elegantbeef> If you're using refc i do not know how to "properly" do this |
03:46:11 | * | jmdaemon quit (Quit: ZNC 1.8.2 - https://znc.in) |
04:23:24 | * | jmdaemon joined #nim |
05:33:36 | qwr | zig is basically better C, and not much anything else - if you love unsafe manual memory management, then it might be nice |
05:35:15 | qwr | even linux kernel is trying to go for safe manual memory management (rust), so i'm unsure what the exact niche for zig is |
06:13:12 | * | vicecea quit (Remote host closed the connection) |
06:13:44 | * | vicecea joined #nim |
06:22:36 | FromDiscord | <beans> sent a code paste, see https://play.nim-lang.org/#ix=49R0 |
06:22:57 | FromDiscord | <Bung> anyone interested help me with this https://github.com/bung87/scorper/blob/sbmh/src/scorper/http/sbmh.nim , it's derived boyer moore search, I've double checked the code but result still slightly different. |
06:23:02 | FromDiscord | <Elegantbeef> `for item in list.mitems` |
06:23:06 | FromDiscord | <beans> (edit) "https://play.nim-lang.org/#ix=49R0" => "https://paste.rs/RVP" |
06:23:24 | FromDiscord | <beans> thanks |
06:23:24 | FromDiscord | <Elegantbeef> `mitems` is the mutable items iterator defined for most collections |
06:47:11 | * | jmdaemon quit (*.net *.split) |
06:47:11 | * | qwr quit (*.net *.split) |
06:47:12 | * | mahlon quit (*.net *.split) |
06:47:12 | * | koltrast quit (*.net *.split) |
06:47:12 | * | lumidify quit (*.net *.split) |
06:47:12 | * | lain quit (*.net *.split) |
06:47:12 | * | rb quit (*.net *.split) |
06:47:12 | * | tinystoat quit (*.net *.split) |
06:47:12 | * | attah quit (*.net *.split) |
06:47:12 | * | _________ quit (*.net *.split) |
06:47:13 | * | blackbeard420 quit (*.net *.split) |
06:47:13 | * | FromDiscord quit (*.net *.split) |
06:47:13 | * | via__ quit (*.net *.split) |
06:47:13 | * | euantorano quit (*.net *.split) |
06:47:13 | * | dv^_^ quit (*.net *.split) |
06:47:13 | * | neceve quit (*.net *.split) |
06:47:14 | * | hexeme_ quit (*.net *.split) |
06:47:14 | * | Onionhammer quit (*.net *.split) |
06:47:14 | * | genpaku quit (*.net *.split) |
06:47:14 | * | cornfeedhobo quit (*.net *.split) |
06:47:14 | * | qwestion quit (*.net *.split) |
06:47:14 | * | NimEventer quit (*.net *.split) |
06:47:14 | * | Amun-Ra quit (*.net *.split) |
06:47:15 | * | syl quit (*.net *.split) |
06:47:15 | * | oddish quit (*.net *.split) |
06:47:15 | * | def- quit (*.net *.split) |
06:47:15 | * | jkl quit (*.net *.split) |
06:47:16 | * | droidrage quit (*.net *.split) |
06:47:16 | * | om3ga quit (*.net *.split) |
06:47:16 | * | LyndsySimon quit (*.net *.split) |
06:47:16 | * | xaltsc quit (*.net *.split) |
06:47:16 | * | ixmpp quit (*.net *.split) |
06:47:17 | * | m5zs7k quit (*.net *.split) |
06:47:17 | * | fallback quit (*.net *.split) |
06:47:17 | * | notchris quit (*.net *.split) |
06:47:17 | * | oprypin quit (*.net *.split) |
06:47:17 | * | drewr quit (*.net *.split) |
06:47:18 | * | disso_peach quit (*.net *.split) |
06:47:18 | * | djanatyn quit (*.net *.split) |
06:47:18 | * | systemdsucks quit (*.net *.split) |
06:47:18 | * | supakeen quit (*.net *.split) |
06:47:18 | * | redj quit (*.net *.split) |
06:47:19 | * | adium quit (*.net *.split) |
06:47:19 | * | sagax quit (*.net *.split) |
06:47:19 | * | nisstyre quit (*.net *.split) |
06:47:19 | * | oz quit (*.net *.split) |
06:47:19 | * | DixieFlatline quit (*.net *.split) |
06:47:19 | * | mal`` quit (*.net *.split) |
06:47:19 | * | gshumway quit (*.net *.split) |
06:47:19 | * | Yardanico quit (*.net *.split) |
06:47:19 | * | madprog quit (*.net *.split) |
06:47:20 | * | rockcavera quit (*.net *.split) |
06:47:20 | * | tk quit (*.net *.split) |
06:47:20 | * | wallabra quit (*.net *.split) |
06:47:20 | * | crem quit (*.net *.split) |
06:47:20 | * | termer quit (*.net *.split) |
06:49:44 | * | vicecea quit (*.net *.split) |
06:49:44 | * | estiquelapice quit (*.net *.split) |
06:49:44 | * | buster_blue[m] quit (*.net *.split) |
06:49:44 | * | alice quit (*.net *.split) |
06:49:44 | * | nullsh quit (*.net *.split) |
06:49:45 | * | madprops quit (*.net *.split) |
06:49:45 | * | Jjp137 quit (*.net *.split) |
06:49:45 | * | oisota quit (*.net *.split) |
06:49:45 | * | deadmarshal quit (*.net *.split) |
06:50:45 | * | nisstyre joined #nim |
06:50:45 | * | oz joined #nim |
06:50:45 | * | DixieFlatline joined #nim |
06:50:45 | * | mal`` joined #nim |
06:50:45 | * | gshumway joined #nim |
06:50:45 | * | Yardanico joined #nim |
06:50:45 | * | madprog joined #nim |
06:50:45 | * | disso_peach joined #nim |
06:50:45 | * | supakeen joined #nim |
06:50:45 | * | djanatyn joined #nim |
06:50:45 | * | systemdsucks joined #nim |
06:50:45 | * | redj joined #nim |
06:50:45 | * | fallback joined #nim |
06:50:45 | * | notchris joined #nim |
06:50:45 | * | oprypin joined #nim |
06:50:45 | * | drewr joined #nim |
06:50:45 | * | droidrage joined #nim |
06:50:45 | * | om3ga joined #nim |
06:50:45 | * | LyndsySimon joined #nim |
06:50:45 | * | xaltsc joined #nim |
06:50:45 | * | ixmpp joined #nim |
06:50:45 | * | def- joined #nim |
06:50:45 | * | jkl joined #nim |
06:50:45 | * | blackbeard420 joined #nim |
06:50:45 | * | FromDiscord joined #nim |
06:50:45 | * | via__ joined #nim |
06:50:45 | * | euantorano joined #nim |
06:50:45 | * | dv^_^ joined #nim |
06:50:45 | * | hexeme_ joined #nim |
06:50:45 | * | Onionhammer joined #nim |
06:50:45 | * | genpaku joined #nim |
06:50:45 | * | cornfeedhobo joined #nim |
06:50:45 | * | qwestion joined #nim |
06:50:45 | * | NimEventer joined #nim |
06:50:45 | * | Amun-Ra joined #nim |
06:50:45 | * | syl joined #nim |
06:50:45 | * | mahlon joined #nim |
06:50:45 | * | koltrast joined #nim |
06:50:45 | * | lumidify joined #nim |
06:50:45 | * | lain joined #nim |
06:50:45 | * | rb joined #nim |
06:50:45 | * | tinystoat joined #nim |
06:50:45 | * | attah joined #nim |
06:50:45 | * | _________ joined #nim |
06:50:45 | * | sagax joined #nim |
06:50:45 | * | termer joined #nim |
06:50:45 | * | adium joined #nim |
06:50:45 | * | oddish joined #nim |
06:50:45 | * | crem joined #nim |
06:50:45 | * | wallabra joined #nim |
06:50:45 | * | m5zs7k joined #nim |
06:50:45 | * | tk joined #nim |
06:50:45 | * | rockcavera joined #nim |
06:50:45 | * | neceve joined #nim |
06:50:45 | * | qwr joined #nim |
06:50:45 | * | jmdaemon joined #nim |
06:50:45 | * | vicecea joined #nim |
06:50:45 | * | estiquelapice joined #nim |
06:50:45 | * | deadmarshal joined #nim |
06:50:45 | * | oisota joined #nim |
06:50:45 | * | Jjp137 joined #nim |
06:50:45 | * | madprops joined #nim |
06:50:45 | * | nullsh joined #nim |
06:50:45 | * | alice joined #nim |
06:50:45 | * | buster_blue[m] joined #nim |
06:50:56 | * | vicecea quit (*.net *.split) |
06:50:56 | * | estiquelapice quit (*.net *.split) |
06:50:57 | * | buster_blue[m] quit (*.net *.split) |
06:50:57 | * | alice quit (*.net *.split) |
06:50:57 | * | nullsh quit (*.net *.split) |
06:50:57 | * | madprops quit (*.net *.split) |
06:50:57 | * | Jjp137 quit (*.net *.split) |
06:50:57 | * | oisota quit (*.net *.split) |
06:50:57 | * | deadmarshal quit (*.net *.split) |
06:50:57 | * | jmdaemon quit (*.net *.split) |
06:50:57 | * | qwr quit (*.net *.split) |
06:50:58 | * | mahlon quit (*.net *.split) |
06:50:58 | * | koltrast quit (*.net *.split) |
06:50:58 | * | lumidify quit (*.net *.split) |
06:50:58 | * | lain quit (*.net *.split) |
06:50:58 | * | rb quit (*.net *.split) |
06:50:58 | * | tinystoat quit (*.net *.split) |
06:50:58 | * | attah quit (*.net *.split) |
06:50:58 | * | _________ quit (*.net *.split) |
06:50:59 | * | blackbeard420 quit (*.net *.split) |
06:50:59 | * | FromDiscord quit (*.net *.split) |
06:50:59 | * | via__ quit (*.net *.split) |
06:50:59 | * | euantorano quit (*.net *.split) |
06:51:00 | * | dv^_^ quit (*.net *.split) |
06:51:00 | * | neceve quit (*.net *.split) |
06:51:00 | * | hexeme_ quit (*.net *.split) |
06:51:00 | * | Onionhammer quit (*.net *.split) |
06:51:00 | * | genpaku quit (*.net *.split) |
06:51:00 | * | cornfeedhobo quit (*.net *.split) |
06:51:00 | * | qwestion quit (*.net *.split) |
06:51:00 | * | NimEventer quit (*.net *.split) |
06:51:00 | * | Amun-Ra quit (*.net *.split) |
06:51:01 | * | syl quit (*.net *.split) |
06:51:01 | * | oddish quit (*.net *.split) |
06:51:01 | * | def- quit (*.net *.split) |
06:51:01 | * | jkl quit (*.net *.split) |
06:51:02 | * | droidrage quit (*.net *.split) |
06:51:02 | * | om3ga quit (*.net *.split) |
06:51:02 | * | LyndsySimon quit (*.net *.split) |
06:51:02 | * | xaltsc quit (*.net *.split) |
06:51:02 | * | ixmpp quit (*.net *.split) |
06:51:02 | * | m5zs7k quit (*.net *.split) |
06:51:03 | * | fallback quit (*.net *.split) |
06:51:03 | * | notchris quit (*.net *.split) |
06:51:03 | * | oprypin quit (*.net *.split) |
06:51:03 | * | drewr quit (*.net *.split) |
06:51:04 | * | disso_peach quit (*.net *.split) |
06:51:04 | * | djanatyn quit (*.net *.split) |
06:51:04 | * | systemdsucks quit (*.net *.split) |
06:51:04 | * | supakeen quit (*.net *.split) |
06:51:04 | * | redj quit (*.net *.split) |
06:51:04 | * | adium quit (*.net *.split) |
06:51:04 | * | sagax quit (*.net *.split) |
06:51:05 | * | nisstyre quit (*.net *.split) |
06:51:05 | * | oz quit (*.net *.split) |
06:51:05 | * | DixieFlatline quit (*.net *.split) |
06:51:05 | * | mal`` quit (*.net *.split) |
06:51:05 | * | gshumway quit (*.net *.split) |
06:51:05 | * | Yardanico quit (*.net *.split) |
06:51:05 | * | madprog quit (*.net *.split) |
06:51:05 | * | rockcavera quit (*.net *.split) |
06:51:05 | * | tk quit (*.net *.split) |
06:51:05 | * | wallabra quit (*.net *.split) |
06:51:06 | * | crem quit (*.net *.split) |
06:51:06 | * | termer quit (*.net *.split) |
06:52:23 | * | reversem3[m] quit (Ping timeout: 255 seconds) |
06:56:44 | * | nisstyre joined #nim |
06:56:44 | * | oz joined #nim |
06:56:44 | * | DixieFlatline joined #nim |
06:56:44 | * | mal`` joined #nim |
06:56:44 | * | gshumway joined #nim |
06:56:44 | * | Yardanico joined #nim |
06:56:44 | * | madprog joined #nim |
06:56:44 | * | disso_peach joined #nim |
06:56:44 | * | supakeen joined #nim |
06:56:44 | * | djanatyn joined #nim |
06:56:44 | * | systemdsucks joined #nim |
06:56:44 | * | redj joined #nim |
06:56:44 | * | fallback joined #nim |
06:56:44 | * | notchris joined #nim |
06:56:44 | * | oprypin joined #nim |
06:56:44 | * | drewr joined #nim |
06:56:44 | * | droidrage joined #nim |
06:56:44 | * | om3ga joined #nim |
06:56:44 | * | LyndsySimon joined #nim |
06:56:44 | * | xaltsc joined #nim |
06:56:44 | * | ixmpp joined #nim |
06:56:44 | * | def- joined #nim |
06:56:44 | * | jkl joined #nim |
06:56:44 | * | blackbeard420 joined #nim |
06:56:44 | * | FromDiscord joined #nim |
06:56:44 | * | via__ joined #nim |
06:56:44 | * | euantorano joined #nim |
06:56:44 | * | dv^_^ joined #nim |
06:56:44 | * | hexeme_ joined #nim |
06:56:44 | * | Onionhammer joined #nim |
06:56:44 | * | genpaku joined #nim |
06:56:44 | * | cornfeedhobo joined #nim |
06:56:44 | * | qwestion joined #nim |
06:56:44 | * | NimEventer joined #nim |
06:56:44 | * | Amun-Ra joined #nim |
06:56:44 | * | syl joined #nim |
06:56:44 | * | mahlon joined #nim |
06:56:44 | * | koltrast joined #nim |
06:56:44 | * | lumidify joined #nim |
06:56:44 | * | lain joined #nim |
06:56:44 | * | rb joined #nim |
06:56:44 | * | tinystoat joined #nim |
06:56:44 | * | attah joined #nim |
06:56:44 | * | _________ joined #nim |
06:56:44 | * | sagax joined #nim |
06:56:44 | * | termer joined #nim |
06:56:44 | * | adium joined #nim |
06:56:44 | * | oddish joined #nim |
06:56:44 | * | crem joined #nim |
06:56:44 | * | wallabra joined #nim |
06:56:44 | * | tk joined #nim |
06:56:44 | * | rockcavera joined #nim |
06:56:44 | * | neceve joined #nim |
06:56:44 | * | qwr joined #nim |
06:56:44 | * | jmdaemon joined #nim |
06:56:44 | * | vicecea joined #nim |
06:56:44 | * | estiquelapice joined #nim |
06:56:44 | * | deadmarshal joined #nim |
06:56:44 | * | oisota joined #nim |
06:56:44 | * | Jjp137 joined #nim |
06:56:44 | * | madprops joined #nim |
06:56:44 | * | nullsh joined #nim |
06:56:44 | * | alice joined #nim |
06:56:50 | * | jmdaemon quit (*.net *.split) |
06:56:50 | * | qwr quit (*.net *.split) |
06:56:50 | * | mahlon quit (*.net *.split) |
06:56:51 | * | koltrast quit (*.net *.split) |
06:56:51 | * | lumidify quit (*.net *.split) |
06:56:51 | * | lain quit (*.net *.split) |
06:56:51 | * | rb quit (*.net *.split) |
06:56:51 | * | tinystoat quit (*.net *.split) |
06:56:51 | * | attah quit (*.net *.split) |
06:56:51 | * | _________ quit (*.net *.split) |
06:56:51 | * | blackbeard420 quit (*.net *.split) |
06:56:51 | * | FromDiscord quit (*.net *.split) |
06:56:52 | * | via__ quit (*.net *.split) |
06:56:52 | * | euantorano quit (*.net *.split) |
06:56:52 | * | dv^_^ quit (*.net *.split) |
06:56:52 | * | neceve quit (*.net *.split) |
06:56:52 | * | hexeme_ quit (*.net *.split) |
06:56:52 | * | Onionhammer quit (*.net *.split) |
06:56:52 | * | genpaku quit (*.net *.split) |
06:56:52 | * | cornfeedhobo quit (*.net *.split) |
06:56:52 | * | qwestion quit (*.net *.split) |
06:56:52 | * | NimEventer quit (*.net *.split) |
06:56:53 | * | Amun-Ra quit (*.net *.split) |
06:56:53 | * | syl quit (*.net *.split) |
06:56:53 | * | oddish quit (*.net *.split) |
06:56:53 | * | def- quit (*.net *.split) |
06:56:53 | * | jkl quit (*.net *.split) |
06:56:54 | * | droidrage quit (*.net *.split) |
06:56:54 | * | om3ga quit (*.net *.split) |
06:56:54 | * | LyndsySimon quit (*.net *.split) |
06:56:54 | * | xaltsc quit (*.net *.split) |
06:56:54 | * | ixmpp quit (*.net *.split) |
06:56:54 | * | fallback quit (*.net *.split) |
06:56:54 | * | notchris quit (*.net *.split) |
06:56:55 | * | oprypin quit (*.net *.split) |
06:56:55 | * | drewr quit (*.net *.split) |
06:56:55 | * | disso_peach quit (*.net *.split) |
06:56:55 | * | djanatyn quit (*.net *.split) |
06:56:55 | * | systemdsucks quit (*.net *.split) |
06:56:56 | * | supakeen quit (*.net *.split) |
06:56:56 | * | redj quit (*.net *.split) |
06:56:56 | * | adium quit (*.net *.split) |
06:56:56 | * | sagax quit (*.net *.split) |
06:56:56 | * | nisstyre quit (*.net *.split) |
06:56:56 | * | oz quit (*.net *.split) |
06:56:56 | * | DixieFlatline quit (*.net *.split) |
06:56:56 | * | mal`` quit (*.net *.split) |
06:56:56 | * | gshumway quit (*.net *.split) |
06:56:56 | * | Yardanico quit (*.net *.split) |
06:56:56 | * | madprog quit (*.net *.split) |
06:56:56 | * | rockcavera quit (*.net *.split) |
06:56:57 | * | tk quit (*.net *.split) |
06:56:57 | * | wallabra quit (*.net *.split) |
06:56:57 | * | crem quit (*.net *.split) |
06:56:57 | * | termer quit (*.net *.split) |
06:57:56 | * | m5zs7k joined #nim |
06:57:56 | * | PMunch joined #nim |
06:57:56 | * | jmdaemon joined #nim |
06:57:56 | * | qwr joined #nim |
06:57:56 | * | neceve joined #nim |
06:57:56 | * | rockcavera joined #nim |
06:57:56 | * | tk joined #nim |
06:57:56 | * | wallabra joined #nim |
06:57:56 | * | crem joined #nim |
06:57:56 | * | oddish joined #nim |
06:57:56 | * | adium joined #nim |
06:57:56 | * | termer joined #nim |
06:57:56 | * | sagax joined #nim |
06:57:56 | * | _________ joined #nim |
06:57:56 | * | attah joined #nim |
06:57:56 | * | tinystoat joined #nim |
06:57:56 | * | rb joined #nim |
06:57:56 | * | lain joined #nim |
06:57:56 | * | lumidify joined #nim |
06:57:56 | * | koltrast joined #nim |
06:57:56 | * | mahlon joined #nim |
06:57:56 | * | syl joined #nim |
06:57:56 | * | Amun-Ra joined #nim |
06:57:56 | * | NimEventer joined #nim |
06:57:56 | * | qwestion joined #nim |
06:57:56 | * | cornfeedhobo joined #nim |
06:57:56 | * | genpaku joined #nim |
06:57:56 | * | Onionhammer joined #nim |
06:57:56 | * | hexeme_ joined #nim |
06:57:56 | * | dv^_^ joined #nim |
06:57:56 | * | euantorano joined #nim |
06:57:56 | * | via__ joined #nim |
06:57:56 | * | FromDiscord joined #nim |
06:57:56 | * | blackbeard420 joined #nim |
06:57:56 | * | jkl joined #nim |
06:57:56 | * | def- joined #nim |
06:57:56 | * | ixmpp joined #nim |
06:57:56 | * | xaltsc joined #nim |
06:57:56 | * | LyndsySimon joined #nim |
06:57:56 | * | om3ga joined #nim |
06:57:56 | * | droidrage joined #nim |
06:57:56 | * | drewr joined #nim |
06:57:56 | * | oprypin joined #nim |
06:57:56 | * | notchris joined #nim |
06:57:56 | * | fallback joined #nim |
06:57:56 | * | redj joined #nim |
06:57:56 | * | systemdsucks joined #nim |
06:57:56 | * | djanatyn joined #nim |
06:57:56 | * | supakeen joined #nim |
06:57:56 | * | disso_peach joined #nim |
06:57:56 | * | madprog joined #nim |
06:57:56 | * | Yardanico joined #nim |
06:57:56 | * | gshumway joined #nim |
06:57:56 | * | mal`` joined #nim |
06:57:56 | * | DixieFlatline joined #nim |
06:57:56 | * | oz joined #nim |
06:57:56 | * | nisstyre joined #nim |
07:41:21 | FromDiscord | <Tetralux> In reply to @Datavenia "What’s the over/under on": Zig is about being very much in control over what your program is doing at any given moment; part of that is being explicit, simple, and clear with the code; part of it is manual memory management.↵It's a fairly frugal language, but a decent one - even if code can get a little busy at times.↵You won't find stuff like `f(1, 2)` and `f (1, 2)` being different though - which you wil |
07:41:41 | FromDiscord | <Tetralux> (edit) "In reply to @Datavenia "What’s the over/under on": Zig is ... about" added "generally" | removed "very much" |
07:42:10 | FromDiscord | <Tetralux> (edit) "In reply to @Datavenia "What’s the over/under on": Zig is generally about being in control over what your program is doing at any given moment; part of that is being explicit, simple, and clear with the code; part of it is manual memory management.↵It's a fairly frugal language, but a decent one - even if ... code" added "some can find the" | removed "can get" |
07:42:14 | FromDiscord | <Tetralux> (edit) "busy" => "'busy'" |
07:42:40 | FromDiscord | <Rika> I honestly don’t believe the “simple” part |
07:45:04 | FromDiscord | <Shiba> you can pass `(1, 2)` as a parameter ? |
07:45:12 | FromDiscord | <Rika> Tuple, yes |
07:47:44 | FromDiscord | <Rika> Zig’s thing is unambiguity |
07:47:54 | FromDiscord | <Rika> Nim’s thing is flexibility |
07:48:03 | FromDiscord | <Rika> They’re very much antitheses to each other |
07:48:06 | FromDiscord | <Tetralux> sent a long message, see http://ix.io/49Rb |
07:49:08 | FromDiscord | <Tetralux> (edit) "http://ix.io/49Rb" => "http://ix.io/49Rc" |
07:49:16 | FromDiscord | <Rika> In reply to @Tetralux "There's an argument to": Okay, I don’t really have anything to respond to with this |
07:49:28 | FromDiscord | <Elegantbeef> Odin is quite literally just modern pascal, and pascal was designed as a teaching language so it's probably vastly more approachable than C or Zig 😄 |
07:49:34 | FromDiscord | <Rika> Lol |
07:51:33 | FromDiscord | <Elegantbeef> I had to check about expressions, and what the fuck |
07:51:34 | FromDiscord | <Tetralux> In reply to @Elegantbeef "Odin is quite literally": I imagine you're being facetious, since that isn't really how that works.↵But it is, nevertheless, quite approachable. It's designed to be. 😄 |
07:51:42 | FromDiscord | <Elegantbeef> > While loops are expressions. The result of the expression is the result of the else clause of a while loop |
07:52:08 | FromDiscord | <Elegantbeef> Mildly↵(@Tetralux) |
07:52:43 | FromDiscord | <Elegantbeef> There is some truth in that pascal was designed for education and odin is very similar to pascal, so it hits many of the same marks |
07:53:01 | FromDiscord | <Elegantbeef> Whether it's more approachable is another thing |
07:53:17 | FromDiscord | <Tetralux> sent a code paste, see https://play.nim-lang.org/#ix=49Re |
07:53:32 | FromDiscord | <Elegantbeef> I dont see how that really makes sense |
07:53:42 | FromDiscord | <Tetralux> (edit) "https://play.nim-lang.org/#ix=49Re" => "https://play.nim-lang.org/#ix=49Rf" |
07:54:02 | * | tanami quit (Ping timeout: 255 seconds) |
07:54:07 | FromDiscord | <Tetralux> The `else` runs if the loop didn't `break`. |
07:54:09 | * | tanami joined #nim |
07:54:16 | FromDiscord | <Rika> That’s the inverse of Python huh |
07:54:30 | FromDiscord | <Rika> Definitely gonna cause lots of confusion for someone switching haha |
07:54:54 | FromDiscord | <Rika> It only makes sense after further reading, not really intuitive as you said yeah |
07:55:26 | FromDiscord | <Elegantbeef> I think it's overloading the `else` word, so i dont think it really makes sense |
07:55:37 | FromDiscord | <Rika> Break being a for loop return is kinda cursed but I guess it’s whatever |
07:55:49 | FromDiscord | <Elegantbeef> Does the language construct do something that is predictable yes, is it sensible not in my opinion |
07:56:43 | FromDiscord | <Tetralux> sent a code paste, see https://play.nim-lang.org/#ix=49Rg |
07:56:56 | FromDiscord | <Tetralux> There's a common thread going on here. |
07:57:00 | FromDiscord | <Tetralux> (edit) "here." => "there." |
07:57:34 | FromDiscord | <Rika> Nim also has the arbitrary block break but I don’t know, it sounds like it would be confusing |
07:57:47 | FromDiscord | <Rika> It’s sounds almost like a return goto |
07:59:01 | * | tiorock joined #nim |
07:59:01 | * | rockcavera is now known as Guest4008 |
07:59:01 | * | tiorock is now known as rockcavera |
07:59:07 | FromDiscord | <Tetralux> In reply to @Rika "Nim also has the": That's what I was saying about actually using it; as someone who's written a decent amount of Zig code (though not anywhere near as much as Odin) -- the only point of confusion I've found with it is remembering which side the `:` goes on in `break :blk value;` 🤣↵I did find `for ... else` a bit hard to intuit though - but I know it now. |
08:00:32 | FromDiscord | <Rika> Well you could say that for all languages |
08:00:37 | FromDiscord | <Tetralux> In reply to @Elegantbeef "Does the language construct": Might be a case of unfamiliarity honestly; Zig can easily feel kinda out of left-field in a few different places. |
08:01:17 | FromDiscord | <Rika> You could say similarly for the “ambiguous tuple” example you gave, that you’ll easily get it once you use the language more |
08:01:51 | * | Guest4008 quit (Ping timeout: 260 seconds) |
08:02:51 | FromDiscord | <Tetralux> In reply to @Rika "You could say similarly": I think a case can be made there, sure. |
08:07:02 | FromDiscord | <Stuffe> is there any way to iterate over an OrderedTable in reverse without mutating the OrderedTable or doing unnecessary work? |
08:22:17 | FromDiscord | <ElegantBeef> Uh oh bridge breaky |
08:24:30 | FromDiscord | <ElegantBeef> There is not a way presently, sadly the best way would be to use private access to make a reverse iterator |
08:25:59 | FromDiscord | <ElegantBeef> Actually i dont think it's possible |
08:26:07 | FromDiscord | <ElegantBeef> The internal implementation only stores next, not last |
08:26:21 | FromDiscord | <Stuffe> yeah I am just reading the source |
08:26:47 | FromDiscord | <Stuffe> you can get private members if you use pointers and cast |
08:26:56 | FromDiscord | <ElegantBeef> That's dumb |
08:26:59 | FromDiscord | <Stuffe> as a last resort |
08:27:12 | FromDiscord | <ElegantBeef> You can just use https://nim-lang.org/docs/importutils.html#privateAccess%2Ctypedesc |
08:27:28 | FromDiscord | <ElegantBeef> and/or the `{.all.}` pragma on modules |
08:27:38 | FromDiscord | <Stuffe> ah nice |
08:27:48 | FromDiscord | <Stuffe> this is why I love nim |
08:27:53 | FromDiscord | <ElegantBeef> Still not really suggested, but yea it's "possible" |
08:28:44 | FromDiscord | <Stuffe> yeah its not optimal but sometimes real life doesn't allow optimal |
08:29:13 | FromDiscord | <Stuffe> anyway, I guess I can store the values of my OrderedTable in reverse |
08:34:47 | FromDiscord | <Stuffe> actually an `insert_as_first` function would work much better for me |
08:40:58 | * | xet7 joined #nim |
08:47:14 | * | buster_blue[m] joined #nim |
09:07:09 | * | jmdaemon quit (Ping timeout: 252 seconds) |
09:09:43 | * | jmdaemon joined #nim |
09:11:18 | * | xet7 quit (Ping timeout: 240 seconds) |
09:46:09 | * | reversem3[m] joined #nim |
09:47:29 | * | xet7 joined #nim |
09:51:33 | FromDiscord | <Nalmyth> sent a code paste, see https://play.nim-lang.org/#ix=49RB |
09:51:44 | FromDiscord | <Nalmyth> (edit) "https://play.nim-lang.org/#ix=49RB" => "https://play.nim-lang.org/#ix=49RC" |
10:09:19 | FromDiscord | <dom96> In reply to @Tetralux "Like I said, it": This is Zig? Seeing as Guido considers the `else` in a for loop a mistake I consider it a double mistake to implement it and give it the opposite semantics to Python's implementation |
10:10:07 | FromDiscord | <dom96> (edit) "In reply to @Tetralux "Like I said, it": This is Zig? Seeing as Guido considers the `else` in a for loop a mistake ... Iin" added "in Python," | "in Python,I consider it a double mistake to implement it ... and" added "in a new language" |
10:12:30 | FromDiscord | <dom96> Also seeing @Rika talk about what Zig's/Nim's "things" are, it makes me wonder if to be a successful language these days you need a clear cut "thing" that you do significantly better enough than other languages to foster adoption |
10:27:03 | * | arkurious joined #nim |
10:38:08 | * | Vladar joined #nim |
10:50:04 | * | genpaku quit (Read error: Connection reset by peer) |
10:50:57 | FromDiscord | <jos> i think nim has more than enough of that |
10:50:59 | FromDiscord | <jos> probably too much |
10:51:27 | FromDiscord | <jos> i think the main thing you need these days is good branding and good libs |
10:51:34 | FromDiscord | <jos> and good tooling |
10:52:16 | FromDiscord | <Rika> i agree with that |
10:52:42 | * | genpaku joined #nim |
10:56:52 | FromDiscord | <dom96> Nim has multiple small things, no one big thing |
10:57:13 | FromDiscord | <dom96> I think Zig might suffer from the same |
10:59:11 | FromDiscord | <Rika> not really idt |
10:59:16 | FromDiscord | <enthus1ast> zig is used by big corps mostly for cross compiling\: https://jakstys.lt/2022/how-uber-uses-zig/ |
11:05:19 | FromDiscord | <jos> i think nim could be successful if it cleaned up the syntax, added more sugar, and focused on orc as a selling point |
11:05:24 | FromDiscord | <jos> and maybe at that point rebrand |
11:05:39 | FromDiscord | <Rika> then that would not be nim 🙂 |
11:05:42 | FromDiscord | <jos> although u could say nim is already pretty successful i think that would launch it to next level |
11:05:44 | FromDiscord | <jos> ye but who cares |
11:05:55 | FromDiscord | <jos> branding is important |
11:06:14 | FromDiscord | <Rika> "i think x will be successful if it changed into y" |
11:06:26 | FromDiscord | <Rika> i dont know man, that sounds like it would apply to anything |
11:07:04 | FromDiscord | <jos> sure. but if you consider those things a much smaller scope of work than creating a language from scratch |
11:07:09 | FromDiscord | <jos> then maybe you'll understand my perspective |
11:07:13 | FromDiscord | <jos> languages make breaking changes all the time |
11:08:14 | FromDiscord | <jos> imo nim is destined to never grow larger just because of the syntax |
11:08:15 | FromDiscord | <Rika> yes but my point is that it would then of course not be nim, then so what |
11:08:32 | FromDiscord | <jos> while the syntax is totally fine, there's deep tribalism in systems langs that you just can't get out of |
11:08:36 | FromDiscord | <Rika> nim cant become popular by changing into something else, because then it wouldnt be nim |
11:08:42 | FromDiscord | <Rika> what is popular is the new thing |
11:08:45 | FromDiscord | <jos> point taken, but it's really not that interesting to me |
11:08:51 | FromDiscord | <jos> i just think the syntax is a huge blocker |
11:08:54 | FromDiscord | <Rika> then fork it |
11:09:06 | FromDiscord | <jos> someone was asking for opinions, i'm not doing anything besides sharing my opinion |
11:09:33 | FromDiscord | <Rika> i dont remember seeing anyone actually asking, maybe thats why i dont understand you |
11:09:38 | FromDiscord | <jos> there was a discussion above |
11:09:45 | FromDiscord | <jos> nobody asked outright, sure |
11:09:46 | FromDiscord | <Rika> i know |
11:09:48 | FromDiscord | <Rika> okay |
11:09:52 | FromDiscord | <jos> anyway, it would be really cool if you focused on talking about the topic of what i'm saying |
11:09:52 | FromDiscord | <Rika> well thats that |
11:09:55 | FromDiscord | <jos> instead of all the nuances surrounding it |
11:10:22 | FromDiscord | <Rika> well no, i thought what you were talking about is already obvious and not something interesting to talk about |
11:10:39 | FromDiscord | <jos> the syntax being a blocker towards broader adoption? |
11:10:42 | FromDiscord | <Rika> yes |
11:10:51 | FromDiscord | <jos> okay, then no need to comment on it! |
11:10:58 | FromDiscord | <jos> have a good one |
11:10:59 | FromDiscord | <Rika> okay |
11:11:16 | FromDiscord | <Rika> i have no idea what just went on here really |
11:11:18 | FromDiscord | <jos> you should re-read our discussion |
11:11:24 | FromDiscord | <jos> you basically just went totally nuts |
11:11:58 | FromDiscord | <jos> argumentative for no reason, not focusing on the topic but instead talking about a bunch of tangential inaccuracies |
11:12:09 | FromDiscord | <jos> 🤷♂️ |
11:12:13 | FromDiscord | <Rika> okay |
11:12:40 | FromDiscord | <jos> then topping it off with a "who asks" and "i already knew that, it was obvious" |
11:12:44 | FromDiscord | <jos> (edit) "asks"" => "asked"" |
11:12:46 | FromDiscord | <jos> lmfao |
11:12:49 | FromDiscord | <jos> anyway, gotta go |
11:12:51 | FromDiscord | <Rika> okay |
11:14:14 | FromDiscord | <Rika> i really dont understand what would be interesting about saying "oh nim would be more successful if it wasnt nim" |
11:14:36 | FromDiscord | <jos> rust for the first 3 years doesn't look much like rust now |
11:14:46 | FromDiscord | <jos> and you're praraphrasing and strawmanning me |
11:14:47 | FromDiscord | <jos> but whatever |
11:14:52 | FromDiscord | <jos> done talking to you |
11:14:58 | FromDiscord | <Rika> nim hasnt been here for just three years by now |
11:15:02 | FromDiscord | <Rika> okay |
11:15:31 | FromDiscord | <Rika> In reply to @jos "and you're praraphrasing and": of course, because this is how i understood you |
11:32:49 | FromDiscord | <Tetralux> sent a long message, see http://ix.io/49RS |
11:33:20 | FromDiscord | <Tetralux> (edit) "http://ix.io/49RS" => "http://ix.io/49RT" |
11:34:04 | FromDiscord | <Tetralux> (edit) "http://ix.io/49RT" => "http://ix.io/49RU" |
11:39:54 | FromDiscord | <jmgomez> Hey guys, Is there a way to make available an experimental feature across the whole project? |
11:40:17 | FromDiscord | <jmgomez> like a compiler directive or something like that |
11:48:37 | FromDiscord | <Rika> In reply to @jos "done talking to you": let me at least apologise with regards to what i said, i put my thoughts into words incorrectly |
11:48:50 | FromDiscord | <Rika> i'm a bit confused even now, so its prolly a matter of my brain being overworked today |
11:51:17 | FromDiscord | <dom96> In reply to @Tetralux "One of Zig's 'iconic'": Huh. So the “break i “ in the Zig code is like a ‘return i’ |
11:51:50 | FromDiscord | <dom96> Feels weird to have the ‘break’ keyword do that |
11:52:54 | FromDiscord | <dom96> The reason I mentioned Python is because it supports an “else” on the “for” |
11:52:58 | FromDiscord | <Tetralux> sent a code paste, see https://play.nim-lang.org/#ix=49RZ |
11:53:57 | FromDiscord | <dom96> Interesting. Allowing {}-less ifs is also a sin though 🙂 |
11:54:16 | FromDiscord | <Tetralux> sent a long message, see http://ix.io/49S0 |
11:54:50 | FromDiscord | <dom96> So Zig doesn’t have ‘return’ as a keyword? |
11:55:23 | FromDiscord | <Tetralux> In reply to @Tetralux "Yeah, you're not the": Plus, breaking from a labelled loop is already familiar to most people, as well. |
11:55:35 | FromDiscord | <Tetralux> In reply to @dom96 "So Zig doesn’t have": Zig does have `return`, but it -always- means "Return from the function." |
11:56:10 | FromDiscord | <dom96> To me at least it makes more sense to think of the block as a function |
11:57:19 | FromDiscord | <dom96> But all this is subjective anyway and I’m sure there are other trade offs at play here that pushed the author of this syntax to do it this way. |
11:58:04 | FromDiscord | <Ekopalypse> sent a long message, see http://ix.io/49S1 |
11:58:17 | FromDiscord | <Tetralux> In reply to @dom96 "To me at least": That does have merit, though that does make me wonder how you'd return from the function, from within a local block expression. 🤔 |
11:58:29 | FromDiscord | <Ekopalypse> (edit) "http://ix.io/49S1" => "http://ix.io/49S2" |
11:59:54 | FromDiscord | <dom96> Hm. True |
12:00:29 | FromDiscord | <dom96> That is a good reason to pick a different keyword |
12:02:15 | FromDiscord | <Tetralux> Right - indeed. |
12:03:08 | FromDiscord | <Tetralux> In reply to @Ekopalypse "I am faced with": I'm no Nim expert, but that looks like you may need do `{. cdecl, gcsafe .}` in some places, to tell Nim that, "No, this function won't do stuff behind the GC's back that it doesn't tell you about." 🤔 |
12:03:26 | FromDiscord | <Tetralux> (edit) "you" => "it" |
12:07:01 | FromDiscord | <Ekopalypse> Thanks for the information and yes this compiles, it's just that I don't understand the reason for this error. It is a global variable and I naively expected it to be ignored by the gc. |
12:07:23 | FromDiscord | <Tetralux> In reply to @Ekopalypse "Thanks for the information": I think it may be more about the fact that `seq` is GC'd 🤔 |
12:07:47 | FromDiscord | <Ekopalypse> Oh I see |
12:08:25 | FromDiscord | <Ekopalypse> but wait funcItem, the seq is a global var as well |
12:09:18 | FromDiscord | <Tetralux> `@[]` is local though - that might be it. |
12:09:26 | FromDiscord | <Tetralux> (And that's also a `seq`) |
12:10:30 | FromDiscord | <Tetralux> sent a code paste, see https://play.nim-lang.org/#ix=49S8 |
12:23:09 | * | piertoni joined #nim |
12:33:11 | FromDiscord | <Ekopalypse> @Tetralux - yes, code slightly modified but with a warning `'about' is not GC safe as it accesses 'pluginName' which is a GC'ed global store [GcUnsafe2]`. I think I'm starting to understand what this is about.↵Thank you very much. |
12:37:32 | FromDiscord | <Tetralux> In reply to @Ekopalypse "<@201094465815969794> - yes, code": Happy to help o7 |
12:38:18 | FromDiscord | <Datavenia> I think the main thing the zig/nim conversation reveals is that there is so much subjectivity in what is good in PL design |
12:45:12 | FromDiscord | <jmgomez> sent a code paste, see https://play.nim-lang.org/#ix=49Se |
12:45:50 | * | neceve quit (Ping timeout: 268 seconds) |
12:47:28 | FromDiscord | <Rika> i dont know about new concepts but perhaps old concepts allowed for it, but i dont recall too well |
12:51:26 | FromDiscord | <demotomohiro> sent a code paste, see https://play.nim-lang.org/#ix=49Sg |
12:52:51 | FromDiscord | <jmgomez> In reply to @demotomohiro "Why do you need": It's just to illustrate a the use case but ideally I can swap the MemoryRepo with another one if it respects the "contract" described in the Repo concept |
13:00:52 | FromDiscord | <demotomohiro> If you have a proc that has `Repo[MyEntity]` parameter and you pass myRepo to it, it should compiles when `MemoryRepo[MyEntity]` is swaped with another one that respects `Repo[MyEntity]` concept. |
13:03:36 | FromDiscord | <jmgomez> really so it only works in one direction? Because if the above doesnt work then returning a type that implements a concept as the concept wouldnt work neither. Right? |
13:10:11 | FromDiscord | <demotomohiro> I'm not sure. |
13:11:27 | FromDiscord | <Rika> I don’t know how well concepts and generics mix |
13:23:38 | FromDiscord | <jmgomez> 👍 |
13:27:04 | FromDiscord | <Rika> Anyway concepts right now are kind of in a limbo of support because we’re in the middle of transitioning |
13:28:00 | FromDiscord | <planetis> That won't work. Can't create a var with a concept as type. |
13:28:39 | FromDiscord | <Rika> I think it was only as an example |
13:28:49 | FromDiscord | <Rika> A better one would be a procedure argument of course |
13:51:50 | * | derpydoo joined #nim |
14:02:54 | * | piertoni quit (Quit: Client closed) |
14:30:33 | * | PMunch quit (Quit: Leaving) |
14:33:29 | FromDiscord | <auxym> Hm so if I understand the flatty code correctly, it's not portable between relative to machine endianness. So writing a flatty buffer on LE and reading it back on a BE machine would result in incorrect data, |
16:59:47 | FromDiscord | <planetis> also it casts bytes to bigger types without any length checks but whatever. |
17:05:39 | * | xet7 quit (Ping timeout: 252 seconds) |
17:21:00 | * | xet7 joined #nim |
17:36:37 | * | LuxuryMode joined #nim |
17:47:17 | FromDiscord | <Require Support> is there a way in nim to not do anything when theres an exception? |
17:48:00 | FromDiscord | <planetis> try: code except: discard ? |
17:48:21 | FromDiscord | <Require Support> thanks |
18:44:49 | FromDiscord | <beans> Let's say I have two threads and one variable protected by a lock. If thread two tries to acquire the lock while thread one already has the lock and is writing to the variable, will that halt the execution of thread two until it can successfully acquire the lock? |
18:46:19 | FromDiscord | <enthus1ast> if you use `tryAquire` it would return false and you can go on with the flow |
18:46:39 | FromDiscord | <enthus1ast> `tryAcquire` |
18:48:04 | FromDiscord | <beans> oh yeah I know what tryAquire does, I'm just making sure I properly understand the behavior of `acquire` |
18:48:21 | FromDiscord | <beans> acquire would block the thread until it can successfully acquire the lock, correct? |
18:48:31 | FromDiscord | <beans> (edit) "acquire" => "`acquire`" |
18:48:57 | FromDiscord | <enthus1ast> yes |
18:49:06 | FromDiscord | <beans> ok thanks |
20:12:55 | * | Vladar quit (Quit: Leaving) |
20:19:53 | FromDiscord | <Patitotective> In reply to @Elegantbeef "It's not": benchmarks are 💀 |
20:34:31 | FromDiscord | <mratsim> In reply to @dom96 "The reason I mentioned": Guido said it was one big mistake |
21:05:52 | FromDiscord | <dom96> In reply to @dom96 "This is Zig? Seeing": ^ |
21:05:56 | FromDiscord | <dom96> In reply to @mratsim "Guido said it was": I know |
21:40:01 | * | neceve joined #nim |
21:43:55 | FromDiscord | <B L Â D É> sent a code paste, see https://play.nim-lang.org/#ix=49Ua |
21:44:06 | FromDiscord | <B L Â D É> Why can i access person.age after i freed |
21:44:38 | FromDiscord | <B L Â D É> Isn't it suppose to be nil |
21:46:10 | FromDiscord | <Elegantbeef> You freed it but didnt change the pointer to nil |
21:49:40 | FromDiscord | <B L Â D É> sent a code paste, see https://paste.rs/E6e |
21:52:44 | FromDiscord | <B L Â D É> sent a code paste, see https://play.nim-lang.org/#ix=49Ud |
21:52:47 | FromDiscord | <B L Â D É> This code works |
21:53:04 | FromDiscord | <B L Â D É> So now child parent pointer will point to invalid data? |
21:54:13 | FromDiscord | <B L Â D É> Sorry I'm new to managing memory, if u have some resources |
21:56:57 | * | jmdaemon quit (Quit: ZNC 1.8.2 - https://znc.in) |
22:08:45 | FromDiscord | <Elegantbeef> welcome to pointer invalidation 😄 |
22:09:22 | FromDiscord | <Elegantbeef> If you have a pointer like this you need to store a reference count, then only dealloc when it gets less than 0 |
22:10:16 | FromDiscord | <Rainbow Asteroids> if only nim could manage its own memory |
22:12:35 | FromDiscord | <Elegantbeef> Small indie team technology isnt there yet |
22:12:50 | FromDiscord | <B L Â D É> In reply to @Elegantbeef "If you have a": Yea so just use orc 😂😂 |
22:12:55 | FromDiscord | <Elegantbeef> Correct |
22:13:05 | FromDiscord | <B L Â D É> I was just experimenting guys |
22:13:05 | FromDiscord | <Elegantbeef> Cyclical memory management is a bitch in the best of times |
22:13:25 | FromDiscord | <Elegantbeef> Yea we understand but we'll still make jokes |
22:13:33 | FromDiscord | <B L Â D É> I fount myself doing shared ptrs i cpp everywhere anyways |
22:13:53 | FromDiscord | <Elegantbeef> Idiomatic Nim is to use `ref` and avoid `ptr` unless you really really need it |
22:14:00 | FromDiscord | <Elegantbeef> Generally you only need it for lower level logic or FFI |
22:14:37 | FromDiscord | <B L Â D É> Yea one time i needed a ptr to an object in an array so i took the address to mutate |
22:14:55 | FromDiscord | <Elegantbeef> That's not very idiomatic 😛 |
22:15:02 | * | neceve quit (Quit: ZNC - https://znc.in) |
22:15:02 | FromDiscord | <B L Â D É> My first nim project is an interpreter for my language written in go |
22:15:23 | FromDiscord | <B L Â D É> In reply to @Elegantbeef "That's not very idiomatic": I know, is there a better choice? |
22:15:34 | FromDiscord | <Elegantbeef> Depends on what you were doing |
22:19:08 | * | neceve joined #nim |
22:24:01 | * | cyraxjoe quit (Quit: I'm out!) |
22:26:06 | * | cyraxjoe joined #nim |
22:29:34 | * | xet7 quit (Read error: Connection reset by peer) |
22:43:40 | FromDiscord | <sealmove> hey, I have a c wrapper (generated with nimterop). The underlying c file includes a header. When I import this nim wrapper 2 times I get a redefinition error |
22:44:10 | FromDiscord | <sealmove> one solution I thought of is to add the classic `#ifdef` safeguards in the c header file |
22:44:38 | FromDiscord | <sealmove> shouldn't nim-c interfacing take care to avoid such issues? |
22:46:31 | FromDiscord | <sealmove> hmm, the header files already have guards |
22:46:53 | FromDiscord | <Elegantbeef> I dont know what nimterop does, but i've not had issues |
22:49:36 | FromDiscord | <sealmove> sent a code paste, see https://play.nim-lang.org/#ix=49Uo |
22:49:53 | FromDiscord | <sealmove> (edit) "https://play.nim-lang.org/#ix=49Uo" => "https://play.nim-lang.org/#ix=49Up" |
22:49:53 | FromDiscord | <Elegantbeef> That'd do it |
22:50:25 | FromDiscord | <sealmove> yeah, time to find a "correct" alternative |
22:51:07 | FromDiscord | <Elegantbeef> Were you importing or including the file? |
22:52:11 | FromDiscord | <sealmove> it's part of a nimble lib package |
22:52:23 | FromDiscord | <sealmove> i import it in private modules |
22:53:10 | FromDiscord | <sealmove> hmm maybe I can use `when`? |
22:53:35 | FromDiscord | <sealmove> but no... I can't _execute_ a pragma conditionally |
22:53:42 | FromDiscord | <sealmove> can I? |
22:53:57 | FromDiscord | <Elegantbeef> You can but you generally shouldnt need to |
22:54:37 | FromDiscord | <sealmove> ok hmm, how do I compile it once? maybe the compilation can be taken care of by a nimble task? |
22:55:00 | FromDiscord | <Elegantbeef> Afaik it should only compile it once |
22:55:23 | FromDiscord | <Elegantbeef> Module top level statements only run once when imported |
22:55:29 | FromDiscord | <Elegantbeef> If you're including them that's on you |
22:55:30 | FromDiscord | <sealmove> but I import it twice |
22:55:39 | FromDiscord | <Elegantbeef> Modules are only semantically checked once |
22:55:40 | FromDiscord | <sealmove> no, I only import, no include |
22:55:47 | FromDiscord | <sealmove> ok so it's a bug then |
22:57:36 | FromDiscord | <sealmove> In reply to @รєคɭ๓๏שє "Actually I see now": maybe it's because I am evaluating code? |
22:58:32 | FromDiscord | <Elegantbeef> What? |
22:58:37 | FromDiscord | <sealmove> sent a code paste, see https://play.nim-lang.org/#ix=49Ur |
22:58:40 | FromDiscord | <sealmove> not pre-computed |
22:59:00 | FromDiscord | <Elegantbeef> it's static code it gets evaluated on the spot for the VM to work with |
23:02:07 | FromDiscord | <sealmove> sent a code paste, see https://play.nim-lang.org/#ix=49Uv |
23:03:38 | FromDiscord | <sealmove> But is it a problem if it's compiled twice? Isn't the problem _linking_ twice? |
23:04:03 | FromDiscord | <sealmove> You get redefinition error if you link twice I believe |
23:07:41 | FromDiscord | <sealmove> sent a code paste, see https://play.nim-lang.org/#ix=49Ux |
23:07:51 | FromDiscord | <sealmove> so the pragma also links them |
23:09:15 | FromDiscord | <Elegantbeef> Well yea it links the C file |
23:09:23 | FromDiscord | <Elegantbeef> What's the point of compiling without linking |
23:11:16 | FromDiscord | <sealmove> ok i'll try to reproduce in a minimal example |
23:11:39 | FromDiscord | <sealmove> tomorrow though |
23:19:26 | * | wallabra quit (Ping timeout: 260 seconds) |
23:22:15 | * | wallabra joined #nim |
23:26:00 | * | wallabra_ joined #nim |
23:27:20 | * | wallabra quit (Ping timeout: 255 seconds) |
23:27:53 | * | wallabra_ is now known as wallabra |
23:30:50 | * | jmdaemon joined #nim |