<< 14-03-2024 >>

00:26:18*tc424 quit (Ping timeout: 268 seconds)
00:36:14*tc424 joined #nim
00:39:49*SchweinDeBurg quit (Quit: WeeChat 4.3.0-dev)
00:40:03*SchweinDeBurg joined #nim
01:04:44FromDiscord<nervecenter> What are the odds of a cleaner syntax for object variants? Seems like a lot of the boilerplate could be cleaned up and the semantics could be clearer.
01:05:00FromDiscord<Elegantbeef> There's an RFC
01:05:43FromDiscord<Elegantbeef> https://github.com/nim-lang/RFCs/issues/548
02:46:00*SchweinDeBurg quit (Quit: WeeChat 4.3.0-dev)
03:31:20FromDiscord<dedraiaken> Anyone know how to handle a Future within the context of asyncjs without being inside of an {.async.} proc?
03:31:34FromDiscord<dedraiaken> Such as from within a Karax event handler.
03:33:15FromDiscord<Elegantbeef> If you don't mind blocking isn't there a `waitFor`?
03:34:53FromDiscord<dedraiaken> There's a `waitFor` in asyncdispatch, but it doesn't seem to like the js backend
03:49:48FromDiscord<dedraiaken> sent a code paste, see https://play.nim-lang.org/#pasty=hQiXlRwWxJUR
03:50:13FromDiscord<dedraiaken> Otherwise `putThing` returns a Future[system.void] also
03:50:40FromDiscord<dedraiaken> (edit) "https://play.nim-lang.org/#pasty=wyeLVvpGAJSr" => "https://play.nim-lang.org/#pasty=ATBjxUejrgtC"
04:33:54*SchweinDeBurg joined #nim
05:05:00FromDiscord<nasuray> In reply to @dedraiaken "Such as from within": If you don't need it to be blocking you can discard it
05:13:33FromDiscord<dedraiaken> In reply to @nasuray "If you don't need": aha, thanks
06:08:17*redj quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
06:09:19*redj joined #nim
06:23:41*ntat joined #nim
06:45:01*advesperacit joined #nim
07:07:34*pusewicz1 is now known as pusewicz
07:10:52*pusewicz quit (Quit: leaving)
07:21:38*PMunch joined #nim
08:02:31FromDiscord<lyhokia> In reply to @demotomohiro "It seems your nimble": thanks, now nimble test works, but when I use the library as a dependency it won't work
08:02:53FromDiscord<lyhokia> I have the library here https://github.com/glyh/facedetection
08:03:46FromDiscord<lyhokia> Okay I found out if I set the backend of the application that requires dependency to `cpp` as well it will work
08:04:00FromDiscord<lyhokia> but is there anyway to let nimble know that this application should be compile with a cpp backend?
08:04:38FromDiscord<lyhokia> rather than setting in the nimble section directly, I mean it would be troublesome to let the user of the library to set their backend as well
08:08:51*PMunch_ joined #nim
08:11:58*PMunch quit (Ping timeout: 264 seconds)
08:19:22PMunch_I don't think that's possible @lyhokia
08:19:27*PMunch_ is now known as PMunch
08:20:21PMunchThe end user has to be working on a C++ project to use C++ packages
08:30:13FromDiscord<lyhokia> Okay, thanks
08:34:49FromDiscord<System64 ~ Flandre Scarlet> Hi, is there a way to cross-compile Nim programs to Windows from Linux please?
08:35:12PMunchYes there is
08:35:16PMunchWith MinGW
08:36:07FromDiscord<Elegantbeef> Also with zig
08:36:13PMunchhttps://nim-lang.github.io/Nim/nimc.html#crossminuscompilation-for-windows
08:36:14FromDiscord<System64 ~ Flandre Scarlet> In reply to @PMunch "With MinGW": Oh nice!↵Because I have enough of Windows, so I want to move to Linux
08:36:30PMunchCan't fault you for that :) Linux is pretty great
08:36:53FromDiscord<System64 ~ Flandre Scarlet> In reply to @PMunch "Can't fault you for": Yeah! And Gaming on Linux is improving a lot
08:37:06PMunchOh definitely
08:37:20PMunchStill a bit wonky at times, but much better than it used to be
08:37:29Amun-RaSystem64: install mingw, add -d=mingw and voila
08:37:43FromDiscord<System64 ~ Flandre Scarlet> In reply to @PMunch "Still a bit wonky": Especially with some online games
08:37:49PMunchGranted half my bugs are from using Norwegian Dvorak and games not supporting norwegian letters properly :P
08:37:57PMunchOh yeah, I don't really play online
08:38:06FromDiscord<Elegantbeef> Pmunch is really out in the boons
08:38:16FromDiscord<System64 ~ Flandre Scarlet> But I think Steam Deck will push Linux gaming forward!
08:38:37FromDiscord<Elegantbeef> Eh the tech behind the steam deck that predated it did that 😄
08:38:51FromDiscord<Elegantbeef> The steam deck was valve saying "alright we got this machine smooth enough let's captialise"
08:38:51FromDiscord<System64 ~ Flandre Scarlet> In reply to @Amun-Ra "System64: install mingw, add": Oh thanks!↵And is it possible to compile with MSVC too?
08:38:53PMunch@Elegantbeef, true, but internet here is great!
08:39:06FromDiscord<Elegantbeef> No MSVC is windows only
08:39:08Amun-RaSystem64: msvc on linux?
08:39:16FromDiscord<Elegantbeef> You use clang, zigcc, mingw on linux
08:39:22PMunchI guess ping could be an issue simply because of distance (pesky physics)
08:39:24FromDiscord<Elegantbeef> zigcc is clang but with a linker and friends
08:39:36Amun-Raand a libc
08:39:36FromDiscord<Elegantbeef> I was more just saying you have an eclectic setup
08:39:42PMunchOh right :P
08:39:46PMunchThat is true
08:39:47FromDiscord<System64 ~ Flandre Scarlet> In reply to @Elegantbeef "You use clang, zigcc,": MinGW probably provides the best performances
08:39:57FromDiscord<Elegantbeef> clang is probably the best performing
08:40:04Amun-RaSystem64: and msvc is… wonkish
08:40:08FromDiscord<Elegantbeef> But that's just my assumption due to clang being better than gcc in most cases
08:40:16FromDiscord<Elegantbeef> It's MS software of course it is wonky 😛
08:40:22Amun-Ra:D
08:40:24FromDiscord<Elegantbeef> It's the MS stamp of approval
08:40:34PMunchHaha, too true
08:40:51FromDiscord<Elegantbeef> Excuse me whilst I use utf14.25
08:40:59FromDiscord<System64 ~ Flandre Scarlet> In reply to @Elegantbeef "It's MS software of": I hate Microsoft
08:41:18*PMunch *shudders while thinking about LSP*
08:41:46FromDiscord<Elegantbeef> I just love how so much complexity comes from the windows api being so oddly designed
08:41:59PMunchIt uses UTF8 to pass data around, but gives offsets in UTF16 codepoints *facepalm*
08:42:14FromDiscord<Elegantbeef> "We use utf16 for most apis unless you use newer apis that handle utf8"
08:42:26FromDiscord<Elegantbeef> Almost all documentation is for utf16!
08:42:39PMunchTheir rationale in the GitHub issue about it was that "most languages uses UTF16 internally", they got called out on that one pretty immediately :P
08:42:48FromDiscord<Elegantbeef> Lol
08:43:03FromDiscord<Elegantbeef> Most languages being MS's C# and C++!
08:43:08FromDiscord<Elegantbeef> Those are the only two languages
08:43:58FromDiscord<Elegantbeef> It's pretty funny cause most agree that utf16 is just the worst
08:44:13FromDiscord<System64 ~ Flandre Scarlet> In reply to @Elegantbeef "Most languages being MS's": And F# and Q#
08:44:17FromDiscord<Elegantbeef> utf8 \> utf32 \> ascii \> utf16 😄
08:45:46PMunchI don't think C++ uses UTF16 does it?
08:45:55FromDiscord<Elegantbeef> Anyway welcome to the linsux userbase, make sure you make a repo with your dotfiles so you never forget that you set your status bar to '#ef2132'
08:45:58FromDiscord<Elegantbeef> The way MS uses it does
08:45:58PMunchQ#?
08:46:22FromDiscord<System64 ~ Flandre Scarlet> In reply to @PMunch "Q#?": It's a language for quantum computing
08:46:32PMunchAh right
08:46:50FromDiscord<Elegantbeef> Surely they'd use utf8
08:46:51PMunch@Elegantbeef, what kind of madman sets their status bar to bright red?
08:47:18FromDiscord<Elegantbeef> Hey what if that was LSB?
08:47:27FromDiscord<Elegantbeef> That's an ok blue
08:47:44FromDiscord<System64 ~ Flandre Scarlet> Hey seems even Unity supports Linux↵But no native support for GameMaker Studio 2 (however it supports Mac?...)
08:48:14FromDiscord<Elegantbeef> You're in Nimland just make it from scratch
08:48:36PMunchHaha, what kind of madman uses a statusbar which accepts colours in LSB format :P
08:48:56PMunchBut yeah, that blue isn't half bad
08:49:05FromDiscord<Elegantbeef> Someone that's on a BE system
08:49:15FromDiscord<Elegantbeef> I don't know don't look at me I made a joke. Leave me alone!
08:49:23PMunchI've run GameMaker under Wine :)
08:49:36FromDiscord<Elegantbeef> I already had a struggle with Nim dumbly NVROing dynlib code
08:49:40FromDiscord<System64 ~ Flandre Scarlet> In reply to @PMunch "I've run GameMaker under": Which one? Studio 1.4? Studio 2?
08:50:14PMunchI think it might've been pre-studio :P
08:50:20PMunchBut I don't remember
08:51:25FromDiscord<Elegantbeef> Truthfully unless you have a project already made in gms I don't see why not just use godot
08:51:34FromDiscord<System64 ~ Flandre Scarlet> However seems there is no Msys2 on Linux↵Quite annoying because I like its package manager
08:51:38PMunchOh wow, definitely not studio 2 at least, that looks totally different :S
08:51:50FromDiscord<Elegantbeef> It just uses pacman
08:51:53FromDiscord<Elegantbeef> So just use arch
08:51:58FromDiscord<System64 ~ Flandre Scarlet> Studio 2 is free now
08:52:01FromDiscord<Elegantbeef> You don't need msys2 on linux we have package managers
08:52:03PMunch@System64_~_Flandre_Scarlet, trust me, Linux has better package management solutions
08:52:18FromDiscord<System64 ~ Flandre Scarlet> In reply to @Elegantbeef "So just use arch": Which is not a problem since I plan to use Garuda Linux
08:52:39FromDiscord<Elegantbeef> Well msys2 uses a pacman with a small registry pmunch so it's the linux package management solution 😛
08:52:39FromDiscord<System64 ~ Flandre Scarlet> In reply to @PMunch "@System64_~_Flandre_Scarlet, trust me, Linux": This is so true↵Windows lacks of Package managers
08:52:48FromDiscord<Elegantbeef> winget!
08:52:56FromDiscord<Elegantbeef> chocolatey, scoop!
08:53:05FromDiscord<Elegantbeef> Wait those pale in comparison though
08:53:11PMunch@Elegantbeef, oh really? Wait is this for the Llnux subsystem?
08:53:19FromDiscord<Elegantbeef> Nah
08:53:24FromDiscord<System64 ~ Flandre Scarlet> Oh forgot this one!↵Does it even support library installation ?↵"Undefined Reference to SDL_"
08:53:26FromDiscord<Elegantbeef> Msys2 is a small unix environment for windows
08:53:40FromDiscord<Elegantbeef> > The MSYS2 software distribution uses a port of pacman (known from Arch Linux) to manage (install, remove and update) binary packages and also to build those packages in the first place.
08:53:53FromDiscord<Elegantbeef> Of course package mangers support libraries
08:54:19FromDiscord<System64 ~ Flandre Scarlet> Coding in C/C++ on Windows is painful
08:54:30FromDiscord<Elegantbeef> Right coding on linux is lovely
08:54:34FromDiscord<Elegantbeef> Especially if you have the AUR
08:54:45FromDiscord<System64 ~ Flandre Scarlet> Isn't AUR dangerous?
08:54:47FromDiscord<Elegantbeef> Anything mildly popular is a command away
08:55:04FromDiscord<Elegantbeef> Yea the AUR is so dangerous my fingies got chopped off installing packages
08:55:14PMunchNot more dangerous than downloading random setup files from sourcehut :P
08:55:17FromDiscord<Elegantbeef> I mean it can be dangerous as it's user submmited programs
08:55:24PMunchWhich is the Windows way of installing stuff :P
08:55:38FromDiscord<Elegantbeef> The difference here is that you can look at the recipe and look at the code
08:55:51FromDiscord<Elegantbeef> Unless it's a AUR package that installs a proprietary bin of course
08:55:52PMunchAnd it has a voting system
08:56:13PMunchSo there is at least a slight bit of defense
08:57:08FromDiscord<Elegantbeef> I also like the aur packages that are just appimages so I don't have to go do windowsy things
08:57:20FromDiscord<Elegantbeef> I'd prefer them to be native binaries, but bleh
08:58:02FromDiscord<Elegantbeef> If I can get a nightly version of an appimage with my package manager I'm going to do it over manually downloading a appimage, then making a desktop entry and crying in the corner
09:08:41FromDiscord<System64 ~ Flandre Scarlet> Is Arch unstable?
09:10:19PMunchNot really
09:10:30Amun-Rathe installer is ;)
09:10:56PMunchIt's bleeding edge, so sometimes it breaks or behaves strangely. But it's always fixeable, and commonly just by updating your packages
09:11:13PMunchHaven't used the installer in ages :P
09:11:15Amun-Rayou may start with Mint, it's aur based distro iirc
09:11:22PMunchI have a document with how I set up my machines
09:11:31PMunchMint is Arch based?
09:11:37PMunchI thought it was CentOS based
09:11:42Amun-Rahmm
09:11:58PMunchOh, Ubuntu based it turns out :P
09:12:02Amun-Rayou're right, I mean Manjaro :)
09:12:22Amun-Rait's Arch, nobody has seen the installer ;)
09:12:38PMunchOh right, yeah Manjaro is Arch based
09:12:44PMunchIt's what I used to run before going full Arch
09:13:36FromDiscord<System64 ~ Flandre Scarlet> In reply to @Amun-Ra "you're right, I mean": Manjarno
09:14:50*ntat quit (Quit: Leaving)
09:15:08FromDiscord<System64 ~ Flandre Scarlet> I've heard bad things about Manjaro
09:17:00FromDiscord<Elegantbeef> Endeavour is a nice easy access to arch
09:17:24FromDiscord<odexine> n-n--
09:17:30FromDiscord<System64 ~ Flandre Scarlet> In reply to @Elegantbeef "Endeavour is a nice": Yeah↵And Garuda Linux too
09:18:31PMunchManjaro has its pros and cons
09:18:46FromDiscord<Elegantbeef> If you are thinking about using manjaro... just don't
09:19:18FromDiscord<odexine> i think its better to go with mainline arch than manjaro
09:19:30FromDiscord<Elegantbeef> The pros are it's a linux OS the cons are it's a linux OS ran but people that have a track record that is best described as willy wonka in scotland
09:19:52FromDiscord<odexine> whats special about scotland for willy wonka being there to be significant
09:19:53PMunchWe should make Narch, Nim based Arch distro. Using pakku as the AUR/pacman frontend, Nimdow as the window managed, notifishower for various menus and notifications, and various other tools the Nim community has made
09:20:15FromDiscord<odexine> and have one user, you?
09:20:32PMunchPfft, we could also get @System64_~_Flandre_Scarlet to use it!
09:20:39FromDiscord<Elegantbeef> There was the willy wonka event in Scotland that used ai generated promotional content and was pretty much an empty warehouse
09:20:42PMunchPre-installed with Nim of course
09:20:54FromDiscord<odexine> In reply to @Elegantbeef "There was the willy": oh that was in scotland??
09:20:56FromDiscord<odexine> oof
09:20:57PMunchHuh, never heard of that :P
09:20:59FromDiscord<System64 ~ Flandre Scarlet> In reply to @PMunch "We should make Narch,": Does it exist?
09:21:04FromDiscord<odexine> "we should make"
09:21:07PMunchSo no
09:21:24PMunchBut yeah, Manjaro doesn't have a great track record
09:21:36FromDiscord<System64 ~ Flandre Scarlet> Oh,↵Would be pretty interesting↵Because C/C++ is dangerous↵And Rust is... Well...
09:21:42PMunchBut last I used it it was much easier to install than Arch
09:22:19FromDiscord<odexine> C isnt inherently dangerous just like how rust isnt inherently safe?
09:22:22FromDiscord<Elegantbeef> Don't forget our anti-malware software which scans for Nim signatures and only runs code written in Nim
09:22:37FromDiscord<odexine> In reply to @Elegantbeef "Don't forget our anti-malware": there goes the kernel...
09:22:50FromDiscord<odexine> In reply to @PMunch "But last I used": even with archinstall?
09:22:51FromDiscord<Elegantbeef> User code
09:22:51FromDiscord<System64 ~ Flandre Scarlet> Kernel written in Nim
09:23:12FromDiscord<odexine> In reply to @Elegantbeef "User code": there goes a lot of system utilities... and your init system.....
09:23:28FromDiscord<System64 ~ Flandre Scarlet> Spoiler : the Matrix is actually written in Nim
09:24:29FromDiscord<Elegantbeef> Right but if you're going to use manjaro just use endeavour
09:24:34FromDiscord<Elegantbeef> It has a guided gui install and works fine
09:24:38FromDiscord<odexine> whats the diff
09:24:48FromDiscord<System64 ~ Flandre Scarlet> It's just an Arch
09:25:41PMunch@odexine, "last I used", don't think archinstall was available at that time
09:35:21FromDiscord<System64 ~ Flandre Scarlet> But first I clean up my C drive before installing Linux
10:21:51*ntat joined #nim
11:00:27FromDiscord<zumi.dxy> > Narch, Nim based Arch distro.↵what, is there a distro with all-Rust tools or is that just called Redox?
11:01:23FromDiscord<zumi.dxy> also not to be confused with Nyarch
11:01:52FromDiscord<alehander92> Redox
11:01:55FromDiscord<alehander92> is a rust os
11:02:06FromDiscord<alehander92> https://www.redox-os.org/
11:02:13FromDiscord<alehander92> > Redox is a Unix-like Operating System written in Rust, aiming to bring the innovations of Rust to a modern microkernel and full set of applications.
11:02:29FromDiscord<zumi.dxy> yeah the whole point of that is that even the kernel is RIIR'd
11:02:31FromDiscord<alehander92> not a linux distribution
11:02:36FromDiscord<alehander92> well
11:02:36FromDiscord<zumi.dxy> that's the joke
11:02:41FromDiscord<alehander92> i think people should write way more new os-es
11:02:50FromDiscord<alehander92> so i think it's a good effort
11:02:56FromDiscord<alehander92> yeah i see haha
11:03:26om3garedox is not stable and has a lot of critical issues
11:03:47FromDiscord<zumi.dxy> templeOS just so we can use the glorious HolyC :p↵i've also heard of mikeOS, it's an interesting x86 project
11:06:13FromDiscord<odexine> In reply to @om3ga "redox is not stable": well id say thats only natural for a young project ainit
11:06:48om3gaodexine, that's enough to not use it in production
11:07:08FromDiscord<odexine> i dont mean to imply anything about using it in prod?
11:07:31om3gaI mean nor for personal use :)
11:08:09FromDiscord<zumi.dxy> cough
11:09:25om3gainitial release of redox was 8 yrs ago, strange they did not released stable release yet
11:10:44FromDiscord<odexine> In reply to @om3ga "I mean nor for": neither do i imply that
11:11:24FromDiscord<odexine> In reply to @om3ga "initial release of redox": in some sense you could have said the same for nim, since it had been public 2009 and iirc 1.0 came on around 2020 or so
11:12:03FromDiscord<zumi.dxy> ^ that's exactly what i was implying
11:12:31FromDiscord<odexine> things take long to stabilise and i think its fine
11:12:40om3gaI use nim from 2017 , nim was stable enough already
11:12:43FromDiscord<odexine> esp if its not very popular
11:12:53FromDiscord<alehander92> it's very hard to make a production-ready desktop os
11:12:54FromDiscord<alehander92> nowadays
11:13:03FromDiscord<alehander92> it's impressive what they've done
11:13:10om3gawell, linux team somehow managed this
11:13:24FromDiscord<odexine> idk about you but linux has existed for way longer?
11:13:26FromDiscord<alehander92> well, that's not very fair
11:13:37FromDiscord<alehander92> Linux has probably 100x resources behind it
11:13:54FromDiscord<alehander92> and it consolidates most of the open source osdev efforts
11:14:12FromDiscord<alehander92> it's like comparing nim with Java
11:14:33FromDiscord<alehander92> i see projects like redox, not as Linux concurrents
11:14:40om3gawhy? I installed my first linux version in 1998, it was already very stable back then
11:14:41FromDiscord<alehander92> but as great toy/eventual personal usage efforts
11:14:53FromDiscord<alehander92> In reply to @om3ga "why? I installed my": it still had much more effort behind it
11:15:06FromDiscord<alehander92> it was already probably the biggest open source project
11:15:16FromDiscord<alehander92> redox is just some hobby project by some rust enthusiasts
11:15:32om3gathere's a lot of other os-es. like menuetOS written in assembly, tons more
11:15:52FromDiscord<alehander92> probably none of them is close to Linux at all
11:15:55FromDiscord<alehander92> (edit) "probably none of them is close to Linux ... at" added "distros"
11:16:02om3gathe problem is in motivation, ability to develop it more
11:16:19FromDiscord<alehander92> i am not an exprert, so i dont know which hobby os-es are best
11:16:28FromDiscord<alehander92> but i hope i can work on one haha
11:16:46om3gahaikuOS - fork of BeOs
11:16:52FromDiscord<alehander92> In reply to @om3ga "the problem is in": for such a project you need a community and that's not just a technical problem
11:17:26FromDiscord<alehander92> Serenity OS also seems kinda well developed
11:17:33om3gahaiku is stable btw, not stable as linux but usable already
11:18:07om3gaSerenity is still alpha version
11:18:15FromDiscord<alehander92> yes, but it was created
11:18:24FromDiscord<alehander92> by people who already worked on a professional OS
11:18:35FromDiscord<alehander92> but probably it seems impressive indeed
11:18:46FromDiscord<alehander92> sorry have to go back to work
11:20:06FromDiscord<zumi.dxy> Serenity is pretty exciting to watch
11:20:46FromDiscord<zumi.dxy> given the author also has an independent web browser project going
11:24:33om3gaHave you tried haiku? Worth to see
11:46:59*ntat quit (Quit: Leaving)
11:56:25FromDiscord<System64 ~ Flandre Scarlet> In reply to @om3ga "Have you tried haiku?": I don't think you can daily drive Haiku
11:57:07PMunchHmm, anyone else frustrated by templates reporting `undeclared identifier` for untyped arguments when other arguments don't match their typed definition?
11:58:47om3gaSystem64, why? Nim ported to Haiku btw
12:04:21FromDiscord<System64 ~ Flandre Scarlet> In reply to @om3ga "System64, why? Nim ported": Can you actually make programs on it? Can you game on it?
12:05:58PMunch"Can"
12:06:02PMunchOf course you can
12:06:09PMunchhttps://www.pcgamingwiki.com/wiki/List_of_Haiku_OS_64-bit_games
12:06:29PMunchNot a whole lot of games, but NetHack alone would take you a couple years to complete I guess :P
12:06:47FromDiscord<olfactoryhallucinations> Haiku still has pretty spotty hardware support, doesn't it?
12:10:13om3gaolfactoryhallucinations it supports x64, do you have very exotic hardware?
12:12:53FromDiscord<zumi.dxy> In reply to @sys64 "I don't think you": this guy's trying to though https://youtu.be/GW2V034859k?feature=shared
12:14:59NimEventerNew thread by mszs: Xl and excelin both turn external file references to all lowercase, see https://forum.nim-lang.org/t/11218
12:16:26FromDiscord<System64 ~ Flandre Scarlet> In reply to @PMunch "https://www.pcgamingwiki.com/wiki/List_of_Haiku_OS_": Can you run Steam too?
12:17:06PMunchGiven that very short list of supported games I'd say no
12:17:14PMunchBut I have no idea, never tried Haiku
12:17:41om3gaSystem64 how steam absence makes Haiku unusable?
12:18:12FromDiscord<System64 ~ Flandre Scarlet> In reply to @om3ga "System64 how steam absence": It was one of the things
12:19:01om3gaHaiku can run text editors, services, compilers, browsers, ssh client and many more - this is enough to have stable working os
12:19:09FromDiscord<Robyn [She/Her]> In reply to @om3ga "System64 how steam absence": Steam is what most people use for gaming iirc
12:19:42om3gaRobyn [She/Her], that's is their problem :) I don't play games at all
12:20:03FromDiscord<Robyn [She/Her]> In reply to @om3ga "Haiku can run text": Sure, but most people like to play newer games like OW2, via proton for Linux since no native Linux support
12:20:24FromDiscord<Robyn [She/Her]> In reply to @om3ga "Robyn [She/Her], that's is": Fair enough aha, I only play a handful of games so it wouldn't be a problem to me
12:20:51om3gaRobyn [She/Her], not all games run on Linux or OSX or anywhere else, so this not means Linux or OSX is not usable
12:22:56FromDiscord<Robyn [She/Her]> In reply to @om3ga "Robyn [She/Her], not all": Of course, but Wine runs on both of those, does it run on Haiku?
12:23:06FromDiscord<Robyn [She/Her]> I'm not sure if it does so I'm just asking
12:23:22FromDiscord<Robyn [She/Her]> Oh, and some of the bigger games run on Mac or Linux too
12:23:30FromDiscord<Robyn [She/Her]> (edit) "Oh, and some of the bigger games run on Mac or Linux too ... " added "(natively)"
12:24:21om3gayeah they ported wine as far as I know
12:25:26om3gaRobyn [She/Her] Some games run in Lunux and OSX, but not all. So my argument is correct. This shouldn't be a factor that makes os unusable
12:26:33om3gahere is proof: https://discuss.haiku-os.org/uploads/default/original/2X/f/fc2f664ec5d8b85e706d7fadeedf2d5616a5e952.png
12:29:29FromDiscord<zumi.dxy> win32: the stable crossplatform ABI
12:29:30FromDiscord<zumi.dxy> lul
12:30:32FromDiscord<System64 ~ Flandre Scarlet> In reply to @zumi.dxy "win32: the stable crossplatform": Let's run Touhou on HaikuOS
12:32:10FromDiscord<zumi.dxy> 😏
12:32:34FromDiscord<Robyn [She/Her]> In reply to @om3ga "Robyn [She/Her] Some games": Fair
12:32:47FromDiscord<Robyn [She/Her]> In reply to @om3ga "here is proof: https://discuss.haiku-os.org/uploads": Huh, neat!
12:34:42*casaca quit (Write error: Connection reset by peer)
12:34:43*noeontheend quit (Write error: Connection reset by peer)
12:34:44*mronetwo quit (Remote host closed the connection)
12:34:45*ursa-major quit (Write error: Connection reset by peer)
12:34:45*robertmeta quit (Remote host closed the connection)
12:34:45*adigitoleo quit (Read error: Connection reset by peer)
12:34:55*mronetwo joined #nim
12:34:55*adigitoleo joined #nim
12:34:56*robertmeta joined #nim
12:35:03*ursa-major joined #nim
12:35:11*noeontheend joined #nim
12:39:37*casaca joined #nim
13:03:34FromDiscord<olfactoryhallucinations> In reply to @om3ga "olfactoryhallucinations it supports x64,": I didn't mean the CPU, but rather things like network hardware and maybe graphics hardware. But if you're running it in a VM, that's less of a problem.
13:04:37*PMunch quit (Quit: Leaving)
13:04:58FromDiscord<olfactoryhallucinations> I remember reading that it works well on a Thinkpad or something like that, but you will probably have issues on most laptops. Though that was a couple of years ago to be fair.
13:22:01*PMunch joined #nim
13:38:29*ntat joined #nim
13:51:23om3gaolfactoryhallucinations, idk, I have haiku on laptop with intel hd integrated graphics, it works. maybe in some cases there are issues
13:56:01*krux02 joined #nim
14:00:51*lucasta joined #nim
14:01:23FromDiscord<olfactoryhallucinations> Yeah, looking around a bit, the support seems better now, but I saw people warning about issues with newer laptops for instance.
14:02:52FromDiscord<olfactoryhallucinations> I haven't tried using Haiku, but I did actually buy a boxed copy of BeOS back in the day. I ended up not using it very much due to a lack of software, but it was pretty cool.
14:38:20*lucasta quit (Remote host closed the connection)
16:00:53arkanoidnim manual: "mixin statements only make sense in templates and generics", my project: compiles only if I put "mixin isolate" in main.nim file, global section.
16:04:02FromDiscord<odexine> well, it makes no sense
16:04:09FromDiscord<odexine> so the statement isnt wrong
16:05:13FromDiscord<Robyn [She/Her]> In reply to @arkanoid "nim manual: "mixin statements": Hey Beef, wanna explain this fuckery? Idk how to explain what happens-
16:07:24om3gaolfactoryhallucinations, maybe. but it's ok for not very popular os. I remember the same issues with linux. Probably now linux has the same problems too
16:10:29arkanoidhere's another one: got: <typedesc[Meter], typedesc[DecaMeter], typedesc[Minute]>, but expected: <D: Length, LD: Length, T: Time>
16:10:32FromDiscord<nervecenter> In reply to @Elegantbeef "https://github.com/nim-lang/RFCs/issues/548": Oh sick, and by Andreas! Was probably the one feature I use that I wanted syntax for, awesome.
16:15:57*junaid_ joined #nim
16:36:14*SchweinDeBurg quit (Quit: WeeChat 4.3.0-dev)
16:56:57FromDiscord<jaar23> I feel like nim is suitable for data engineering area, is there anyone using it for their data project? If yes, how was it?
16:58:54om3gajaar23, what examples of data projects are you doing usually?
16:59:43FromDiscord<jaar23> Mostly data ingestion, like spark those. But my company software mainly using python and you know.. How slow it is
17:00:20FromDiscord<jaar23> Data processing like tokenize and nlp those as well.
17:03:15om3gayou can use existing parsers for xml for example, of json, or csv. I did some by myself from scratch using plain nim only, so it's fast as expected, with polyhedral optimisation code works more fast especially if you need to transform parsed data before import
17:04:28FromDiscord<jaar23> That's true, the process for csv and json in nim is very good. Except the ingestion part, the industry standard now is spark, and i hardly find an alternative for it
17:06:39om3gajaar23: https://github.com/bluenote10/NimData
17:07:12om3gaBut have no clue how good this works
17:07:47FromDiscord<jaar23> Yes, I have try this for some simple data frame thing, is simple and nice.
17:07:58FromDiscord<jaar23> But not sure if it still works for nim 2
17:13:16FromDiscord<vindaar> NimData should still work. If not it'll be an easy fix almost certainly
17:16:27FromDiscord<nervecenter> In reply to @jaar23 "I feel like nim": I use Datamancer, it is very very good. You have to give it type information to index columns of course, and internally they are stored as ArrayMancer tensors so you occasionally need to convert to sequences if you need to extract a whole array for some reason, but I use it in production for data analysis server-side at an engineering company.
17:16:52*junaid_ quit (Remote host closed the connection)
17:17:12FromDiscord<nervecenter> It's fairly well documented and optionally has a "formula" system for doing complex transformations.
17:17:41FromDiscord<nervecenter> Essential docs:↵https://scinim.github.io/getting-started/basics/data_wrangling.html↵https://scinim.github.io/Datamancer/datamancer.html
17:18:25FromDiscord<nervecenter> I do lots of conversions to and from CSV as well and that has tons of expected options for skipping and parsing.
17:19:07FromDiscord<nervecenter> It's thoroughly documented though discovery can be difficult, chances are it can do what you need it to do, you'll just need to look through all the procs because the names can be wonky.
17:39:26FromDiscord<jaar23> Datamancer looks cool, will check on it!
17:40:22FromDiscord<jaar23> Wonder how easy is it to setup nim with jupyter notebook, anyone try that?
17:48:23FromDiscord<nervecenter> Oh and a note, I was basically able to overhaul the feature catalog at my company thanks to simple dataframe concatenation. In Datamancer it's `assignStack()`. It says it's unsafe but I've had pretty good results with it, you can always sequentially `add`. Keep in mind `add` is pretty low performance.
17:48:51FromDiscord<nervecenter> (edit) "performance." => "performance thanks to copying."
17:49:11FromDiscord<nervecenter> (edit) "Oh and a note, I was basically able to overhaul the feature catalog at my company thanks to simple dataframe concatenation. In Datamancer it's `assignStack()`. It says it's unsafe but I've had pretty good results with it, ... you" added "though"
17:49:24FromDiscord<nervecenter> In reply to @jaar23 "Datamancer looks cool, will": Oh and a note, I was basically able to overhaul the feature catalog at my company thanks to simple dataframe concatenation. In Datamancer it's assignStack(). It says it's unsafe but I've had pretty good results with it, though you can always sequentially add. Keep in mind add is pretty low performance thanks to copying.
17:49:49FromDiscord<nervecenter> (edit) "assignStack()." => "`assignStack()`." | "add." => "`add`." | "add" => "`add`"
17:55:49*junaid_ joined #nim
18:10:57*pbsds9 joined #nim
18:11:52*m5zs7k_ joined #nim
18:12:34*m5zs7k quit (Quit: m5zs7k)
18:12:34*_________ quit (Ping timeout: 264 seconds)
18:12:34*cornfeedhobo quit (Ping timeout: 264 seconds)
18:12:47*pbsds quit (Ping timeout: 260 seconds)
18:12:49*pbsds9 is now known as pbsds
18:13:37FromDiscord<saint.___.> In reply to @jaar23 "Yes, I have try": U can try the nim simdjson bindings might be faster for u
18:14:03*_________ joined #nim
18:14:23FromDiscord<saint.___.> In reply to @nervecenter "Essential docs: https://scinim.github.io/getting-st": Hows the speed of this compared to pandas?
18:14:56FromDiscord<saint.___.> or even compared to r dplyr
18:19:11*cornfeedhobo joined #nim
18:20:25*m5zs7k_ is now known as m5zs7k
18:29:44FromDiscord<Robyn [She/Her]> In reply to @jaar23 "Mostly data ingestion, like": Iirc is it Python 3.13 that'll have a JIT?
18:31:14Amun-Rayes
18:32:39FromDiscord<Robyn [She/Her]> Neat
18:32:45FromDiscord<Robyn [She/Her]> Wonder if the JIT is pluggable
18:34:33Amun-RaI wonder how it'll affect pypy
18:43:32FromDiscord<nervecenter> In reply to @saint.___. "Hows the speed of": Very very very fast, it's using Arraymancer tensors underneath. Much faster than Pandas in almost all cases.
18:44:05FromDiscord<nervecenter> (edit) "cases." => "cases, in the typical ways compiled Nim programs are faster than Python, though Pandas is accelerated to some degree."
18:45:34*LuxuryMode quit (Quit: Connection closed for inactivity)
18:51:33FromDiscord<saint.___.> In reply to @nervecenter "Very very very fast,": Ya I was wondering how slow pandas woudl be cause isn't it just all c wrappings
18:52:11FromDiscord<nervecenter> With lots of procedure to determine types and pick optimized code paths, yes
18:52:19FromDiscord<.bobbbob> In reply to @chronos.vitaqua "Iirc is it Python": jit can only do so much for a dynamically typed lang
18:54:02FromDiscord<saint.___.> In reply to @nervecenter "With lots of procedure": Do u just use datamancer for data processing?
18:54:12FromDiscord<saint.___.> I was taking a look at flambeau but it seems dead
18:55:00FromDiscord<nervecenter> Yeah mostly
18:55:15FromDiscord<nervecenter> Can't think of anything else I use
18:56:05FromDiscord<saint.___.> Oh it seems arraymancer has some nn functionality?
18:56:26FromDiscord<nervecenter> It's built to be a backend for NN but also works as a general purpose tensor library
18:56:46FromDiscord<saint.___.> Right
18:56:50FromDiscord<saint.___.> The syntax looks so nice
18:58:06FromDiscord<saint.___.> Doesn't have LSTM 😦
19:13:40arkanoidwhat's the correct way to stop user from creating objects like ObjectType(foo: ..., bar: ...) and use only proper initObjectType proc?
19:19:20*ntat quit (Quit: Leaving)
19:24:55FromDiscord<Elegantbeef> @Robyn [She/Her] simple it's a compiler bug
19:28:40FromDiscord<Elegantbeef> Arkanoid that's the trick you cannot 😄
19:32:07arkanoidElegantbeef, cool!
19:32:42*junaid_ quit (Remote host closed the connection)
19:37:28FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "<@524288464422830095> simple it's a": Damn
19:37:47FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Arkanoid that's the trick": I mean, could do name mangling or something
19:38:05FromDiscord<Elegantbeef> I mean you can always make a distinct
19:38:17FromDiscord<Robyn [She/Her]> Wdym?
19:38:45arkanoidhow would distinct solve this?
19:40:01FromDiscord<Elegantbeef> Cause a distinct does not have the base fields
19:40:11FromDiscord<Elegantbeef> Unless you do `type MyType {.borrow: ...} = distinct MyImpl`
19:40:24FromDiscord<Elegantbeef> And you still need to do `MyType MyImpl(...)`
19:41:58FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Cause a distinct does": Oh it doesn't? Damn
19:43:03arkanoidmmm interesting
19:43:57FromDiscord<Robyn [She/Her]> In reply to @arkanoid "what's the correct way": Though why would you not want this?
19:44:32FromDiscord<Elegantbeef> To prevent chuckle fucks from making incorrect data
19:44:39arkanoidexactly
19:44:50FromDiscord<Elegantbeef> It's why constructors exist after all
19:44:58arkanoideven if I don't know the words you are using
19:45:10arkanoidI expect it to mean what I think
19:45:16FromDiscord<Elegantbeef> incorrect means wrong
19:45:19arkanoidit's a distinct thought
19:46:13FromDiscord<Robyn [She/Her]> Fair
19:46:39arkanoid"incorrect" is actually the only word that is the same in my native language (just add 1 letter)
19:47:08FromDiscord<Elegantbeef> incorrecto
19:53:05om3gaHave anyone tried this with nim : AdaptiveCpp compiler https://github.com/AdaptiveCpp/AdaptiveCpp
19:57:25FromDiscord<Robyn [She/Her]> I wonder if using distinct is actually a good approach hm
19:57:48FromDiscord<Robyn [She/Her]> Can't see any reason why it'd be bad but maybe I'm missing something
19:58:13FromDiscord<Elegantbeef> Well it allows you to not export the base type so you cannot create a type incorrectly
19:59:47*xet7 quit (Remote host closed the connection)
20:00:20*xet7 joined #nim
20:06:54Amun-RaI didn't know you can borrow like that, nice
20:07:45FromDiscord<Elegantbeef> well I left out the actual borrowing dot
20:08:00FromDiscord<Elegantbeef> `{.borrow:` only works for accquoted dot
20:10:34FromDiscord<Robyn [She/Her]> I didn't know you could borrow all functions from a type in the first place so this is useful for me
20:10:41FromDiscord<Elegantbeef> You cannot
20:10:50FromDiscord<Robyn [She/Her]> Oh nvm then
20:10:56FromDiscord<Elegantbeef> That's literally what I just said
20:10:57FromDiscord<Robyn [She/Her]> It's just for fields?
20:11:01FromDiscord<Elegantbeef> Yes
20:11:04FromDiscord<Robyn [She/Her]> Oh
20:11:14FromDiscord<Robyn [She/Her]> My memory is so short I forgot that you said thT
20:11:16FromDiscord<Robyn [She/Her]> That
20:30:36*advesperacit quit ()
20:50:05arkanoidAmun-Ra: that's new for me, too. Always used borrow for procs, never for types
20:59:40*PMunch quit (Quit: leaving)
21:48:53*SEP joined #nim
22:14:10arkanoiddo you know any workaround to bypass this problem when using generic types + concepts? https://play.nim-lang.org/#pasty=bJIYJphjvyIJ
22:14:50arkanoidsame problem happens when using typedesc arguments instead of generic arguments: https://play.nim-lang.org/#pasty=GScxQaPmeQuZ
22:19:42*krux02 quit (Quit: Leaving)
22:22:32FromDiscord<Robyn [She/Her]> In reply to @arkanoid "do you know any": I mean, could make a copy of that concept and use that?
22:23:17FromDiscord<Robyn [She/Her]> It's a bit hacky though
22:23:39arkanoidduplicating the concept does work
22:24:06arkanoidnot sure why, but it does really work
22:24:09FromDiscord<Elegantbeef> Heh the issue is that silly typeclass binding feature Nim has I assume
22:24:13FromDiscord<Elegantbeef> `distinct Length` doesn't work inside typedefs 😄
22:24:21FromDiscord<Robyn [She/Her]> Wdym?
22:24:39FromDiscord<Elegantbeef> `proc bleh(a, b: Length): Length` after the binding of `a` all `Length` are `typeof(Length)`
22:24:59FromDiscord<Elegantbeef> you can do `proc bleh(a, b: distinct Length): auto = ....` if you wanted them to be unique
22:25:06FromDiscord<Elegantbeef> It's an antifeature \:d
22:25:18arkanoidwat
22:25:24FromDiscord<Elegantbeef> https://play.nim-lang.org/#pasty=vBzHUkbCMKmq there you go
22:25:45FromDiscord<Robyn [She/Her]> That is annoying wow
22:26:29FromDiscord<Elegantbeef> https://nim-lang.org/docs/manual.html#generics-implicit-generics mentioned here
22:26:45FromDiscord<Elegantbeef> > Alternatively, the distinct type modifier can be applied to the type class to allow each parameter matching the type class to bind to a different type. Such type classes are called bind many types.
22:28:47arkanoidI guess I have to blame myself for not stepping on this before
22:29:03FromDiscord<Elegantbeef> It's a silly interaction
22:29:11FromDiscord<Elegantbeef> It's likely a bug with typeclasses inside types
22:32:14arkanoidwhat is the difference of proc bleh(a: typedesc[Length]) and proc bleh(a: Length) here?
22:32:44FromDiscord<Elegantbeef> `typedesc[Length]` is a type
22:32:49FromDiscord<Elegantbeef> so it's looking for `a`
22:32:53FromDiscord<Elegantbeef> As a type
22:33:23arkanoidok
22:33:53arkanoidI'm failing to use distinct typeclass here
22:34:26arkanoidlike `proc bleh(a, b: distinct Length): auto =` but with distinct typdesc[Length]
22:35:01arkanoidlike this https://play.nim-lang.org/#pasty=EVejOksEzplj
22:43:45FromDiscord<Elegantbeef> Like i said I think it's on the typesection
22:43:48FromDiscord<Elegantbeef> It does not work though
22:43:50FromDiscord<Elegantbeef> So i imagine it's a bug
22:49:05arkanoidyes I tried also proc bleh(a: typedesc[Length], b: typedesc[distinct Length]), if that is what you mean
22:51:00*LuxuryMode joined #nim
22:52:57FromDiscord<Elegantbeef> No I mean `Length` is bound once in the generic type section
22:53:02FromDiscord<Elegantbeef> And `distinct Length` does not work there
22:55:23arkanoidI think then https://play.nim-lang.org/#pasty=vBzHUkbCMKmq is all I have
23:04:50*Jjp137 quit (Quit: Leaving)
23:06:20*Jjp137 joined #nim
23:06:35arkanoidis there macro to "copy" the declaration of a type/concept?
23:08:01arkanoidwould be nice to replace line 5 with a "macro copy" of concept unchained.Length: https://play.nim-lang.org/#pasty=DBTkADDYOLKr
23:17:59FromDiscord<Robyn [She/Her]> `unchained`?
23:18:17FromDiscord<Robyn [She/Her]> I mean, there is `getImpl` I believe?
23:19:31arkanoidI'm trying with getTypeImpl
23:21:33arkanoidI think I'm almost there, but not yet https://play.nim-lang.org/#pasty=IBPfgTdVXSPQ
23:24:50FromDiscord<Elegantbeef> You need to desym the ast otherwise it's an alias afaik
23:25:29arkanoidyes, I need to find a way to strip/replace the root of the AST tree https://play.nim-lang.org/#pasty=MWCgXIDofEbS
23:30:03arkanoidmh, I managed to get the nnkTypeClassTy subtree, but I get same type mismatch error as in step 1 https://play.nim-lang.org/#pasty=oGxdJIRtXEKW
23:50:54arkanoidI don't understand. expandMacros shows code that if I copypaste instead of using macro works perfectly, but if generated by macro fails "type mismatch: got 'Alias' for 'x' but expected 'float'"