<< 30-06-2026 >>

00:58:47FromDiscord<a_guy_a> i've never run tests like this before lol https://media.discordapp.net/attachments/371759389889003532/1521319054302777494/image.png?ex=6a446647&is=6a4314c7&hm=67d42cecfbcdd44b3bbe0760a8c22db12da4e76e16aa5bf952678ca10f58e95f&
01:24:34*savannt quit (Quit: Client closed)
03:07:36FromDiscord<Aceroph> is there any documentation on documenting code?
03:10:03FromDiscord<a_guy_a> In reply to @Aceroph "is there any documentation": https://nim-lang.org/docs/docgen.html?utm_source=chatgpt.com
03:10:23FromDiscord<a_guy_a> In reply to @Aceroph "is there any documentation": https://nim-lang.github.io/Nim/markdown_rst.html?utm_source=chatgpt.com
03:11:22FromDiscord<a_guy_a> a hard emphasise on the '?utm_source=chatgpt.com
03:11:23FromDiscord<a_guy_a> (edit) "'?utm_source=chatgpt.com" => "'?utm_source=chatgpt.com'"
03:11:29FromDiscord<DetermiedNim1> `?utm_source=chatgpt.com`
03:11:46FromDiscord<a_guy_a> we are missing a lmgtfy.com for chatgpt
03:12:29FromDiscord<DetermiedNim1> In reply to @Aceroph "is there any documentation": # regular comment (like python)↵#[ ]# open/close block comment (like / / in java)↵## doc comment (use this for library documentation)
03:12:38FromDiscord<DetermiedNim1> (edit) "#" => "\#" | "java)↵##" => "java)↵\##"
03:12:50FromDiscord<DetermiedNim1> basic rundown
03:13:23FromDiscord<a_guy_a> https://letmegooglethat.com/?q=nim+official+documentation+for+documenting+code
03:13:32FromDiscord<a_guy_a> ## try that
03:14:15FromDiscord<a_guy_a> does nim have a random library ?
03:14:45FromDiscord<DetermiedNim1> https://nim-lang.org/docs/tut1.html#lexical-elements-comments↵https://nim-lang.org/docs/manual.html#comment-pieces_1↵https://nim-lang.org/docs/manual.html#documentation-comments_1
03:14:51FromDiscord<DetermiedNim1> In reply to @a_guy_a "does nim have a": yes
03:14:56FromDiscord<DetermiedNim1> `import random`
03:14:59FromDiscord<a_guy_a> yes it was satire
03:15:00FromDiscord<a_guy_a> excuse me
03:15:03FromDiscord<a_guy_a> (edit) "excuse" => "pardon"
03:15:05FromDiscord<DetermiedNim1> oh 😭 mb
03:15:13FromDiscord<a_guy_a> this jackass cant fucking google
03:15:45FromDiscord<DetermiedNim1> 🤷‍♂️ might as well answer if we've got the answers
03:16:05FromDiscord<a_guy_a> that seems a bit wrong
03:16:38FromDiscord<DetermiedNim1> In reply to @Aceroph "is there any documentation": btw, for future stuff, try searching in the doc website (https://nim-lang.org/docs)
03:16:43FromDiscord<DetermiedNim1> or nim by example
03:17:00FromDiscord<a_guy_a> or ChatGGPT works VERY well
03:17:00FromDiscord<a_guy_a> bro
03:17:10FromDiscord<a_guy_a> (edit) "ChatGGPT" => "ChatGPT"
03:17:15FromDiscord<a_guy_a> like super duper well
03:17:15FromDiscord<DetermiedNim1> (edit) "(https://nim-lang.org/docs)" => "(https://nim-lang.org/docs)↵↵theres a se‍arch bar on the left"
03:17:51FromDiscord<a_guy_a> like the new google
03:18:03FromDiscord<DetermiedNim1> knowing how to use the "old" google is important too 😁
03:18:37FromDiscord<a_guy_a> idk google is shit
03:18:42FromDiscord<a_guy_a> ever notice you cant search for anything
03:18:55FromDiscord<a_guy_a> my email exists on tons of sites, yet google shows none for the exact search
03:20:24FromDiscord<a_guy_a> but is there anything better though ?
03:20:34FromDiscord<a_guy_a> (edit) "though" => ""
03:20:49FromDiscord<a_guy_a> google seems shit intentionally and thats a scumbag move
03:21:39FromDiscord<a_guy_a> 🤷‍♂️ to each their own
03:23:33FromDiscord<a_guy_a> there was a big trend people "google dorking"
03:23:33FromDiscord<a_guy_a> https://en.wikipedia.org/wiki/Google_hacking
03:23:59FromDiscord<a_guy_a> but now a days it feels this is patched
03:25:23FromDiscord<a_guy_a> 💯
03:25:57FromDiscord<a_guy_a> has anyone tired nimony yet
03:54:40FromDiscord<Aceroph> ew↵(@a_guy_a)
03:54:58FromDiscord<Aceroph> thanks↵(@DetermiedNim1)
03:55:25*rockcavera quit (Remote host closed the connection)
03:56:53FromDiscord<Aceroph> did look into that (yes i can google, no i dont use chatgpt), but i wondered if there was any more to it than multi lines, basic docs and comments (like argument annotation, returns.. like @param and @returns in java)↵(@DetermiedNim1)
03:57:15FromDiscord<Laylie> a simple "it's in the manual" would have been better than all that, sheesh
03:57:27FromDiscord<Aceroph> fr
03:57:45FromDiscord<DetermiedNim1> In reply to @Laylie "a simple "it's in": i like being thorough 😅
03:58:10FromDiscord<Laylie> yeah you're good
07:15:17*alexdaguy joined #nim
07:27:35*Skippy8 joined #nim
07:32:23*Skippy8 quit (Ping timeout: 265 seconds)
07:59:13*Skippy8 joined #nim
08:35:57*beholders_eye joined #nim
09:02:15*Skippy8 quit (Ping timeout: 246 seconds)
09:06:54FromDiscord<[Next-System] systemblue> I'm making↵↵cross platform SIMD library with Nim
09:07:10FromDiscord<[Next-System] systemblue> this is main language logic https://media.discordapp.net/attachments/371759389889003532/1521441958248317008/message.txt?ex=6a44d8bd&is=6a43873d&hm=0e6e6efe3997cd2f4a4424c1575dfcb0ecf58c358fac014a3e1b64cc2218ba84&
09:07:14FromDiscord<[Next-System] systemblue> it's name is SIMDLang
09:48:26*Skippy8 joined #nim
10:22:59FromDiscord<karolyi> being able to use simd with nim in an easy way would be a huge step ahead
10:44:43*beholders_eye quit (Ping timeout: 264 seconds)
10:58:21*Skippy8 quit (Ping timeout: 268 seconds)
11:41:28*Skippy8 joined #nim
11:58:33*beholders_eye joined #nim
12:04:54*beholders_eye quit (Ping timeout: 245 seconds)
12:06:46*beholders_eye joined #nim
12:16:49*tokyovigilante quit (Ping timeout: 272 seconds)
12:21:05FromDiscord<abdulrahman.103> In reply to @a_guy_a "my email exists on": You want google to scrape every bit of information on the internet and map every keyword to every website
12:26:37FromDiscord<nervecenter> https://verdagon.dev/blog/ante-blending-borrowing-rc
12:27:08FromDiscord<nervecenter> In which the creator of Vale, making a new language, rediscovers Nim's default memory model while managing to blast it with a billion required annotations.
12:35:48*Skippy8 quit (Ping timeout: 256 seconds)
12:39:48FromDiscord<DetermiedNim1> In reply to @nervecenter "In which the creator": trying to appeal to the java crowd, i see
12:42:46FromDiscord<abdulrahman.103> Learn using docs or youtube?
12:43:07FromDiscord<abdulrahman.103> Probably docs
12:45:15FromDiscord<nervecenter> In reply to @abdulrahman.103 "Probably docs": Docs plus X in Y Minutes. Best way I personally learn is to have a small but somewhat robust example project you can convert to any language and try to make it as idiomatic as possible.
12:45:25FromDiscord<nervecenter> (edit) "you" => "I"
12:45:39FromDiscord<nervecenter> Mine's a Monte Carlo simulation.
12:50:47FromDiscord<gesee37> In reply to @nervecenter "https://verdagon.dev/blog/ante-blending-borrowing-r": Well I see a lot of things here that simply aren't a problem with value semantics
12:50:59FromDiscord<gesee37> And a good ORC
12:51:23FromDiscord<gesee37> But I wanted myself to try borrow type for Nimony
12:51:51FromDiscord<gesee37> Which would be be type on which rust's borrow checking apply
13:26:51FromDiscord<0ffh> In reply to @nervecenter "In which the creator": But how could that be, we all though that was impossible!
13:47:24FromDiscord<zumi.dxy> In reply to @gesee37 "Well I see a": yeah i think there's even a talk at nimconf about this
13:51:30FromDiscord<zumi.dxy> In reply to @nervecenter "In which the creator": i can see the "this is for the programmer (and the LLM) to reason about" argument already
13:53:37FromDiscord<nervecenter> In reply to @zumi.dxy "yeah i think there's": rofl that was mine
14:00:14FromDiscord<zumi.dxy> In reply to @nervecenter "rofl that was mine": oh hello forgot that was you lmao
14:00:29FromDiscord<zumi.dxy> so many people i've yet to meet
14:02:01*Skippy8 joined #nim
14:06:25*Skippy8 quit (Ping timeout: 245 seconds)
14:27:34FromDiscord<tvoyglaza> Bro, this language is so flexible. Looks like im cheating lol https://media.discordapp.net/attachments/371759389889003532/1521522586045907105/image.png?ex=6a4523d5&is=6a43d255&hm=de3bf4dc3a86d1f7aed2c35e9433588df64247f3a1c103aacef50cbdfcd472c6&
14:28:23FromDiscord<zumi.dxy> stropping is a beautifully cursed thing↵you can have a function name with spaces
14:29:01FromDiscord<tvoyglaza> yeahh
14:29:15FromDiscord<tvoyglaza> you can literally use lorem ipsum as a function
14:29:26FromDiscord<zumi.dxy> sent a code paste, see https://play.nim-lang.org/#pasty=VitGcEgh
14:29:53FromDiscord<zumi.dxy> (edit) "https://play.nim-lang.org/#pasty=AfbicnCl" => "https://play.nim-lang.org/#pasty=RGKBaHgt"
14:30:19FromDiscord<zumi.dxy> (to nim the name is just `Iterateoverallfooandoutputsomething`)
14:30:23FromDiscord<zumi.dxy> (iirc)
14:30:27FromDiscord<DetermiedNim1> In reply to @zumi.dxy "I think most syntax": ultimate descriptive naming
14:30:58FromDiscord<zumi.dxy> built-in literate programming support 😏
14:32:18*Skippy8 joined #nim
14:33:35FromDiscord<tvoyglaza> https://media.discordapp.net/attachments/371759389889003532/1521524102785929337/image.png?ex=6a45253e&is=6a43d3be&hm=01ad5a9b2f292442de9205338614cae4390fdfcc534f45cf93c770a9d6a8d462&
14:33:48FromDiscord<tvoyglaza> so nice!
14:34:43FromDiscord<tvoyglaza> Bro, now you can even teach Nim for a little child
14:35:04FromDiscord<tvoyglaza> (edit) "for" => "to"
14:42:44FromDiscord<zumi.dxy> In reply to @zumi.dxy "(to nim the name": I do have to warn you that on an error this is the name you'll see
14:46:21FromDiscord<tvoyglaza> Yeah
14:54:14FromDiscord<0ffh> In reply to @tvoyglaza "Bro, this language is": Little problem, you won't get short circuit semantics that way.
14:59:47FromDiscord<tvoyglaza> In reply to @0ffh "Little problem, you won't": umm.. so it's better using templates?
15:29:04*beholders_eye quit (Ping timeout: 245 seconds)
15:31:44FromDiscord<abdulrahman.103> is there a benefit to using let instead of var when possible
15:35:02Amun-Rayes, it prevents accidental modifications
15:35:20Amun-Raand let's the reader know the value doesn't change
15:35:29Amun-Ralets*
15:36:04Amun-Raalways use const if it's possible, then let, then var
15:36:21*Skippy8 quit (Ping timeout: 246 seconds)
15:37:07FromDiscord<abdulrahman.103> rust and nim are similar in a lot of ways
15:37:32Amun-Rarust has special mut keyword for that
15:37:55*beholders_eye joined #nim
15:38:15Amun-Ranim has is much more powerful in compile-time; the thing I (over)use
15:38:24Amun-Ras/is//
15:38:34FromDiscord<abdulrahman.103> is nimony much better?
15:38:56FromDiscord<abdulrahman.103> i looked at the repo
15:39:04FromDiscord<abdulrahman.103> it seems the biggest upgrade is compile time
15:39:06Amun-RaI've never used it
15:39:15FromDiscord<pevici> sent a long message, see https://pasty.ee/LOqCbQZF
15:39:20FromDiscord<abdulrahman.103> In reply to @Amun-Ra "I've never used it": its not complete yet
15:39:31FromDiscord<_timurski> In reply to @Amun-Ra "nim has is much": I don't use rust at all but isn't it also extremely powerful for metaprogramming?
15:39:32FromDiscord<abdulrahman.103> its gonna complete this year though
15:39:39FromDiscord<abdulrahman.103> In reply to @_timurski "I don't use rust": whats that
15:39:43FromDiscord<abdulrahman.103> metaprogramming
15:40:04FromDiscord<_timurski> In reply to @abdulrahman.103 "its gonna complete this": seems like there's a long way to go
15:40:12Amun-Ra_timurski: I used it 2+ years ago; can't remember the details
15:40:20FromDiscord<_timurski> hmm
15:40:35FromDiscord<_timurski> In reply to @abdulrahman.103 "metaprogramming": compile time code generation / execution
15:40:45FromDiscord<abdulrahman.103> uses?
15:40:49FromDiscord<_timurski> meta programming means programming the program
15:42:08FromDiscord<_timurski> In reply to @abdulrahman.103 "uses?": plethora of them; simple generation of SoA types, vastly superior code optimization in certain cases, easier debugging, profiling, invariant checking, cleaner APIs
15:42:39FromDiscord<_timurski> and much more that I'm too lazy to list out right now
15:43:11*beholders_eye quit (Ping timeout: 247 seconds)
15:43:21FromDiscord<nervecenter> In reply to @abdulrahman.103 "is there a benefit": Everywhere possible, yes
15:43:35FromDiscord<abdulrahman.103> how low level can nim be?
15:43:36FromDiscord<nervecenter> Immutable data has many many benefits
15:43:46FromDiscord<abdulrahman.103> im very interested in it but im currently making a python project
15:43:50FromDiscord<_timurski> i used Nim's code generation recently to automatically generate maximally optimal functions to evaluate specifical mathematical functions
15:43:52FromDiscord<abdulrahman.103> id like to learn it after
15:44:03FromDiscord<_timurski> In reply to @abdulrahman.103 "how low level can": you can write inline ASM and use pointers and can easily import C
15:44:11FromDiscord<nervecenter> In reply to @abdulrahman.103 "im very interested in": If Python is your standard, Nim can be vastly lower level, you can map directly to C sys calls
15:44:22FromDiscord<nervecenter> They're barely comparable
15:44:29FromDiscord<nervecenter> Except the obvious syntactic inspiration
15:44:34FromDiscord<abdulrahman.103> it compiles to c so coding in c is definitely an option
15:44:39FromDiscord<_timurski> you can also never touch any of that if you don't want to
15:44:45FromDiscord<nervecenter> Python also has pervasive OO and reference semantics, Nim does not
15:44:47FromDiscord<_timurski> (edit) "you can also never touch any of that if you don't want ... to" added "/ need"
15:44:57FromDiscord<abdulrahman.103> but nim seems to not have classes right?
15:45:02FromDiscord<nervecenter> Right
15:45:07*beholders_eye joined #nim
15:45:09FromDiscord<abdulrahman.103> whats the alternative
15:45:25FromDiscord<_timurski> In reply to @_timurski "i used Nim's code": 600 million spline evaluation per second on my Mac M1 single threaded, genuinely was shocked when I got this number
15:45:27FromDiscord<nervecenter> You can emulate classes with var/ref objects and procs/methods that take that object as a first parameter
15:45:46FromDiscord<nervecenter> Which is how it's done in C anyways
15:46:13FromDiscord<abdulrahman.103> how come such a language is not famous
15:46:23FromDiscord<abdulrahman.103> nobody is behind it is a reason
15:46:25Amun-Ragive it time
15:46:36FromDiscord<nervecenter> But OO is strongly discouraged unless absolutely necessary, I recommend learning the default idioms
15:46:54FromDiscord<nervecenter> OO is a tool, not everything
15:47:09FromDiscord<nervecenter> (edit) "a" => "one" | "onetool, not ... everything" added "a solution to"
15:47:09FromDiscord<abdulrahman.103> well in python its everything
15:47:12FromDiscord<abdulrahman.103> literally
15:47:23FromDiscord<abdulrahman.103> thats why i almost always use classes
15:47:24FromDiscord<_timurski> for many purposes OO is an objectively poor way to structure your program
15:47:36FromDiscord<abdulrahman.103> even variables are objects
15:48:16FromDiscord<nervecenter> In reply to @abdulrahman.103 "even variables are objects": That's partly because it's dynamically typed, so that object contains lots of type metadata which has to be checked at runtime
15:48:31FromDiscord<nervecenter> Which is why Python is 100x slower than a statically typed native compiled binary like Nim
15:49:40FromDiscord<abdulrahman.103> it really is a glue language
15:49:53FromDiscord<abdulrahman.103> you cant code something usefull without using c libraries
15:50:15FromDiscord<abdulrahman.103> im using pyside which is a qt wrapper
15:50:57FromDiscord<abdulrahman.103> but that mostly eliminates the performance issues
15:51:02FromDiscord<abdulrahman.103> because youre gluing c
15:51:17FromDiscord<abdulrahman.103> the second biggest issue is packaging
15:51:26FromDiscord<abdulrahman.103> there isnt a standard way to package python
15:51:44FromDiscord<abdulrahman.103> there is pyinstaller which is buggy and nuitka which is recent and works well
15:51:55FromDiscord<abdulrahman.103> nuitka compiles python to c (mostly)
15:58:35FromDiscord<DetermiedNim1> In reply to @_timurski "for many purposes OO": objectively
16:11:22FromDiscord<nervecenter> In reply to @abdulrahman.103 "there is pyinstaller which": The reason I chose Nim at my job was specifically I had been prototyping my analysis engine with Python and bashing my head against PyInstaller and Nuitka
16:11:41FromDiscord<nervecenter> They don't even come close to just writing your program in a native-compiled statically typed language
16:11:59FromDiscord<nervecenter> Python incurs enormous costs and you can't get around them without much ado
16:12:02FromDiscord<abdulrahman.103> sometimes you package it and then windows defender thinks its a virus
16:12:07FromDiscord<abdulrahman.103> or so i heard
16:12:12FromDiscord<abdulrahman.103> havent happened to me
16:12:56FromDiscord<abdulrahman.103> In reply to @nervecenter "They don't even come": the thing with compiled languages is most of them have bad syntax
16:13:03FromDiscord<abdulrahman.103> and interpreted ones tend to be easy
16:13:20FromDiscord<abdulrahman.103> idk why
16:13:26FromDiscord<abdulrahman.103> no correlation
16:13:42FromDiscord<abdulrahman.103> like js can be learned by a child in 3 days
16:13:43FromDiscord<nervecenter> Syntax is one thing, I'm more worried about semantics. C++ has textbooks' worth of hidden semantics that have to be learned, otherwise you stumble over them
16:14:02FromDiscord<nervecenter> Different types and passing rules for references, initialization rules, standard library inconsistencies, the works
16:14:15FromDiscord<abdulrahman.103> c++ is decades worth of code that has to be compatible with newer versions
16:14:31FromDiscord<nervecenter> Which in my view is not a strength
16:14:38FromDiscord<abdulrahman.103> i agree
16:14:42FromDiscord<abdulrahman.103> i dont want to learn all of that
16:14:52FromDiscord<abdulrahman.103> 1 standardized way is alot better
16:15:16FromDiscord<nervecenter> Systems that are critically important should not be built with brittle tools
16:15:29FromDiscord<abdulrahman.103> sometimes languages have to die and new ones replace them but c++ is not dying anywhere soon with that much c++ code flying around
16:15:50FromDiscord<abdulrahman.103> most tech is built with c/c++
16:15:57FromDiscord<abdulrahman.103> heck even python
16:16:12FromDiscord<abdulrahman.103> and nim depends on it
16:16:13FromDiscord<abdulrahman.103> too
16:16:29FromDiscord<abdulrahman.103> c is nice
16:16:35FromDiscord<abdulrahman.103> didnt change much
16:16:47FromDiscord<abdulrahman.103> a step above assembly
16:17:01FromDiscord<nervecenter> C has its problems but it has a stable standard in the form of C99, which made it a great compile target for Nim.
16:17:11FromDiscord<nervecenter> C++ is just too damn brittle
16:17:54FromDiscord<abdulrahman.103> In reply to @nervecenter "C has its problems": why did nim use c99 instead of newer standards
16:18:06FromDiscord<abdulrahman.103> compatibility?
16:18:14FromDiscord<abdulrahman.103> for old hardware
16:18:17FromDiscord<nervecenter> Stability and platform compatibility, yeah. You can find a C99 compiler basically anywhere
16:18:41FromDiscord<abdulrahman.103> and it will abstract features on it anyway
16:19:36FromDiscord<nervecenter> Right, I mentioned in my talk that Nim's compiler smooths out C's inconsistencies (all the platform checks done with the preprocessor, etc) within the compiler, so it's nicely under wraps.
16:20:05FromDiscord<abdulrahman.103> what are the uses of nim outputing js
16:20:09FromDiscord<abdulrahman.103> i dont see a use
16:20:18FromDiscord<abdulrahman.103> oh
16:20:19FromDiscord<abdulrahman.103> webapps
16:20:25FromDiscord<abdulrahman.103> yeah
16:20:33FromDiscord<abdulrahman.103> nevermind
16:20:38FromDiscord<nervecenter> I found a small use with a local-first single-page application, worked decently but wasn't the solution we needed
16:20:54FromDiscord<nervecenter> Distributing browser applications as a single html file is underrated
16:20:58FromDiscord<nervecenter> No actual server
16:21:08FromDiscord<abdulrahman.103> In reply to @nervecenter "Distributing browser applications as": never thought of that
16:21:10FromDiscord<gesee37> In reply to @_timurski "I don't use rust": It's far from nim's level. In rust metaprogramming is local and can't access informations about types and implementations like nim
16:22:44FromDiscord<_timurski> ah I see
16:22:52FromDiscord<gesee37> sent a code paste, see https://play.nim-lang.org/#pasty=JginxrTd
16:23:11FromDiscord<gesee37> Without annotations
16:23:33FromDiscord<_timurski> In reply to @determiedmech1 "*object*ively": yes, some types of software are not naturally modeled as being focused around individual objects
16:23:52FromDiscord<DetermiedNim1> object-ively
16:23:55FromDiscord<DetermiedNim1> object
16:23:58FromDiscord<_timurski> oh
16:24:00FromDiscord<DetermiedNim1> lol
16:24:02FromDiscord<_timurski> funjy
16:24:15FromDiscord<_timurski> In reply to @gesee37 "So you see things": inch resting
16:27:02*benson joined #nim
16:27:19FromDiscord<abdulrahman.103> In reply to @_timurski "inch resting": your bio doesnt have a timezone
16:27:43FromDiscord<_timurski> In reply to @abdulrahman.103 "your bio doesnt have": it uses discord time format so it automatically displays correctly for every time zone
16:27:56FromDiscord<_timurski> the times you see are the correct for your timezone
16:28:01FromDiscord<abdulrahman.103> 5:30 to 11:00
16:28:07FromDiscord<abdulrahman.103> pm, am
16:28:12FromDiscord<abdulrahman.103> 👍
16:28:39FromDiscord<_timurski> I'm actually abroad rn so it's not accurate
16:28:56FromDiscord<_timurski> but whatever
16:29:36FromDiscord<abdulrahman.103> ive never abroad but one time i was near the borders and the timezone got moved by a few minutes idk how is that even possible
16:29:46FromDiscord<_timurski> interesting
16:29:48FromDiscord<_timurski> very specific