<< 28-08-2020 >>

00:01:55*kenran joined #nim
00:06:14*endragor quit (Ping timeout: 256 seconds)
00:06:35*kenran quit (Ping timeout: 240 seconds)
00:08:16FromDiscord<Hearthstone> Ooof
00:08:38FromDiscord<Hearthstone> Does anyone know any up-to-date Raylib bindings for nim?
00:08:49FromDiscord<Hearthstone> !repo raylib
00:08:49disbothttps://github.com/Skrylar/raylib-nim -- 9raylib-nim: 11Raylib bindings for Nim. 15 7⭐ 2🍴 7& 6 more...
00:08:54FromDiscord<Hearthstone> Hm
00:09:01FromDiscord<Hearthstone> Not up-to-date though-
00:09:11FromDiscord<Clyybber> theres a website that wraps them
00:09:13FromDiscord<Hearthstone> Preferably the ones that have been updated
00:09:16FromDiscord<Hearthstone> Really?
00:09:18disruptek!requires raylib
00:09:19disbotraylib: 11irskep[aylibtest,3raynim], 11define-private-public/3raylib-Nim, 11MajorHard/3nimraylib, 11oswjk/3nimraylib, 11tomc1998/3nim-raylib 76 total
00:09:23FromDiscord<Clyybber> https://github.com/Guevara-chan/Raylib-Forever
00:09:45FromDiscord<Hearthstone> Oh thanks!
00:17:09ForumUpdaterBotNew thread by Alexeypetrushin: Can't convert time series to / from JSON, see https://forum.nim-lang.org/t/6737
00:21:16FromDiscord<Hearthstone> Is there a hjson lib in Nim?-
00:21:21FromDiscord<Hearthstone> !repo hjson
00:21:23disbothttps://github.com/hjson/hjson -- 9hjson: 11Hjson, a user interface for JSON 15 2044⭐ 46🍴 7& 29 more...
00:21:30FromDiscord<Hearthstone> Hm-
00:22:25FromDiscord<Hearthstone> Can't find it there
00:31:17FromDiscord<Anuke> ~~I was considering writing an hjson library, never really got around to doing it~~
00:34:44shashlick@disruptek try an older version of Nim
00:34:57shashlick-std=c11 has been around since day one
00:35:24shashlickUnless clang on osx doesn't have this issue
00:35:28disruptekbut that's the option i need to elide from treesitter/api.nim.
00:35:37disruptekit doesn't because it's guarded to linux.
00:35:42shashlickBut note that nimarchive was just tested two days ago on arm just fine
00:36:08shashlickMaybe cause that's gcc and not clang
00:36:29FromDiscord<Hearthstone> > ~~I was considering writing an hjson library, never really got around to doing it~~↵A) Hi Anuke-↵B) Maybe I'll write a wrapper for one of the existing libs in C or C++
00:36:38disruptekmaybe, but the point is, clang-10 on linux cannot build it.
00:36:48disruptekeven without that option.
00:37:03disruptekwhich clang are you using?
00:38:00FromDiscord<Hearthstone> I'll probably wrap https://github.com/hjson/hjson-cpp if i can actually get bothered
00:39:00shashlickI've not tested with clang on Linux
00:39:15shashlickWhat if we remove the -std
00:39:16disrupteki know. but which one is used on osx?
00:39:40disruptekit doesn't build on clang/linux even w/o -std=c11
00:39:44FromDiscord<Hearthstone> No idea
00:40:23shashlickeh
00:40:36shashlickhow do you pick clang with gcc
00:40:59FromDiscord<Hearthstone> Wdym?
00:41:06disruptekvery carefully.
00:41:18shashlickhow do you tell nim to use clang
00:41:27shashlickcome on, help a lazy coder
00:41:57shashlick--cc
00:42:00disruptek--cc:clang
00:42:07FromDiscord<Hearthstone> Oh
00:42:34disruptekhearthstone has clang aliased to gcc, but also, set cc = clang in a global nim.cfg.
00:42:47shashlickjust built fine with clang v6.0.0 on ubuntu after commenting out the -std
00:43:41FromDiscord<Hearthstone> I'm using clang
00:43:44FromDiscord<Hearthstone> By default
00:43:47FromDiscord<Hearthstone> In Termux
00:43:55FromDiscord<Hearthstone> `gcc`, calls `clang`
00:47:30disrupteki built it with clang-9.
00:47:41disruptekoh wait.
00:48:01FromDiscord<Hearthstone> I'm using clang 10 on Termux
00:48:06FromDiscord<Hearthstone> That's what comes by default
00:48:11disruptekyah.
00:48:18disruptekit doesn't work with clang-9 either.
00:48:34FromDiscord<Hearthstone> Oof
00:48:54shashlickwhat's the error
00:49:34disruptekhome/adavidoff/nims/lib/core/macros.nim:550:14: error: cannot initialize a variable of type 'NCSTRING' (aka 'char *') with an rvalue of type 'const char *'
00:49:48shashlicknimph?
00:49:53disruptektoast.
00:50:36disruptek/home/adavidoff/git/nimph/deps/pkgs/nimterop-0.6.8/nimterop/toastlib/tshelp.nim:46:12: error: cannot initialize a variable of type 'NCSTRING' (aka 'char *') with an rvalue of type 'const char *'
00:51:52shashlickman, where do you get this stuff
00:51:57shashlickupdating nim devel
00:52:21disrupteki'm on 8/26 about to upgrade.
00:52:32*endragor joined #nim
00:52:36shashlickprobably cause i have an old clang, it's easier to fool
00:53:51disruptekdo you have anything newer than 6?
00:54:07disruptekoh, i have 6 7 and 8.
00:55:17shashlickno room on my machine, meh
00:55:23shashlickhave to install 470mb
00:55:42disruptekhmm, 6 doesn't work for me, though.
00:56:12shashlickdo you have some random stuff in your global nim.cfg
00:56:17shashlickenforcing some strict mode or something
00:56:22disrupteknah.
00:57:03shashlickyou trying nim c or nim cpp
00:57:08disruptekcpp
00:57:38disrupteki'm not sure i'm successfully changing the clang version though.
00:58:14shashlickjust use nim c
00:58:17shashlickthat works for me
00:58:27disruptekthat's fine.
00:58:31disruptekclang-6
00:58:52disruptekworks in clang-10, too.
00:58:58disruptekwhy did you tell us cpp? pffbt.
00:59:17shashlicki told you that there's cpp code in toast - it is linked by g++/clang++
00:59:26shashlickbut it is nim c in the nimble file
00:59:39shashlicksorry :~(
00:59:46disruptekno biggie.
01:00:01shashlicki could recreate the issue
01:00:10shashlickseems like a nim issue that it generates invalid c++ code
01:00:31shashlicki'l push a fix for the -std=c11
01:00:33disruptekwell, now the question is whether hearthstone can make it work in c mode.
01:01:35shashlickhttps://github.com/nimterop/nimterop/tree/std - testing the change
01:01:45*endragor quit (Ping timeout: 240 seconds)
01:01:50FromDiscord<Hearthstone> :P
01:03:17*theelous3 quit (Read error: Connection reset by peer)
01:10:08*thomasross joined #nim
01:16:02*endragor joined #nim
01:25:52FromDiscord<impbox> hmm can I hash a ref object by address somehow?
01:26:37FromDiscord<impbox> i'd like to create a hash set of some of my ref objects
01:37:05leorize[m]yes, just cast the refs to pointer :p
01:37:23FromDiscord<Hearthstone> @impbox ^^^
01:37:35leorize[m]I mean implement a hash proc that does that
01:37:45FromDiscord<impbox> ok, are you being serious? ( :p ) suggests you're not
01:38:11leorize[m](if one isn't already exists in hashes module, that is)
01:39:07FromDiscord<Elegant Beef> He's being serious↵https://play.nim-lang.org/#ix=2vs4
01:39:17FromDiscord<impbox> ok, thanks!
01:39:25*apahl quit (Ping timeout: 240 seconds)
01:41:35*synshroud quit (Quit: ZNC 1.7.5 - https://znc.in)
01:41:45*apahl joined #nim
01:41:52*synshroud joined #nim
02:01:55disruptekZevv: seems like clyybber's fix doesn't fix cps. 😢
02:13:16shashlickpushed the nimterop -std change
02:18:48*audiofile quit (Quit: Default Quit Message)
02:21:28ForumUpdaterBotNew thread by Shashlick: Nimble package structure and interop changes, see https://forum.nim-lang.org/t/6738
02:21:50*endragor quit (Ping timeout: 256 seconds)
02:22:17*muffindrake quit (Ping timeout: 272 seconds)
02:24:13*muffindrake joined #nim
02:25:41*synshroud quit (Quit: ZNC 1.7.5 - https://znc.in)
02:28:27*synshroud joined #nim
02:32:10FromGitter<halloleo> Staring out with NIm - and really loving the UFCS syntax: It's sooo versatile! :-)
02:35:27FromDiscord<Elegant Beef> It's one of my favourite features aswell
02:39:37FromDiscord<impbox> yep, it's really nice!
02:40:28FromDiscord<Elegant Beef> being able to inline call type conversions and call procs on the converted is just so nice 😄
02:50:26*endragor joined #nim
02:52:12*bunbunbunbunny joined #nim
02:54:52*endragor quit (Remote host closed the connection)
02:54:58*endragor joined #nim
02:55:33ForumUpdaterBotNew thread by Halloleo: Best way to parse CSV data with the JS backend, see https://forum.nim-lang.org/t/6739
03:07:16FromDiscord<Hearthstone> Discord partner applications have opened up again
03:07:35disruptekwtf does that mean?
03:07:39FromDiscord<Hearthstone> If someone wants to ping a mod or the person who created the server about it-
03:07:41FromDiscord<Hearthstone> Basically
03:07:48FromDiscord<Hearthstone> You have an official badge
03:07:50disruptekugh i don't even wanna know.
03:07:55FromDiscord<Hearthstone> And 3rd tier of nitro level-
03:08:03FromDiscord<Hearthstone> xD
03:08:03FromDiscord<Rosen> You are preaching discord shenanigans to the irc user
03:08:09FromDiscord<Hearthstone> True-
03:08:14FromDiscord<Hearthstone> I don't know what i expected tbh
03:08:16FromDiscord<Hearthstone> Lmao
03:08:18disruptekdiscord makes my balls throb.
03:08:25FromDiscord<Rosen> in a good or bad way
03:08:33disruptekit's not great, i'll be honest.
03:09:44disruptekeveryone be quiet so i can finally fix this bug.
03:10:49FromDiscord<Hearthstone> xD
03:10:59disrupteksssshhhhh
03:11:21FromDiscord<Hearthstone> ;-;-
03:11:30disrupteklook, do you want skiplists or not?
03:11:34disruptek!repo skiplists
03:11:34disbothttps://github.com/disruptek/skiplists -- 9skiplists: 11generic skip list implementations💃 15 1⭐ 0🍴
03:11:40disruptekcha cha cha
03:11:44FromDiscord<Hearthstone> Tbh idek what that is xD
03:12:20FromDiscord<Hearthstone> Is there any discord mod who'll want to apply as a partner for this server? I remember that being talked about a while ago
03:12:52disruptekYardanico gets off on that shit.
03:13:12FromDiscord<Hearthstone> Lmao
03:14:06FromDiscord<Hearthstone> @Yardanico discord partnerships are open again
03:14:12FromDiscord<Hearthstone> If you want to apply-
03:14:19FromDiscord<Yardanico> Are they?
03:14:23FromDiscord<Hearthstone> Mhm
03:14:35FromDiscord<Yardanico> I don't think they are
03:14:39FromDiscord<Yardanico> Maybe you read the blog post
03:14:47FromDiscord<Yardanico> They said they'll be opening them soon
03:14:50FromDiscord<Hearthstone> A friend of mine is applying for his server right now
03:14:52FromDiscord<Yardanico> https://discord.com/verification still paused
03:15:17FromDiscord<Yardanico> Well, where did he send a request?
03:15:19FromDiscord<Hearthstone> Oh alright
03:15:22FromDiscord<Hearthstone> Nevermind
03:15:43FromDiscord<Hearthstone> :
03:15:46FromDiscord<Hearthstone> :P*
03:17:56FromDiscord<Hearthstone> @Yardanico that's different apparently
03:17:58FromDiscord<Hearthstone> https://discord.com/partners
03:18:04FromDiscord<Hearthstone> For partnership programs
03:18:06FromDiscord<Yardanico> Yeah that's a different thing
03:18:14FromDiscord<Hearthstone> Made for community-led servers
03:18:59disruptekit's fixed.
03:19:03disruptekthanks for being so quiet.
03:19:09FromDiscord<Hearthstone> xD
03:19:15FromDiscord<Hearthstone> No worries~
03:27:51*Epikur joined #nim
03:47:45ZevvI did my best
03:48:54ZevvI usually snore about 3.2 on the Richter scale
03:49:02Zevvbut for you I made an exception
03:49:09disruptekthanks, buddy.
03:50:45*thomasross quit (Ping timeout: 240 seconds)
03:56:43*vicfred quit (Quit: Leaving)
04:01:04*hyiltiz_ quit (Quit: hyiltiz_)
04:02:24*hyiltiz joined #nim
04:02:24*hyiltiz quit (Changing host)
04:02:24*hyiltiz joined #nim
04:03:42*kenran joined #nim
04:06:01*supakeen quit (Quit: WeeChat 2.9)
04:06:34*supakeen joined #nim
04:08:25*kenran quit (Ping timeout: 240 seconds)
04:09:19disruptekZevv: clyybber let us down.
04:09:27disruptekproc params are still untyped.
04:14:53*narimiran joined #nim
04:21:49*bunbunbunbunny quit (Quit: leaving)
04:30:54*endragor quit (Remote host closed the connection)
04:31:21*endragor joined #nim
04:35:54*endragor quit (Ping timeout: 256 seconds)
04:37:23*synshroud quit (Quit: ZNC 1.7.5 - https://znc.in)
04:37:52*endragor joined #nim
04:38:10*synshroud joined #nim
04:43:04*endragor quit (Remote host closed the connection)
04:43:10*endragor joined #nim
04:44:06*Epikur quit (Quit: Leaving.)
04:59:42ForumUpdaterBotNew thread by Leorize: Brainstorming ideas to improve Nim's landing page, see https://forum.nim-lang.org/t/6740
05:03:49*ptdel joined #nim
05:04:54*waleee-cl quit (Quit: Connection closed for inactivity)
05:13:11Zevvdude
05:13:25Zevvand there he was, boasting that all was well and merged
05:13:37Zevvwhy am i not even surprised
05:17:02*Lord_Nightmare2 joined #nim
05:17:13*Lord_Nightmare quit (Ping timeout: 265 seconds)
05:18:11*Lord_Nightmare2 is now known as Lord_Nightmare
05:18:25FromGitter<matrixbot> `ergpopler` hi
05:19:12FromGitter<matrixbot> `ergpopler` is it possible to translate something directly into binary in nim
05:21:23FromDiscord<Elegant Beef> What is the something?
05:23:58FromDiscord<Elegant Beef> https://play.nim-lang.org/#ix=2vsM
05:24:16FromGitter<matrixbot> `ergpopler` well, say a string
05:24:23FromGitter<matrixbot> `ergpopler` like "hello" or "l"
05:25:44FromDiscord<Elegant Beef> well a string is already really just a seq of bytes
05:26:24FromGitter<matrixbot> `ergpopler` yes, but like to display it in binary
05:26:45FromGitter<matrixbot> `ergpopler` like for my "a" to display as 01000001
05:28:26FromGitter<matrixbot> `ergpopler` and to modify the binary so like i can turn a variable that holds "a" which is 01000001 and change it to 01000010 which would be "b"
05:29:35FromDiscord<Elegant Beef> just store a sequence of bytes then, and if you want the string convert it to a string
05:29:51FromDiscord<Elegant Beef> Idk someone might suggest something better
05:30:34FromGitter<matrixbot> `ergpopler` well i want it for doing compression which requires me to modify bits directly
05:30:50FromGitter<matrixbot> `ergpopler` * well i want it for doing compression/encryption which requires me to modify bits directly
05:33:47FromDiscord<Elegant Beef> https://play.nim-lang.org/#ix=2vsN i mean you can do something like this
05:36:30FromDiscord<Elegant Beef> And then if you want to live dangerously you can just use a converter https://play.nim-lang.org/#ix=2vsP
05:44:48*arecacea1 quit (Remote host closed the connection)
05:45:16*arecacea1 joined #nim
05:46:55*kenran joined #nim
05:48:57FromDiscord<Rika> @ergpopler: https://play.nim-lang.org/#ix=2vsS
05:49:34FromDiscord<Rika> this makes a string that shows the binary representation
05:49:46FromDiscord<Elegant Beef> Yea i was going to send another link with that
05:50:08FromDiscord<Elegant Beef> But they want to be able to easily change the binary stream which is just weird, that's why we have hex
05:53:58FromDiscord<Rika> thats a bit difficult
05:54:27FromDiscord<Elegant Beef> Well it's reading a bin stream as if it's full of bytes
05:57:05*solitudesf joined #nim
06:06:08FromDiscord<Elegant Beef> It's not too bad though↵https://play.nim-lang.org/#ix=2vsU
06:06:13FromDiscord<Elegant Beef> I still wouldnt suggest it
06:06:30FromDiscord<Elegant Beef> you can get all the info you want from bitwis operations
06:09:01FromDiscord<Elegant Beef> There is even the `bitops` module to enable it
06:12:54FromDiscord<Rika> kinda wish channels in nim were two way
06:13:01FromDiscord<Rika> wait i think they are
06:13:05FromDiscord<Rika> might be delusional
06:13:27FromDiscord<Elegant Beef> They are... arent they?
06:13:51*synshroud_ joined #nim
06:14:11FromDiscord<Rika> well technically yeah
06:15:08*synshroud quit (Ping timeout: 256 seconds)
06:15:24FromDiscord<Elegant Beef> You'd need two channels to do what you want to safely i assume
06:15:29FromDiscord<Rika> yeah
06:16:12FromDiscord<Elegant Beef> Make a new `TwoWay` which has `in,out: Channel` then abstract everything away 😛
06:17:03FromDiscord<Rika> yeah but i only need it for this one instance so ill leave that to someone else
06:23:29*letto quit (Quit: Konversation terminated!)
06:28:49*letto joined #nim
06:37:12*ptdel quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
06:40:12*PMunch joined #nim
07:10:53*synshroud joined #nim
07:13:13*synshroud_ quit (Ping timeout: 265 seconds)
07:33:25PMunchDo the Nim basic set type (not hash sets) require the GC?
07:34:29FromDiscord<Elegant Beef> Arent they just bit flags?
07:35:05FromDiscord<lakmatiol> a non-resizable bit field probably does not need a GC, but I never actually checked
07:35:17PMunchThat's what I was thinking
07:35:28PMunchThey shouldn't require it, but I'm not sure about the implementation
07:36:50FromDiscord<Elegant Beef> `Note how the set turns enum values into powers of 2.` Yea seems it's just a fancy int 😛
07:37:27FromDiscord<Rika> ~~also the int16 set is 8 kibibytes big~~
07:40:48*Vladar joined #nim
07:44:50PMunchHmm, that is unfortunate..
07:45:22PMunchNot sure if 0..256 is a big enough range, but 0..65536 is definitely more than I need.
07:46:42PMunchAnnoyingly there shouldn't be anything wrong with defining a set over a range (at least one that is divisible by 8)
07:48:30PMunchAs contains should pretty much just be proc contains[T](mySet: set[T], value: T): bool = mySet.data[value div 8] and (1 shr value mod 8)
07:49:20FromDiscord<lakmatiol> they work over ranges fine, I use it for essentially sparse arrays, but not sure if they work across not multiples of 8
07:50:12FromDiscord<Elegant Beef> Yea pmunch it's not an overly difficult thing to implement
07:50:50PMunch@lakmatiol, they do?
07:51:16FromDiscord<Elegant Beef> You cant set a range, but the enum sets scale
07:51:34FromDiscord<Elegant Beef> if you only have the first 8 values it's only 1 byte 😄
07:53:26PMunchOh, it actually does work properly over a range!
07:53:45PMunchThat should probably be mentioned in the manual..
07:53:48FromDiscord<Elegant Beef> *Context please* 😄
07:54:00PMunchI was about to implement my own..
07:54:40PMunchWell, I have an array of "items" in my game. I want the player to be able to pick up these items, if an item it shouldn't be visible and it shouldn't be possible to pick it up again
07:54:44FromDiscord<Elegant Beef> I see `set[0..100]` works
07:55:03PMunchSo I want to create a set[0..items.len] and incl the items I've picked up
07:55:29FromDiscord<Elegant Beef> How DOD of you not to have it on the object
07:55:40FromDiscord<lakmatiol> I am somewhat sure you can do `set[items]`
07:55:44PMunchBecause memory is super limited...
07:56:07FromDiscord<Elegant Beef> Oh right gameboy game?
07:56:11PMunchArduboy
07:56:21PMunchArduino Leonardo essentially
07:56:21FromDiscord<Elegant Beef> close enough
07:56:38PMunchNot really, a ROM cartridge for the GameBoy is roomy compared to this
07:57:11FromDiscord<lakmatiol> ah no, it does not
07:57:15FromDiscord<lakmatiol> (edit) 'it does not' => 'you cannot'
07:57:34PMunchYeah it does work
07:58:12PMunchI created a set[uint8] and memory usage went up by 32 bytes, then I tried a set[0..128] and memory usage only went up by 16 bytes.
07:58:29FromDiscord<lakmatiol> but not over an array directly. I guess an array is indeed not ordinal
07:58:36PMunchAh no
07:58:48PMunchBut I have the size of the array, so that's no biggie
08:00:31FromDiscord<Elegant Beef> Sorta suprised no one turned the arduboy into a arcade cabinet
08:01:44PMunchOooh, I have a friend here who is currently building an arcade cabinet and is a huge Arduboy fan
08:01:54FromDiscord<Elegant Beef> lol, what have i done 😄
08:02:24FromDiscord<Elegant Beef> I still really want to make an arcade cabinet and make a game for it with nico, but money is required for that
08:02:39*natrys joined #nim
08:03:06FromDiscord<haxscramper> When I try to register on the nimforum I get 'Too many messages have been sent to this email address recently.' even though I haven't used this email on forum /at all/.
08:03:46FromDiscord<lakmatiol> note that `set[0..128]` includes 128
08:05:21FromDiscord<Elegant Beef> Have you tried a seperate browser hax?
08:06:16*bunbunbunbunny joined #nim
08:06:21FromDiscord<haxscramper> Yes, same result
08:07:09*hnOsmium0001 quit (Quit: Connection closed for inactivity)
08:09:22FromDiscord<haxscramper> When I try to use different email I just get 'Unknown error occurred'. I had account before but on the completely wrong email, so I decided to change it. When I changed email I got 'email unconfirmed' status and could not save changes, so I decided it is easier to just remove account and create a new one with the same name but just on correct email.
08:17:29PMunch@Elegant, my friend got the wood for free at the local wood store (what are those called?) because they had been used to package floorboards with :P
08:17:43FromDiscord<Elegant Beef> lumberyards?
08:17:56PMunchUsed an old computer screen and an old machine
08:18:03PMunchSo really only needed the buttons and such
08:18:11PMunchWell it's not really a proper lumberyard
08:18:40PMunchThey don't produce anything there, they just sell pre-cut lengths and such
08:18:43FromDiscord<Elegant Beef> Building material supplier 😄
08:18:50PMunchWell, I guess you can buy cuts from them
08:18:52FromDiscord<Elegant Beef> I still consider that a lumberyard
08:18:56PMunchYeah I guess that would apply
08:19:17FromDiscord<Elegant Beef> Since i call it a lumber mill that chops trees to their nomial dimensions
08:19:24PMunchHmm, I guess it's just because we call them different things in Norwegian that I think there's a distinction :P
08:22:24FromDiscord<Ricky Spanish> this community is amazing, sometimes just open the chat and have to check im still in the correct server before scrolling up to figure out how we reached a certain point
08:22:54bungcan I run nimble test without outputs Verifying and Info ?
08:23:04PMunchHaha, yeah we tend to sway a bit off-topic from time to time :P
08:23:56FromDiscord<Elegant Beef> Eh small community where very few people need help 😄
08:24:06PMunchbung `nimble build > /dev/null` :P
08:25:07bungthen `nimble test` it will not try to re-compile?
08:26:11PMunch@haxscramper, yeah the mail system on the forum isn't the greatest.. Try to ping dom96, he can usually sort it out manually
08:26:12bungno it will
08:26:40PMunchbung, yeah that just pipes the output of Nimble to not be displayed
08:27:11*MarderIII joined #nim
08:29:12bungit's anoying me when I have mutiple test files.
08:30:21PMunchYou can run only a single test
08:30:28PMunchnimble test <name of test>
08:30:30PMunchIIRC
08:31:02bungyeah, that need write nimble task run it one by one ..
08:31:03FromDiscord<haxscramper> sent a long message, see http://ix.io/2vtl
08:31:26FromDiscord<haxscramper> I have a solution for nimble verbosity - just wait a second, i need to find this script
08:31:57bunghaxscramper thank you!
08:32:36FromDiscord<haxscramper> I'm assuming you are on linux though
08:34:07bungyeah,right
08:35:02FromDiscord<haxscramper> Here - it is not pretty though, since I just used it for myself https://gist.github.com/haxscramper/cb636295f6c71200925275b405b7c64c what it does is basically runs separate test suit each time you made change in any file in the repository. When you start it uses `fzf` to automatically find all unit tests in the current nimble package
08:35:26PMunchSurprising amount of Nim users are on Linux, especially consider Araq uses Windows
08:35:41FromDiscord<haxscramper> it does not solve problem of running all tests at once, but if you want to work on particular tests suite it is a good solution
08:35:59bungaraq and dom96 are window users.
08:36:13FromDiscord<haxscramper> I need to rewrite it nim though - there is a filesystem watcher module which can be used
08:36:38FromDiscord<haxscramper> > Surprising amount of Nim users are on Linux, especially consider Araq uses Windows↵Just better operating system, that's all :)
08:36:47bungI only use windows playing games
08:37:23*arecacea1 quit (Remote host closed the connection)
08:37:26FromDiscord<Elegant Beef> I only use windows for a single game that has EAC
08:37:30FromDiscord<Elegant Beef> Windows poo poo
08:38:11*arecacea1 joined #nim
08:38:36bungthat's a expensive game.
08:38:51bungwithin your pc price.
08:39:02FromDiscord<Elegant Beef> What?
08:39:18PMunchHe means it's an expensive game if you factor in the Windows license :P
08:39:28PMunchIf that's the only thing you use Windows for
08:39:32FromDiscord<Elegant Beef> I dont have a windows license
08:39:40bungokay
08:40:07PMunchWasn't there a ruling in the EU that you were entitled for a refund if you didn't want the Windows license that came with the machine?
08:40:35FromDiscord<Elegant Beef> Plaussibly
08:40:49FromDiscord<Elegant Beef> Im in a country that doesnt have many consumer rights 😛
08:41:53PMunchWhich one?
08:42:02FromDiscord<Elegant Beef> Wow you also forget im in Canada
08:42:08FromDiscord<Elegant Beef> *No one likes me clearly*
08:42:29FromDiscord<iWonderAboutTuatara> I'm sort of bound to windows
08:42:30FromDiscord<Elegant Beef> I've told Varriount about 10 times, and i've clearly mentioned it to you atleast 5 😄
08:42:45*MarderIII quit (Ping timeout: 240 seconds)
08:42:57FromDiscord<iWonderAboutTuatara> I need proprietary apps
08:43:03PMunchWait, you've mentioned it to me?
08:43:05FromDiscord<iWonderAboutTuatara> And I need stuff for available on Linux
08:43:24FromDiscord<Elegant Beef> Pmunch i've talked about my eather and jokingly moving to norway
08:43:30FromDiscord<Elegant Beef> (edit) 'eather' => 'weather'
08:43:36PMunchOh yeah, I remember that!
08:43:56FromDiscord<Elegant Beef> I've compared my explictly stated "In Canada" weather to yours fairly often
08:43:59PMunchYou're just on so often when I'm on I assumed you were Europe based
08:44:12FromDiscord<Elegant Beef> No im just a useless human
08:44:29PMunchHaha, only reason why I'm up at the moment is that I have to go to work :P
08:44:35FromDiscord<Elegant Beef> @iWonderAboutTuatara what proprietary apps?
08:44:48FromDiscord<iWonderAboutTuatara> Premiere
08:44:53FromDiscord<iWonderAboutTuatara> Photoshop
08:45:04FromDiscord<iWonderAboutTuatara> After effects also
08:45:11FromDiscord<Elegant Beef> Davinci Resolve runs on linux 😛
08:45:21PMunchMy natural rhythm seems to slowly drift if I don't watch it.. At one point I ended up with a 12 hour difference in my schedule
08:45:24FromDiscord<iWonderAboutTuatara> It's really bad for my type of editing
08:45:33PMunchGot up at 8PM and went to bed around lunch
08:45:42FromDiscord<iWonderAboutTuatara> You can't ease in/out position keyframes without going into fusion and defining s custom spline curve
08:45:45FromDiscord<iWonderAboutTuatara> Which is stupid
08:45:51FromDiscord<iWonderAboutTuatara> And it makes resolve unusable for me
08:46:03FromDiscord<Elegant Beef> Yea audio/video production on linux really is subpar
08:46:04FromDiscord<iWonderAboutTuatara> On top of that, it performs really really bad compared to premiere
08:46:16FromDiscord<iWonderAboutTuatara> There's a lot of stuff on Linux that isn't quite there
08:46:25FromDiscord<iWonderAboutTuatara> It's much more of a compromise than people like to say
08:46:50FromDiscord<iWonderAboutTuatara> I run it on my laptop, because I don't need this stuff on laptop and all I do on it is write code pretty much
08:46:56FromDiscord<iWonderAboutTuatara> Also it's old and bad
08:47:04FromDiscord<iWonderAboutTuatara> Can't handle windows
08:47:21FromDiscord<iWonderAboutTuatara> But I wouldn't use it for a medium lower or higher desktop/laptop
08:47:29FromDiscord<Elegant Beef> It's really not a compromise for me
08:47:46FromDiscord<Elegant Beef> What do i lose, visual studio, oh shucks!
08:48:06FromDiscord<iWonderAboutTuatara> If you don't play any intensive games or need anything that doesn't exist in good form for Linux you're good
08:48:10FromDiscord<Elegant Beef> Lol
08:48:13FromDiscord<Elegant Beef> I play arma on linux
08:48:19FromDiscord<Elegant Beef> The issue isnt intensive, the issue is anticheat
08:48:27FromDiscord<iWonderAboutTuatara> That too
08:48:32FromDiscord<Elegant Beef> I played doom eternal on release without tinkering
08:48:34FromDiscord<iWonderAboutTuatara> Idc about anti cheat
08:48:41FromDiscord<Elegant Beef> Like it's really a non issue performance wise
08:48:45FromDiscord<iWonderAboutTuatara> It's just more of a hassle
08:48:52FromDiscord<Elegant Beef> I literally hit play
08:48:56FromDiscord<iWonderAboutTuatara> Doom is a game that runs extremely well
08:49:11FromDiscord<iWonderAboutTuatara> Doom is optimized to anlebel that almost no other game id
08:49:17FromDiscord<iWonderAboutTuatara> *a level
08:49:24FromDiscord<Elegant Beef> I mean it still is a AAA game that ran day 1 without tinkering
08:49:31FromDiscord<Elegant Beef> Same with remnant from the ashes
08:49:43FromDiscord<iWonderAboutTuatara> That's nice, but ime that doesn't work for everything
08:49:56FromDiscord<Elegant Beef> The "hassle" is not a very contemporary idea
08:49:57FromDiscord<iWonderAboutTuatara> Especially DRM gets really upset
08:50:05FromDiscord<Elegant Beef> Steam Proton removes a ton of hassle
08:50:20FromDiscord<iWonderAboutTuatara> True, but from what I've seen it's not quite there yet
08:50:22FromDiscord<Elegant Beef> Most games run as if they were native
08:50:31FromDiscord<Elegant Beef> atleast in my experience
08:51:01FromDiscord<iWonderAboutTuatara> And you're just jumping through more hoops for a similar/slightly worse experience, at least in regard to this
08:51:35FromDiscord<iWonderAboutTuatara> The only real benefit imo is terminal
08:51:40FromDiscord<iWonderAboutTuatara> Which I love
08:51:47FromDiscord<Elegant Beef> I mean performance wise it's measurably worse in most cases(in some it's better), but being able to actually control my system is a fair trade
08:51:53FromDiscord<Elegant Beef> Having my choice of DE/WM
08:52:00FromDiscord<iWonderAboutTuatara> I don't care that much
08:52:12FromDiscord<Elegant Beef> Not having shitty windows updates, defender,edge
08:52:29FromDiscord<iWonderAboutTuatara> That stuff is overstated by linuxers
08:52:35FromDiscord<Elegant Beef> I use i3-gaps
08:52:36FromDiscord<iWonderAboutTuatara> Windows updates are fine nowadays
08:52:39FromDiscord<Elegant Beef> No they arent
08:52:46FromDiscord<iWonderAboutTuatara> Shut your computer down at night and it'll manage it for you
08:52:59FromDiscord<iWonderAboutTuatara> I've not had an issue with them for literally years
08:53:06FromDiscord<Elegant Beef> I dual boot windows and it's often updated whilst i return/leave
08:53:10FromDiscord<Elegant Beef> It's a pain i dont need
08:53:16PMunchKdenlive is pretty nice, nothing like Premiere or Sony Vegas, but enough for the little bit of editing I have to do
08:53:18FromDiscord<Elegant Beef> Let me turn it off
08:53:24FromDiscord<Elegant Beef> Same pmunch
08:53:27FromDiscord<iWonderAboutTuatara> I don't know how often you boot into windows
08:53:38FromDiscord<iWonderAboutTuatara> Kdenlive was super unusable and unstable lsst I tried
08:53:40FromDiscord<Elegant Beef> I mean it can be months inbetween
08:53:42FromDiscord<iWonderAboutTuatara> Might have improved
08:53:54FromDiscord<iWonderAboutTuatara> That's probably a part of why
08:54:04PMunchI think Doom actually runs faster on Linux in many cases
08:54:09FromDiscord<Elegant Beef> Yep
08:54:09FromDiscord<iWonderAboutTuatara> If you use your computer reasonably regularly you're good
08:54:23FromDiscord<iWonderAboutTuatara> Edge gets out of the way very easily
08:54:32*MarderIII joined #nim
08:54:39FromDiscord<Elegant Beef> The point is edge installed without my permission
08:54:40FromDiscord<iWonderAboutTuatara> Just change default browser
08:54:51FromDiscord<iWonderAboutTuatara> That's a weird hill to die on imo
08:54:55FromDiscord<iWonderAboutTuatara> It's not a big deal at all
08:55:18FromDiscord<iWonderAboutTuatara> Also you can uninstall it
08:55:20FromDiscord<Elegant Beef> Well im not dying, im providing reasons to why i think windows is as i previously said "poo poo", i dont lose anything using linux
08:55:58FromDiscord<Elegant Beef> So your solution to my problem of "Windows installs software" is "Uninstall it dummy"
08:56:10FromDiscord<iWonderAboutTuatara> What I meant by that is that it's a weird thing to get hung up on
08:56:23FromDiscord<iWonderAboutTuatara> I mean yeah generally if you don't want edge you can remove it
08:56:24FromDiscord<Elegant Beef> It's not the only thing
08:56:31FromDiscord<Elegant Beef> It's a compounding issue
08:56:39FromDiscord<iWonderAboutTuatara> I don't mind any of it
08:56:43FromDiscord<iWonderAboutTuatara> It doesn't get in the way
08:56:54FromDiscord<iWonderAboutTuatara> Some of it is legitimately nice to have
08:57:09PMunchI guess it's a difference in philosophy
08:57:10FromDiscord<iWonderAboutTuatara> The default apps are all pretty solid
08:57:12FromDiscord<Elegant Beef> The original reason i actually left windows was it suddenly decided to go "Hey windows defender needs to take 40% of your cpu" whilst i was playing a game, so i decided, well how about you have 0%
08:57:27PMunchI don't want a bunch of crap I never asked for, and I definitely don't want to pay for it when buying a new laptop
08:57:34FromDiscord<iWonderAboutTuatara> Windows defender is like that
08:57:38FromDiscord<iWonderAboutTuatara> Yeah I wouldn't pay for it
08:57:47FromDiscord<iWonderAboutTuatara> You can use it completely fine unactivated
08:57:51PMunchBut you are paying for it
08:58:14PMunchIf you buy a laptop, good luck finding one without a Windows license bundled in the price and pre-installed
08:58:17*bunbunbunbunny quit (Quit: Lost terminal)
08:58:17FromDiscord<Elegant Beef> The fact is windows doesnt honour explict user control, and it's annoying
08:58:45FromDiscord<iWonderAboutTuatara> I'm honestly ok with that
08:58:48FromDiscord<Ricky Spanish> the only downside i find on moving away from windows is usually that if youre developing at some point you need to test your stuff on windows, then it decends into dual booting or having another pc or using remote pcs and then copying stuff and thats assuming youre cross-compiling successfully....windows is hard to escape
08:59:04FromDiscord<iWonderAboutTuatara> I think Linux users in general make this out to be way bigger of a nuisance than it is in reality
08:59:08FromDiscord<Elegant Beef> I mean i have a ntfs partition mounted specifically for my windows "Swap"
08:59:13FromDiscord<iWonderAboutTuatara> It's all in the background the grand majority of the time
08:59:20FromDiscord<Elegant Beef> And i think you make it a way smaller issue that it is in reality
08:59:22PMunchYeah that's a bit of a pain
08:59:25FromDiscord<Elegant Beef> See how that didnt progress anything
08:59:36FromDiscord<iWonderAboutTuatara> Windows doesn't play nice with file formats
08:59:43FromDiscord<iWonderAboutTuatara> That I agree
08:59:49FromDiscord<iWonderAboutTuatara> I don't think it's a huge deal though
08:59:51FromDiscord<Kiloneie> Actually i find a lot of laptops with free dos and linux here
08:59:53PMunchI mean my big reason for switching to Linux was being able to do anything I wanted with my computer
09:00:02PMunchIt's the freedom of it that pulled me in
09:00:11FromDiscord<iWonderAboutTuatara> That's well and good, but I don't need that
09:00:13PMunchReally @Kiloneie?
09:00:17FromDiscord<Elegant Beef> Well it's not the main reason i swapped, but now freedom is the best
09:00:19PMunchWhere do you live?
09:00:19FromDiscord<iWonderAboutTuatara> I think many feel similar to me
09:00:32FromDiscord<Elegant Beef> I know Dell/Lenovo ship with linux on their higher end machines
09:00:33FromDiscord<iWonderAboutTuatara> I don't care for that customization, the win10 workflow is completely fine for me
09:00:46FromDiscord<iWonderAboutTuatara> All I want is a package manager and I'm golden
09:01:07FromDiscord<Elegant Beef> I completely accept that as an opinion and dont disregard it. But you've acknowledged that everything i said is an issue but "Not big" so we arent too different
09:01:09PMunchWell yeah, most people obviously don't care
09:01:25FromDiscord<Kiloneie> Yes, and i tried figuring out how much windows adds to the cost of a laptop and its toos 100€ here. Its not the absurd 300€ you have to pay if you buy it on its own
09:01:31FromDiscord<Elegant Beef> Freedom is super important
09:01:41FromDiscord<Elegant Beef> And if you dont believe me look at apple vs. epic 😄
09:01:42FromDiscord<Kiloneie> Slovenia btw
09:02:00FromDiscord<iWonderAboutTuatara> @Elegant Beef in the sense that yes, it's not ideal, but it's a very minor annoyance and I'm not ready to switch over it
09:02:04FromDiscord<Kiloneie> I hope Epic wins that lawsuit
09:02:08FromDiscord<iWonderAboutTuatara> Slovenia is a nice country
09:02:55FromDiscord<iWonderAboutTuatara> Maybe not to live in though, I've never lived there, but info want to visit lljujujjujiana at some point
09:03:02FromDiscord<iWonderAboutTuatara> Idk
09:03:18FromDiscord<Ricky Spanish> depends, some people genuinely dont need or benefit from the freedom of linux, even though im a linux fanboy most of my friends just want steam to play games and wouldnt really use much of the features linux really is offering imo they just want os go brrrrrr
09:03:19FromDiscord<Elegant Beef> I mean i dont hope they do cause i hate epic, but i hope it forces apple to open their hardware
09:03:31FromDiscord<iWonderAboutTuatara> I don't understand the epic hate
09:03:39FromDiscord<iWonderAboutTuatara> I hear it a lot
09:03:42FromDiscord<iWonderAboutTuatara> But I don't get it
09:03:54FromDiscord<iWonderAboutTuatara> It's an inherently unequal playing field
09:03:58FromDiscord<Elegant Beef> They're a company that wants to have competition but explictly harmed consumers by buying exclusivity
09:04:09FromDiscord<iWonderAboutTuatara> Why would anyone use epic if the game is available on steam?
09:04:16FromDiscord<iWonderAboutTuatara> Excl is their best option
09:04:24FromDiscord<Elegant Beef> It's also the least consumer friendly method to go
09:04:30FromDiscord<Elegant Beef> So as a consumer, fuck them
09:04:30FromDiscord<iWonderAboutTuatara> I disagree
09:04:34FromDiscord<Ricky Spanish> epic gives away free stuff like a local drug dealer to get you hooked mostly
09:04:37FromDiscord<Elegant Beef> Exclusivity is a monopoly
09:04:44FromDiscord<Elegant Beef> Monopolies are bad, and can die
09:04:53FromDiscord<iWonderAboutTuatara> It's better they exist as a legitimate competition to steam than steam exists as a monopoly
09:05:00FromDiscord<Kiloneie> epic game store has given me a few free games such as gta 5, civilization 5
09:05:01PMunchStill @Kiloneie, 100€ is a lot for something I'll literally never use
09:05:15FromDiscord<iWonderAboutTuatara> The reason steam doesn't do this stuff is because they are practically a monopoly
09:05:18FromDiscord<iWonderAboutTuatara> They don't need to bother
09:05:19FromDiscord<Kiloneie> epic game store is a good competition to steam
09:05:23FromDiscord<Elegant Beef> Steam isnt a monopoly though, it's the most popular platform which allows you to distribute everywhere
09:05:28PMunchI didn't even boot my last laptop into Windows before I inserted a live USB and installed Linux on it
09:05:34FromDiscord<iWonderAboutTuatara> It's effectively a monopoly
09:05:39FromDiscord<Elegant Beef> Steam doesnt have exclusivity, so it's not
09:05:57FromDiscord<Elegant Beef> It is the #1 in a field, but make a monopoly it does not
09:05:59FromDiscord<iWonderAboutTuatara> It has exclusivity, but valve doesn't need to pay the devs for it
09:06:01FromDiscord<Rika> "effectively a monopoly" doesnt exist
09:06:08FromDiscord<Elegant Beef> It doesnt
09:06:18FromDiscord<Elegant Beef> There is nothing in the contract that publishers sign that forces a monopoly
09:06:19FromDiscord<iWonderAboutTuatara> Not a native speaker, effectively may have been the wrong word
09:06:22FromDiscord<Rika> exclusivity has to be from valve
09:06:25FromDiscord<Kiloneie> Also Slovenia to live in ? Well besides the few major cities(still tiny compared to other european ones) is a ton of villages with a lot of green), My house(my mum's) is like 3 meters away from a creek xD...
09:06:30FromDiscord<iWonderAboutTuatara> No, not at all
09:06:33FromDiscord<Elegant Beef> If publishers dont want to push to other publishing platforms, it's on them
09:06:35FromDiscord<Rika> "exclusivity but not paid for" isnt exclusivity at all
09:06:39FromDiscord<iWonderAboutTuatara> Have you guys heard of a natural monopoly?
09:06:51FromDiscord<iWonderAboutTuatara> YouTube is indisputably monpolistic
09:06:54FromDiscord<Rika> those are non issues then are they not? since theyre natural after all
09:06:55FromDiscord<iWonderAboutTuatara> That's not even in question
09:07:09FromDiscord<iWonderAboutTuatara> Yet they don't pay people to upload only to their site
09:07:18FromDiscord<Elegant Beef> I mean steam is the biggest kid on the block with the coolest features and actively is pro consumer
09:07:26FromDiscord<Kiloneie> Have you seen Steam in it's infancy coupled with half life 2 and what a graveyard that was ? Then out of nowhere everyone is using steam ? Lol it suprised the heck out of me.
09:07:29FromDiscord<Elegant Beef> Is it really bad that they're the monopoly you call them?
09:07:32FromDiscord<Rika> maybe im just confused
09:07:39FromDiscord<iWonderAboutTuatara> Yes
09:07:51FromDiscord<iWonderAboutTuatara> Natural monpoly/not actively anti consumer monpoly is still bad
09:07:55FromDiscord<iWonderAboutTuatara> At best they're stagnant
09:08:00FromDiscord<iWonderAboutTuatara> Which steam is
09:08:06FromDiscord<Kiloneie> I am still shocked how Steam became so dominant... guess noone tried a shop like that...
09:08:19FromDiscord<Rika> well then the only way to fix that is to be a better competitor is it not?
09:08:26FromDiscord<Elegant Beef> Ah yes remote play(together), proton
09:08:32FromDiscord<Rika> its unfair to force a company to gimp their platform
09:08:38FromDiscord<iWonderAboutTuatara> But that's the thing, it's an inherently uneven playing field
09:08:41FromDiscord<Elegant Beef> Stagnation by enabling consumers to have more abillities to use their products
09:08:53FromDiscord<Kiloneie> Epic is giving games for free for a whole month every now and there, very popular games that is.
09:08:55FromDiscord<iWonderAboutTuatara> Steam has a massive advantage over epic just by virtue of being so much bigger
09:09:03FromDiscord<Rika> yes but what is there to do
09:09:06FromDiscord<Elegant Beef> Yes the entire reason they do that is to build a user base
09:09:09FromDiscord<iWonderAboutTuatara> Excl
09:09:25FromDiscord<iWonderAboutTuatara> That's the idea
09:09:41FromDiscord<Elegant Beef> What is steam supposed to be doing?
09:09:43FromDiscord<Kiloneie> Epic still has a sht ton of money to throw at marketing(what do you think Fortnite was ? the biggest marketing campaign ever)
09:09:57FromDiscord<iWonderAboutTuatara> I didn't say they were supposed to be doing anything
09:10:04FromDiscord<iWonderAboutTuatara> I didn't ascribe blame to valve at all
09:10:09FromDiscord<Elegant Beef> You said they're stagnat
09:10:11FromDiscord<iWonderAboutTuatara> This is just how markets work
09:10:23FromDiscord<iWonderAboutTuatara> They definitely are more stagnant than a competitive market would be
09:10:28FromDiscord<Kiloneie> Steam isn't that pro consumer btw( they had a terrible refund policy until recently)
09:10:33FromDiscord<Rika> okay then its just bad but no action can be taken
09:10:47FromDiscord<iWonderAboutTuatara> Epic is taking the action
09:10:49FromDiscord<iWonderAboutTuatara> That's the idea
09:11:04FromDiscord<Kiloneie> Which came to light with games like no man's sky, Alien colonial marines, which prompted massive refunds
09:11:07FromDiscord<iWonderAboutTuatara> That's why excl is ok, its only goal is levelling the playing field
09:11:08FromDiscord<Ricky Spanish> to be fair im just happy its aint uplay that is doing it since they couldnt even secure their little website and had a fairly significant data breach so epic, valve whatever just be happy it aint ubisoft or EA origins
09:11:08FromDiscord<Rika> but apple's garden is forced monopoly
09:11:20FromDiscord<iWonderAboutTuatara> Uplaybis so bad
09:11:23FromDiscord<iWonderAboutTuatara> Oh man
09:11:37FromDiscord<iWonderAboutTuatara> This isn't about apple though @Rika
09:11:43FromDiscord<iWonderAboutTuatara> Apple bad I agree
09:11:44FromDiscord<Elegant Beef> Their publisher contract states you must update your product within 30 days of any other platform, they've released features so you can play your products remotely, on linux, and remotely with outhers. All without an explict cent
09:11:57Araqthis is offtopic
09:12:03FromDiscord<iWonderAboutTuatara> True
09:12:07FromDiscord<iWonderAboutTuatara> I'll stop
09:12:08FromDiscord<Rika> yes it is
09:12:14FromDiscord<Elegant Beef> Pack it up, time to go home
09:12:20FromDiscord<iWonderAboutTuatara> Lmoa
09:12:36FromDiscord<Rika> using locks, what does this (C) error mean? `error: ‘pthread_mutex_t’ has no member named ‘abi’`
09:12:56FromDiscord<Rika> its happening in object creation (init function)
09:13:05FromDiscord<Rika> object contains lock (is that not allowed?_
09:13:07FromDiscord<Rika> (edit) 'allowed?_' => 'allowed?)'
09:13:53FromDiscord<Rika> (edit) 'locks,' => 'locks module,'
09:14:37bungyou make it member of a object ?
09:14:45FromDiscord<Rika> yes
09:15:26bungmaybe it does not know how to automaticly init a object has pthread_mutex_t member
09:16:23bungtry {.noInit.} and manually init your object I guess
09:16:42FromDiscord<Rika> okay thanks
09:17:29*Vladar quit (Remote host closed the connection)
09:19:34FromDiscord<Kiloneie> Mass off topic debate out of nowhere xD
09:19:55FromDiscord<Kiloneie> People got bored apparently D:
09:20:56PMunchHehe, tends to happen here
09:21:12PMunchSometimes the offtopic channel is more ontopic than the main channel
09:23:45*awe00 joined #nim
09:24:55*awe00_ quit (Ping timeout: 240 seconds)
09:26:12*Vladar joined #nim
09:26:30PMunchHmm, if I create a template that returns a tuple and unpack it directly, does that create considerably worse code than a {.dirty.} template or an {.inject.} template with regards to execution speed and program size?
09:26:31FromDiscord<haxscramper> General question of mapping C/C++ types to nim types -in C++ immutability is a property of type, not variables. Is it necessary to handle things like `pointer-to-const` vs `const-pointer-to` differently or I can just map it to 'mutable or immutable'
09:27:43FromDiscord<haxscramper> There is no way to completely map it, but thints like `int &` vs `const int&` could be mapped to var-non-var
09:27:53FromDiscord<Rika> pointers can become mutable or immutable depending on where you dereference it into
09:28:03FromDiscord<Rika> im not sure if i answered any of your questions
09:28:26FromDiscord<Rika> pointers have no var or non-var, all pointers are "var" data
09:28:49FromDiscord<Rika> let a: ptr int↵means the pointer cannot change, but theres no guarantee for data
09:29:30FromDiscord<Rika> same thing for ref (but there are proposals too making a `ref var T` kind of declaration or something
09:30:09FromDiscord<Rika> (edit) 'non-var,' => 'non-var data,'
09:30:38FromDiscord<haxscramper> Okay, so I can do `int* => ptr[int]`, `const int => int`, `int& => var int`. It is not possible to understand if pointer is mutated or not, so I just assume it will be
09:31:14FromDiscord<haxscramper> And since I generate `proc`, not `func` I don't provide deep immutability guarantees for arguments anyway.
09:31:22FromDiscord<Rika> okay
09:38:25Araqactually you kind of do as .noSideEffect is inferred. XD
09:39:19Araqin retrospect it wasn't the wisest move but we can fix it.
09:47:59FromDiscord<Clyybber> Araq: Reverted the result = "" changes in https://github.com/nim-lang/Nim/pull/14777
09:48:00disbotCleanup
09:48:11FromDiscord<Clyybber> And good morning :)
10:01:26FromDiscord<XxDiCaprioxX> Is there a way to get all the keys in a table?
10:01:49*hackePelle joined #nim
10:02:03FromDiscord<Rika> table.keys ?
10:02:46FromDiscord<XxDiCaprioxX> Okay, perfect
10:03:32*hackePelle quit (Client Quit)
10:52:07Araqbeware, that's an iterator
10:59:38Zevvaaand good morning clyybber!
11:02:05FromDiscord<Clyybber> o/
11:02:26FromDiscord<Clyybber> Araq: Is it good to go?
11:05:23Araqdunno need to review it once again
11:06:54*MarderIII quit (Quit: Leaving)
11:08:33*NimBot joined #nim
11:09:17FromDiscord<Clyybber> Araq: Should I remove compiler/forloops.nim?
11:17:20*abm joined #nim
11:35:19FromDiscord<Hearthstone> Because of Nim, i prefer `camelCase` over snake_case`-
11:35:25FromDiscord<Hearthstone> (edit) 'snake_case`-' => '`snake_case`-'
11:36:32FromDiscord<Hearthstone> When snake case used to be my favourite-
11:36:47FromDiscord<ache of head> camelCase is okay but there's always trouble with lookalike characters
11:36:54FromDiscord<Hearthstone> Mhm
11:37:03FromDiscord<ache of head> likelnThisIine
11:37:23FromDiscord<ache of head> oof i wrote `line` uncapitalized hehe
11:38:02FromDiscord<Idefau> ```likeInThisLine```
11:38:08FromDiscord<Idefau> looks fine in monospace :p
11:38:15FromDiscord<ache of head> some fonts don't but
11:38:18FromDiscord<ache of head> that*
11:38:23FromDiscord<ache of head> what? lmao
11:38:26FromDiscord<ache of head> some fonts don't do that*
11:38:27FromDiscord<ache of head> is what i meant
11:38:30FromDiscord<Idefau> fair
11:38:42FromDiscord<ache of head> and sometimes they're not the same
11:38:46FromDiscord<ache of head> but they're just similar
11:38:53FromDiscord<ache of head> and it can kind of blend at small sizes
11:39:05FromDiscord<ache of head> that doesn't mean i prefer snake_case though
11:39:14FromDiscord<ache of head> that one takes up more space
11:39:55FromDiscord<Idefau> ```gluedcase```
11:40:17FromDiscord<ache of head> haha
11:44:41PMunchhoRrORcaSe ftw!
11:45:53FromDiscord<Idefau> 1337_c4s3
11:47:14FromDiscord<haxscramper> `lisp-kebab-case`
11:47:54FromDiscord<ache of head> it's basically like snake_case but the line is higher up
11:48:39FromDiscord<Rika> so whos making the next case with inverted underscores
11:50:21FromDiscord<haxscramper> !eval proc `hello▔▔world`() = echo "2"
11:50:23NimBot<no output>
11:50:36FromDiscord<Idefau> oof
11:50:45FromDiscord<Hearthstone> .
11:50:50FromDiscord<ache of head> hehe
11:50:52FromDiscord<Idefau> tho we all know that the language with the best case is brainfuck
11:50:58FromDiscord<Hearthstone> Yes-
11:51:15FromDiscord<Hearthstone> `BrainFuck == bestLang` too-
11:53:20FromDiscord<Idefau> yes
11:54:00bungcan I turn a string to a identifier in template ?
11:54:24Araqbung, you need a macro for that iirc
11:55:04Araqbut usually it doesn't come up as you can never pass a string that is only known at runtime to anything
11:55:21FromDiscord<Clyybber> Araq: Should I remove compiler/forloops too?
11:57:10bunghmm, macro hard to managed
11:59:45alehander92mate look at it as function
11:59:53alehander92it just takes a NimNode and returns one
12:00:07alehander92nothing much harder than other libs
12:01:44bungI need remeber wired name nnk*
12:03:16FromDiscord<Rika> quote exists
12:04:19bungoh that one may helps
12:05:37Araqclyybber: ok
12:06:01*supakeen quit (Quit: WeeChat 2.9)
12:06:40*supakeen joined #nim
12:10:26PMunchZevv, fixedpoint lacks - :P
12:21:10alehander92bung yeah :)
12:21:17Zevvsure it lacks about everything
12:21:43Zevvit was not as fun as i thought it would be
12:21:57Zevvis that a good excuse for doing things half baked, again and again and again?
12:27:18*noonien quit (Quit: Connection closed for inactivity)
12:28:45ZevvI feel the possibility to mix & match types and sizes would be the power over this implementation over any other
12:28:53Zevvbut the implemenation will have a lot of repetition
12:29:01Zevvso I'm looking into how to clean that up
12:29:11Zevvthat does not mean you'll have something that is actually *usable* anytime soon
12:29:37PMunchHaha, it actually seems to work quite well already
12:29:45PMunchTo get around the no minus thing I just add a negative number
12:30:52Zevvtyping as we speak
12:32:09FromDiscord<Clyybber> Zevv: What problem do you have with your FixedPoint lib?
12:33:02FromDiscord<Clyybber> If typing FixedPoint[...] all over again constantly, just put an example in the readme that aliases the type
12:33:50FromDiscord<Clyybber> Oh, I wasn't up to date on your lib, so discard that
12:33:55Zevvclyybber: the only problem I have is https://github.com/nim-lang/Nim/issues/15225
12:33:56disbotGeneric converter: cannot instantiate ; snippet at 12https://play.nim-lang.org/#ix=2vdA
12:34:12Zevvand that it's a lot of work to type it all in :)
12:34:22Zevvand probably also a lot of work to make it even correct
12:34:55ZevvI want it to be able to mix different T,W types in all or most operators
12:35:50ZevvI whish I saved a copy of the repo of this fixedpoint implemetation I did for a customer
12:36:01Zevvit never made it into a product, but I got a long way, most of the gonio stuff was in there
12:36:04Zevvsqrts, pow, exp
12:37:11FromDiscord<Clyybber> could steal from https://github.com/christides11/FixedPointy
12:37:22Zevvyeah but then I need to understand other peoples code
12:37:23Zevvthat's hard work
12:37:33ZevvI can steal from a zillion implementations
12:38:00ZevvThis is my fixedpointlib. There are many more like it, but this one is mine.
12:38:31ZevvThat kind of lost its haikuness during translation :/
12:39:58FromDiscord<Rika> ~~considering that haiku are based on morae (japanese equivalent of letters) rather than syllables~~
12:41:02Zevvwho caaaares
12:42:06Zevvthese are haiku for dummies
12:46:35Zevvoh man now I want to make the overflow checks and rounding also explicit in the type
12:47:37*dddddd quit (Ping timeout: 264 seconds)
12:48:04FromDiscord<Clyybber> I mean why not
12:48:17FromDiscord<Clyybber> after all people can just alias the type afterwards for convinience
12:48:41FromDiscord<Clyybber> what do you want to do with rounding though?
12:49:27Zevvwell, doing rounding is overhead, and not always needed
12:49:44Zevvjust like overflow checking
12:49:53FromDiscord<Clyybber> what exactly do you mean by rounding?
12:50:05Zevvso intead of making this configurable for the lib as a whole, I could make it a per-type property
12:50:18Zevvso you can added types with overflow check to other types with overflow checks
12:50:23Zevvor non-checks to non-checks
12:50:43*xace quit (Remote host closed the connection)
12:50:52FromDiscord<Clyybber> do you mean rounding as in you put in a FP[32], FP[16] and get out a FP[16] or a FP[32] depending on the rounding behaviour?
12:51:08*xace joined #nim
12:51:28Zevvno, it's just for the conversions. When converting float to fixed or the other way around
12:51:39Zevvtruncating is cheap, otherwise you always have to add half the LSB
12:52:31Zevvclyybber: how do you mean 'aliases the type'
12:53:54Zevvoh dang and saturating as well
12:53:58Zevvtooo many permutations
12:56:34FromDiscord<Clyybber> I mean no matter how complicated the type gets, just say its idiomatic to go type MyFP = FixedPoint[...........]
12:56:52ZevvOh sure, that's the whole point
12:59:57Zevvthat's how you define your custom type where you work with, a a user
13:01:43lbartClyybber Zevv FYI I writed a fixed point library (not yet released) https://gitlab.com/lbartoletti/fpn
13:04:00Zevvaah see PMunch, someone made it already for you \o/
13:04:22PMunchZevv, that's the same one we were looking at the other day
13:04:34PMunchThe one that had the statically defined types and such
13:04:40ZevvPMunch: oooh it is. I was on mobile so missed the "larger picture"
13:04:50PMunchI like your library better :) But it is missing some bits and pieces :P
13:05:10PMunchAnd what was the deal with `set` over `=`?
13:05:19Zevvmake the `=` work for me please
13:05:26Zevvthen you know the deal
13:05:29FromDiscord<Clyybber> lbart: Interesting
13:06:56FromDiscord<Clyybber> Araq: Should there be parantheses around https://github.com/nim-lang/Nim/blob/devel/compiler/semtypinst.nim#L395 just like in the line above??
13:07:39*audiofile joined #nim
13:07:52lbartClyybber Zevv PMunch it was a try for me to learn and write something in Nim. It's a one shot. Any contributions and improvements are obviously welcome :)
13:09:10*dddddd joined #nim
13:10:23PMunchWhat?! "Error: signature for '=' must be proc[T: object](x: var T; y: T)"
13:10:36PMunchWhat kind of limitation is that..
13:10:41ZevvPMunch: soo, now try a converter, because that would be the logical next step, right
13:11:16Zevvooh lbart, you nested your generic types. smart.
13:11:39Zevvwell, the only thing my lib would bring over this is working with mixed types
13:12:28PMunchYeah.. Cannet instantiate..
13:12:38lbartZevv: yep, thanks to Yardanico ;)
13:12:46lbartZevv: we can merge our lib if you want
13:13:14ZevvHm not sure, mine was just for toying around to see how far i could get with types
13:13:32ZevvI'm not adding overflow/saturation handling and rounding into the type as well
13:13:35Zevvto make the code 100% unreadable
13:14:00ZevvSo you define you type as `uint16 based, 4 bits after the comma, saturate on overflow, do rounding`
13:14:29Zevvtotal overenginerding
13:19:10PMunchHmm, tried a term rewriting macro
13:19:15PMunchBut I couldn't get it to work..
13:19:32Zevvbeen that, done there
13:19:49PMunchhaha :P
13:20:13lbartI don't understand, it's not in the type
13:31:58*endragor quit (Remote host closed the connection)
13:33:49*endragor joined #nim
13:34:16*bung quit (Ping timeout: 258 seconds)
13:34:55PMunchWell that's a new one: Error: unhandled exception: 'floatVal' is not accessible using discriminant 'kind' of type 'TFullReg' [FieldDefect]
13:35:14PMunchWas passing something to a macro that expected a float
13:35:28FromDiscord<Clyybber> Yep, the compiler tried to access the float
13:35:36FromDiscord<Clyybber> but the node kind is not a nkFloat
13:35:39FromDiscord<Clyybber> so it fails
13:36:37FromDiscord<exelotl> > signature for '=' must be proc[T: object](x: var T; y: T)↵Man I would *really* love for that limitation to go away for some of my GBA stuff.
13:36:50FromDiscord<exelotl> Example cases: Can better achieve the "write only" semantics of some of the GBA's registers by letting you assign from A to B but not B to A.
13:36:52FromDiscord<exelotl> Can assign from a struct S without padding to a struct P with extra padding, without clobbering the extra padding, and without first converting the S to a P
13:37:15FromDiscord<Clyybber> Maybe it will, if we rename the current `=` to `=copy`
13:39:34*endragor quit (Ping timeout: 256 seconds)
13:39:40*waleee-cl joined #nim
13:41:26FromDiscord<Clyybber> then `=` can be an operator like every other
13:55:08PMunchClyybber, yeah I got why, I was just surprised I didn't get a type error
14:04:03*bung joined #nim
14:11:03disruptekclyybber: typed proc params. 😢
14:11:36*PMunch quit (Quit: Leaving)
14:12:00FromDiscord<Clyybber> disruptek: on it
14:12:07disruptekwoohoo
14:12:16FromDiscord<Clyybber> if you already have a minimal example that'd be fine
14:12:32disruptekcps/tock.nim is what i check.
14:12:37FromDiscord<haxscramper> Where is `importcpp` pragma language parser is in compiler? I mean what file implementaiton is in
14:12:46disruptek--define:cpsTree dumps it and i can see Idents where i wanna see Syms.
14:14:20disruptekand it might actually work when you've fixed it, whereas it doesn't at the moment.
14:14:43disruptekhaxscramper: sorry, i dunno where importcpp is.
14:15:05FromDiscord<mratsim> behind you
14:15:26disrupteki thought i felt something verbose...
14:17:11FromDiscord<haxscramper> * muffled sounds of `(new '*0#@)` in the background *
14:20:26FromDiscord<Clyybber> haxscramper: ccgcalls:genPatternCall
14:21:53FromDiscord<Clyybber> disruptek: Aight, btw can we merge typed into master?
14:22:08disruptekthe boss says `no` because it's too disturbing.
14:22:33FromDiscord<Clyybber> but everything works?
14:22:34FromDiscord<Clyybber> right?
14:22:38disruptekno way.
14:22:54disruptekit has been pending blockers.
14:23:16FromDiscord<Clyybber> in short: poggers
14:23:45*Kaivo quit (Quit: WeeChat 2.9)
14:24:35disruptekpeckers.
14:25:12FromDiscord<Clyybber> i shall remove myself
14:25:48disruptekbut i'm told you're the guy to go to for pecker relief.
14:28:41FromDiscord<Clyybber> oh, I'm already gone
14:28:44FromDiscord<Clyybber> but not in tock.nim
14:32:27*arecacea1 quit (Remote host closed the connection)
14:32:40FromDiscord<Clyybber> undeclared identifier count
14:32:57*arecacea1 joined #nim
14:33:01disruptekyeah, it's a proc arg that we cannot grok because it's not a sym.
14:33:32FromDiscord<Clyybber> ok
14:34:12disruptekwhen you --define:cpsTree you'll see the original tree and then the transformed stuff. each is marked off. it's easy to check.
14:34:37disrupteki use the tock.nim test because it's a single transform versus our larger suite.
14:34:38FromDiscord<Clyybber> the tree won't be printed
14:34:49FromDiscord<Clyybber> because the error occurs before the printing I think
14:34:55disruptekno, it will.
14:35:44FromDiscord<Clyybber> but it doesn't
14:35:45FromDiscord<Clyybber> not for me
14:35:50disruptekwut
14:36:35disruptek--define:cpsDebug also.
14:36:41*Amun_Ra quit (Quit: brb)
14:36:42FromDiscord<Clyybber> gotcha
14:36:48disruptekmy bad. it's in my cfg.
14:37:19disruptek=== .cps. on tock(original) === /home/adavidoff/git/cps/tests/tock.nim(4, 0)
14:37:57FromDiscord<Clyybber> is $config in a .cfg the location of the config?
14:38:05disruptekyep.
14:38:11FromDiscord<Clyybber> why not use .?
14:38:16FromDiscord<Clyybber> its shorter
14:38:27disruptekto me it's ambiguous.
14:38:39FromDiscord<Clyybber> its always relative to the config file
14:38:57disruptekit is if the parser sets the path correctly.
14:39:08disruptekbut anyway, to me it's ambiguous for the reader.
14:40:18*Amun_Ra joined #nim
14:40:20disruptek$config is an absolute path in my code. i dunno if that's a good thing.
14:40:21FromDiscord<Clyybber> I pushed a small fix
14:40:29disruptekdoes it work?
14:40:34FromDiscord<Clyybber> no a path fix
14:40:42FromDiscord<Clyybber> so I don't have to write --path:.. everytime
14:40:54Zevvclyybber, he's not harassing you or being a pain, is he?
14:41:08FromDiscord<Clyybber> its the other way around
14:41:17FromDiscord<Clyybber> I probably just overwrote his autogenerated .nims
14:41:17Zevvdisruptk, he's not harassing you or being a pain, is he?
14:41:32disruptekclyybber, zevv's harassing me.
14:41:53Zevvmooomm he's doing it agaaaaainn
14:42:11FromDiscord<Clyybber> disruptek: https://github.com/disruptek/cps/commit/931b68fe703a419a35bc57d133bb505d5d9f30bd does this make you throb?
14:42:24disruptekonly a little.
14:42:34disruptekufcs is really tough, stylistically.
14:42:45FromDiscord<Clyybber> I take it you nimble developed your cps
14:42:47*Epikur joined #nim
14:42:58disrupteknimble? what's that?
14:43:05FromDiscord<dom96> Hmm, there /may/ be kids in this channel. Hope you realise that
14:43:11FromDiscord<dom96> May wanna keep it more kid friendly
14:43:22FromDiscord<Clyybber> disruptek: I have to confess I was thinking about doing "path".switch something
14:43:32FromDiscord<Clyybber> @dom96 huh? What was non-kid friendly?
14:43:35disruptekhow do you do, fellow kids.
14:43:47disrupteklol
14:43:48FromDiscord<dom96> "does this make you throb?"
14:43:56disruptekyes, dom96.
14:44:01disruptekyou know me so well.
14:44:26FromDiscord<Clyybber> hmm, I explicitly left out the balls, but I see it isn't much SFW either way
14:44:32disrupteklet us not speak of the clusterfuck that is nimble. there /may/ be children present.
14:44:47Zevvok guys concentrate on the matter
14:44:49disruptekanyway, i'm glad you spared me that ufcs.
14:44:51Zevvfooocus
14:45:18FromDiscord<dom96> disruptek: why be like that?
14:45:38disruptekdom96: i'm just teasing you.
14:45:57FromDiscord<Clyybber> for real though, is throbbing itself really NSFW?
14:46:09disruptekyou have no idea.
14:46:21FromDiscord<dom96> would you say it at work?
14:46:26disruptekof course.
14:46:31disruptekwhere do you think i am right now?
14:46:34FromDiscord<Clyybber> I dunno, if a hammer fell on my toe or something
14:46:43FromDiscord<Clyybber> my toe would throb, no?
14:46:49disruptekdo you do a lot of work with hammers?
14:46:56FromDiscord<Clyybber> sometimes
14:47:05FromDiscord<Rika> you can use throbbing in a way to make it "romantic" but you have to explicitly state that its the heart that throbs
14:47:15disruptekthe smallest hammer in my shop is called the "female" hammer.
14:47:19disruptekdoes that make me sexist?
14:47:37FromDiscord<Clyybber> mine is called disruptek
14:47:43FromDiscord<Recruit_main707> 🔥
14:47:49disruptekyou're asking for a pounding.
14:48:04disrupteknailed it.
14:48:05Zevvin for a penny, in for a pounding
14:48:09Zevvcan we now fix cps!
14:48:11FromDiscord<Clyybber> now it would be appropriate to say "I'm throbbing"
14:48:18FromDiscord<Clyybber> Zevv: sure
14:48:19FromDiscord<dom96> maybe it's time we create an #adults-only channel and auto-redirect disruptek and the gang in there 😛
14:48:19disruptekgot head?
14:48:23FromDiscord<Clyybber> lol
14:48:35FromDiscord<Recruit_main707> this is off topic guys...
14:48:41FromDiscord<Clyybber> @dom96 call it #adult-cps
14:49:06FromDiscord<dom96> @Recruit_main707 it's not, it's about Nim's community. It fits in here.
14:49:12FromDiscord<Clyybber> never explain the abbreviation
14:50:03disruptekZevv: clyybber is working on it.
14:50:34FromDiscord<Clyybber> as you can tell :p
14:50:38FromDiscord<Clyybber> pfff
14:50:54Zevvi know, he's always doing that. *just* when i am about to go fix things myself, *poof* clyybber is jumping ahead and stealing all the fun work from me
14:51:10FromDiscord<Clyybber> oh, no you do it then
14:51:17disruptektoo late now.
14:51:17FromDiscord<Clyybber> or *we*
14:51:25disruptekyou already scrubbed in.
14:51:32Zevvreally, I was just going through the symgem ast conversion typeimpl stack reversal thingy
14:51:45disruptekZevv: look what i added for you:
14:51:48disruptek!repo frosty
14:51:48disbothttps://github.com/disruptek/frosty -- 9frosty: 11Serialize native Nim objects via Streams and Sockets ⛄ 15 10⭐ 0🍴
14:51:54disrupteka nice green rectangle.
14:51:56Zevvthis week i learned there are hidden fields in NimNodes
14:52:00Zevvthat no one ever toldme about
14:52:02disruptekshhh
14:53:15FromDiscord<Clyybber> Zevv: YOu mean nodeflags and such stuff?
14:53:36Zevvi forgot which, id have to grep the irc logs to find my complaining
14:53:50disruptekthe hidden fields will remain hidden.
14:53:56Zevvbut i wanted the genericParms of a type that was aliased by a short name
14:55:46FromDiscord<Clyybber> disruptek :What makes you think that they should be syms?
14:55:51FromDiscord<Clyybber> are they syms in other cases?
14:55:59disruptekother cases?
14:56:36*awe00_ joined #nim
14:57:12disruptekZevv: iirc you were whining about getTypeImpl or something.
14:57:17Zevvtheres a "symbol" field in NimnNode which I can get on my getTypeInst to do a getImpl on
14:57:20Zevvright
14:57:33disrupteknot exactly hidden.
14:57:35Zevvi found that in a github response from krux somewhere
14:57:38Zevvits not in the docs
14:57:44FromDiscord<Clyybber> disruptek: other cases where there are syms as params, not idents
14:57:56FromDiscord<Clyybber> or is it idents everywhere?
14:57:59disruptekwhat does that have to do with it?
14:58:08Zevvclyybber: why should they *not* be syms?!
14:58:09disruptekthey should be symbols.
14:58:14Zevvits the only logical thing
14:58:25*awe00 quit (Ping timeout: 264 seconds)
14:58:27FromDiscord<Clyybber> I'm wondering if its a bug or a undesigned thing
14:58:49Zevvundesigned bugs are a thing also
14:59:11disruptek~bugs is undesigned bugs are a thing
14:59:11disbotbugs: 11undesigned bugs are a thing
14:59:14Zevvgiven that we found the other bug which you now fixed, anything can happen here
14:59:25disruptekthe sky is the proverbial limit.
14:59:46Zevvlike mratsim said, when doing things with macro sometimes you feel as if you stumble into a completely empty room
14:59:51disruptek~bugs is intelligent design does not apply to bugs.
14:59:52disbotbugs: 11intelligent design does not apply to bugs.
15:00:14disruptekthat's a good analogy.
15:00:42disruptekor, the room isn't empty but the couch is missing.
15:00:55Araqonce again, 'typed' ASTs are unspecified
15:01:08disruptekdon't be rude. i'm specifying them quite clearly.
15:01:14Zevvi was slightly intoxicated the other day, and thinking to myself. if you would want to make this feature of working with AST from scratch with the knowldge you have now, how would you do that? would there still be macros?
15:01:15Araqwe knew this for v1, couldn't fix it
15:01:36disruptekZevv: i've said many times that macros should not exist.
15:01:46Zevvwhats the alternative
15:01:57Araqthey should exist, they should be simpler to use
15:02:20FromDiscord<Clyybber> we should adopt PMunchs macroutils into the stdlib
15:02:46Zevvits a nice improvement in some areas, really
15:02:48*endragor joined #nim
15:02:58Araqof course alternatively we can built into the language: a DSL for HTML generation. for serialization. for 'dup', for 'strformat'...
15:03:23Araqfor Matrix handling
15:03:43disrupteki just want to write nim in nim. i'm not saying i don't want abstraction.
15:03:58disruptekhomoiconicity.
15:04:02FromDiscord<haxscramper> I think the main issue of working with macros is a little-too-verbose AST construction and matching. Everything else is just right. Macroutils deal with first part quite nicely, ast-pattern-matching works for second one.
15:04:19disrupteki don't want to have to switch back and forth between macro-ast and nim-ast.
15:04:32FromDiscord<Clyybber> macro ast is nim ast...
15:04:48disrupteknk versus nnk.
15:05:37FromDiscord<haxscramper> You can use both nk and nnk in the same code. Requires some jumps with generics but this is pretty easy honestly
15:05:41FromDiscord<Clyybber> the compiler was written before the first macro, so thats why macros have to use two ns
15:06:57FromDiscord<Clyybber> disruptek, Zevv: So back to the issue; Have you encountered cases where the args are syms?
15:07:12disruptekhow could we?
15:07:24*bouzu_ joined #nim
15:07:28disruptekthey are syms in the procs we construct. does that help?
15:08:34Zevvdisruptek: btw do we have a nim issue on this thing already?
15:08:53disruptek!issue proc params untyped
15:08:54disbothttps://github.com/nim-lang/Nim/issues/14847 -- 3create a new function definitions got Internal error: environment misses: 7& 20 more...
15:08:59disruptek!issue proc params untyped author:disruptek
15:09:00disbotno results 😢
15:09:00Zevvah thanks
15:09:01FromDiscord<Clyybber> ok, its not a sym in the most simple case
15:09:04FromDiscord<Clyybber> so its not a bug
15:09:24disruptekthat really depends upon perspective.
15:09:29FromDiscord<Clyybber> in the sense of "the code exists but doesn't fire"
15:09:56FromDiscord<Clyybber> but in the sense of "features start in the unfortunate .." you know the rest
15:10:02disruptek~features
15:10:03disbotfeatures: 11begin in the unfortunate state of /unimplemented/ -- disruptek
15:10:15FromDiscord<Clyybber> why is it attributed to you?
15:10:30FromDiscord<Clyybber> quote plagiarism!
15:10:32disruptekbecause it's hard to get araq to operate the bot.
15:10:32Zevvhe's a lying narcist
15:10:45Zevvoh because it's hard to get ar4q to operate the bot
15:11:13Zevvdisruptek: you can tweak that in your sqlite, I bet
15:11:32disruptekjson, i'm not a masochist.
15:11:36*natrys quit (Quit: natrys)
15:11:37*narimiran quit (Ping timeout: 246 seconds)
15:11:44Zevvalso cool
15:11:46FromDiscord<Clyybber> disruptek: This: https://play.nim-lang.org/#ix=2vuM is a minimal example
15:11:48FromDiscord<Clyybber> not tock.nim :p
15:15:57Zevvclyybber: http://ix.io/2uht/nim
15:16:29FromDiscord<Clyybber> oh, right that one
15:17:55*endragor quit (Ping timeout: 240 seconds)
15:20:25*bung quit (Ping timeout: 240 seconds)
15:21:11disruptek!repo disbot
15:21:13disbothttps://github.com/atomicptr/disbot -- 9disbot: 11Hubot Adapter for discord.js 15 2⭐ 2🍴 7& 29 more...
15:21:16disruptekdamnit.
15:24:04Zevvso, it seems we're hitting "unspecified" grounds. Which is actually not bad news, if we're the first to arrive here, we can plant the flag and say how we want this to work
15:25:46FromDiscord<Clyybber> yeah
15:27:55*def- quit (Ping timeout: 240 seconds)
15:30:15FromDiscord<Clyybber> now lets see how the flag shall look
15:30:48FromDiscord<Clyybber> disruptek, Zevv: I think the proc types params should still be idents not syms, wdyt
15:30:58FromDiscord<Clyybber> but for the proc itself they should be sym
15:32:07FromDiscord<Clyybber> or maybe they should be for the type too...
15:43:33*synshroud_ joined #nim
15:44:01*synshroud quit (Ping timeout: 264 seconds)
15:47:00*pezhead9000 joined #nim
15:48:33disruptekwhy would they be idents?
15:50:40*bung joined #nim
15:55:25*bung quit (Ping timeout: 264 seconds)
15:59:49Zevvare there any other things in typed macros that are only idents?
16:02:14Araqprobably
16:02:24Araqenum declarations
16:02:37Araqor object declarations
16:03:27*hnOsmium0001 joined #nim
16:03:33Araqwrite an RFC already how you want the AST to look like, I will also contribute
16:07:34disruptekclyybber: i still don't understand what you're asking.
16:12:19FromDiscord<Clyybber> I'm asking how the AST should look
16:12:58*awe00_ quit (Ping timeout: 256 seconds)
16:13:35*synshroud joined #nim
16:13:57FromDiscord<Clyybber> But yeah, all this needs to be written down somewhere
16:14:01*synshroud_ quit (Ping timeout: 264 seconds)
16:18:22FromDiscord<Clyybber> disruptek: And we should be consistent. So the question is if the type of the proc itself should store its arguments as syms too
16:18:43disruptekoh, a proc type.
16:18:48FromDiscord<Clyybber> Yeah
16:18:55disrupteki would say no. they aren't symbols there.
16:19:04disruptekthey are merely names.
16:19:37*awe00_ joined #nim
16:23:06FromDiscord<Clyybber> It gets tricky with default values
16:23:31FromDiscord<Clyybber> The question is should default values be part of the type?
16:23:48FromDiscord<Clyybber> Right now they are.. in a way.
16:23:54disruptekgood question.
16:26:01FromDiscord<Clyybber> https://play.nim-lang.org/#ix=2vva
16:28:18FromDiscord<Clyybber> As you can tell, right now they are part of the type, which makes sense since it puts the responsibility on the caller
16:29:11disrupteklovely.
16:29:34disruptekthis seems slightly related to my recent mangling problem.
16:29:47Araqhttps://github.com/nim-lang/Nim/pull/15232 bikeshed about the name
16:29:48disbottypetraits: add rangeof(T), a shortcut for low(T)..high(T)
16:29:52Araqsliceof vs rangeof
16:30:17FromDiscord<Clyybber> IMO it should be neither of those
16:30:29FromDiscord<Clyybber> it should be validValuesOf or something like that
16:30:55FromDiscord<Clyybber> sliceof/rangeof is just sugar for low(T)..high(T)
16:30:58*bung joined #nim
16:31:15FromDiscord<Clyybber> but validValuesOf could return a set of valid enums when given an enum
16:31:31FromDiscord<Clyybber> allowing one to perform a castability check for enums with holes
16:32:35FromDiscord<Clyybber> or if we want to go one step higher, a isConvertible
16:32:47FromDiscord<Clyybber> which in the previous PR was the contains proc
16:32:54*bouzu_ quit (Quit: Leaving)
16:33:05disrupteki think you're ascribing too much specific use-case to a general proc.
16:33:38disrupteksliceof makes the most sense to me, except for the fact that i don't have to know anything about Slice to use it all over the stdlib.
16:34:08*pezhead9000 is now known as agent0x00
16:35:11FromDiscord<Clyybber> It should at least error for enums with holes then
16:35:21FromDiscord<Clyybber> or maybe even just warn
16:35:26disruptekslice is not sparse. to me, that's the key distinction.
16:37:21*endragor joined #nim
16:39:00*eery quit (Quit: leaving)
16:40:37FromDiscord<Clyybber> Araq: Reverted the remaining result = "" from your reviews.
16:43:19FromDiscord<Clyybber> Araq: sink openArray doesn't make much sense does it?
16:43:35FromDiscord<Clyybber> Its a bit like saying `sink lent`
16:46:29kinkinkijkinpsa: i was looking for .len, not .sizeof
16:46:47FromDiscord<Clyybber> disruptek: The fact that default params belong to the type hints that they should all be syms
16:47:16FromDiscord<Clyybber> In fact they must be. You could have a proc definition nested inside a default param of a proc type
16:47:25*apahl quit (Ping timeout: 272 seconds)
16:47:57*apahl joined #nim
16:48:14FromDiscord<Clyybber> Those could have parameters with the same names that get referenced in default values
16:48:24FromDiscord<Clyybber> it just makes much more sense to have that be syms I think
16:48:29disruptekthe sigmatch is breaking my brain, though.
16:49:08FromDiscord<Clyybber> sigmatch doesn't concern itself with the values of the default values I think
16:49:24disruptekbut doesn't it have to?
16:49:27FromDiscord<Clyybber> no
16:49:41FromDiscord<Clyybber> it only needs to know if they have a default param or not
16:49:47FromDiscord<Clyybber> (edit) 'param' => 'value'
16:49:56FromDiscord<Clyybber> unless I'm missing something
16:53:22disrupteki'm thinking of generics and typeclasses, but if it's already working, then obviously we have nothing to lose by making everything typed.
16:53:34disruptekit gets typed eventually.
16:55:17*Epikur quit (Quit: Leaving.)
16:57:19*vicfred joined #nim
16:57:25*Zectbumo joined #nim
16:57:31FromDiscord<Clyybber> The only issue is that if the a in proc(a: int, b = a) already is a sym, and we inject it into the calling expression
16:58:02FromDiscord<Clyybber> we end up with p(a, a) for example
16:58:14FromDiscord<Clyybber> and the a is the a from the type
16:58:20FromDiscord<Clyybber> but should it really be the same sym?
16:58:29disruptekwhat else?
16:58:33FromDiscord<Clyybber> should we allow reusing syms
16:58:42disruptekoh.
16:58:45FromDiscord<Clyybber> you could have two calls to p(a, a)
16:58:53*superbia1 joined #nim
16:58:57FromDiscord<Clyybber> and they would share the sym
16:59:02disrupteki would say yes, but what if one is mutable and the other isn't.
16:59:04FromDiscord<Clyybber> but the sym might even have a different type
16:59:34FromDiscord<Clyybber> because you can have something like proc(a: T, b: T = a)
17:03:12disruptekit's basically a rewrite to proc ... let b = a, right?
17:03:12disruptekshouldn't we treat it this way?
17:03:12FromDiscord<Clyybber> yeah we should
17:03:13*superbia quit (Ping timeout: 240 seconds)
17:03:13disruptekthat should answer these questions, right?
17:03:13FromDiscord<Clyybber> no
17:03:13FromDiscord<Clyybber> it doesn't
17:03:13FromDiscord<Clyybber> what is a
17:03:13FromDiscord<Clyybber> is a the sym from the type?
17:03:13disruptekT 😁
17:03:13*a_b_m joined #nim
17:03:13FromDiscord<Clyybber> a *has* the *type* T
17:03:13disruptekit's a sym, yes.
17:03:13FromDiscord<Clyybber> with the type T
17:03:13*Zectbumo quit (Read error: Connection reset by peer)
17:03:13disruptekwhat else?
17:03:14FromDiscord<Clyybber> but now we instantiate p two times
17:03:14FromDiscord<Clyybber> with a different T
17:03:14FromDiscord<Clyybber> now we have one sym
17:03:14*Zectbumo joined #nim
17:03:14FromDiscord<Clyybber> with two types
17:03:14FromDiscord<Clyybber> that can't work
17:03:14disruptekthey need their own instances, but i'm not bothered.
17:03:14FromDiscord<Clyybber> so we need to split it on generic instantiation
17:03:14disrupteki don't see any way around that.
17:03:32disrupteki would expect nothing less, i mean. they are symbols of two different types that happen to share the same name. it's two procs that have named arguments that share the same identifier. big deal.
17:04:05*abm quit (Ping timeout: 240 seconds)
17:04:19kinkinkijkingles2 wants unchecked arrays so im writing a small data helper library for converting seqs to uncheckedarrays
17:04:19*snowolf quit (Remote host closed the connection)
17:04:32FromDiscord<Clyybber> disruptek: Hmm, its actually easy
17:04:35FromDiscord<Clyybber> we need to gensym it
17:04:36kinkinkijkinand other data help
17:04:47FromDiscord<Clyybber> disruptek: Like we do with templates
17:04:55disruptekoh joy.
17:05:06FromDiscord<Clyybber> A template body might contain `var a` and a is already a sym in the body
17:05:20FromDiscord<Clyybber> but when we expand it we gensym it and a is its own thing now
17:05:27*snowolf joined #nim
17:05:31FromDiscord<Clyybber> so we can do t() ;t()
17:05:53FromDiscord<Clyybber> and generics are basically templates :)
17:06:00*Epikur joined #nim
17:06:01disruptekif they show up as gensyms, i wonder if that will break my cps code's brain.
17:06:11FromDiscord<Clyybber> it should not
17:06:24FromDiscord<Clyybber> because then you shouldn't need to look at idents anymore
17:06:27disruptekdoesn't matter either way, i just may be making some assumptions...
17:06:34FromDiscord<Clyybber> all I see are sym gensym and sym
17:06:57disruptekit's cleaner than it was, certainly.
17:09:38*awe00_ quit (Ping timeout: 256 seconds)
17:13:36*synshroud_ joined #nim
17:13:46*synshroud quit (Ping timeout: 256 seconds)
17:28:38*synshroud_ quit (Quit: ZNC 1.7.5 - https://znc.in)
17:33:07*a_b_m quit (Quit: Leaving)
17:34:14*audiofile quit (Quit: Default Quit Message)
17:38:07*moerm joined #nim
17:38:15moermHello everyone ;)
17:38:28FromDiscord<Idefau> hello
17:39:03FromDiscord<ache of head> hiya!
17:41:55*Vladar quit (Ping timeout: 240 seconds)
17:42:26*agent0x00 quit (Quit: Leaving)
17:43:52kinkinkijkindangit that data helper didnt helper
17:44:54FromDiscord<Hearthstone> Is there a way to make a sequence accept any data type?
17:45:03FromDiscord<Hearthstone> I know i asked this a while ago
17:45:08FromDiscord<Hearthstone> But I'm really curious
17:48:36kinkinkijkinalso, i just dropped this application's init time by not using concat() while initializing it
17:49:18kinkinkijkinusing a fixed number of .add()s every loop cut the init time from 2 and a half minutes to 10 seconds
17:49:36kinkinkijkindespite not moving less data
17:50:00moermHave a good time, bye
17:50:06*moerm quit (Quit: Leaving)
17:50:09kinkinkijkinoh
17:51:12*bung quit (Quit: Lost terminal)
17:52:45kinkinkijkinis .concat() normally this slow?
17:53:05kinkinkijkin2 and a half minutes is a --d:release benchmark btw
17:53:14kinkinkijkinwas more like 7 minutes on --d:debug
17:57:52FromDiscord<Rika> @Hearthstone why?
17:57:55*FromDiscord quit (Remote host closed the connection)
18:03:35*FromDiscord joined #nim
18:09:35Prestigekinkinkijkin: how many concat calls?
18:10:30alehander92concat creates a new sequence, no?
18:11:16alehander92i have no idea if a = a.concat(b) is optimized down tho
18:12:08*andinus quit (Quit: reconnecting)
18:14:33*tane joined #nim
18:14:59*synshroud joined #nim
18:17:46FromDiscord<XxDiCaprioxX> How do I declare a seq of strings?
18:19:05FromDiscord<Hearthstone> You want to be able to add values to it in run time @XxDiCaprioxX?
18:19:07Yardanicovar a: seq[string]
18:19:22FromDiscord<XxDiCaprioxX> yes
18:19:34FromDiscord<Hearthstone> > var a: seq[string]
18:19:43FromDiscord<Hearthstone> As Yardanico said :P
18:19:46FromDiscord<XxDiCaprioxX> ah, i tried var a: @[string]
18:19:50FromDiscord<XxDiCaprioxX> thanks
18:20:05Yardanicowell, if you have values already, you can do var a = @[mystr, myotherstr]
18:20:10Yardanicoif these are existing variables
18:20:11FromDiscord<Hearthstone> Yup
18:20:14Yardanicoor var a = @["hello", "world"]
18:20:20FromDiscord<XxDiCaprioxX> and how do I initialize? an empty one?
18:20:24Yardanicoyou don't need to
18:20:26FromDiscord<XxDiCaprioxX> (edit) 'initialize?' => 'initialize'
18:20:30*audiofile joined #nim
18:20:42FromDiscord<XxDiCaprioxX> I have a sequence as an object parameter
18:20:48Yardanicoyou still don't need to
18:20:53FromDiscord<Hearthstone> `var a: seq[string]`
18:21:00FromDiscord<Hearthstone> To make an empty sequence
18:21:09Yardanicocan you post more code?
18:21:29FromDiscord<XxDiCaprioxX> sent a code paste, see https://play.nim-lang.org/#ix=2vvP
18:21:30FromDiscord<Rika> ```type MyType = object↵ aField: seq[string]↵```
18:21:43Yardanico@XxDiCaprioxX yes just like that
18:21:44FromDiscord<XxDiCaprioxX> sent a code paste, see https://play.nim-lang.org/#ix=2vvQ
18:21:47kinkinkijkinprestige alehander one call for every line in this 4mb obj containing a vertex
18:21:49FromDiscord<Rika> all fields in a regular `object` default to empty or 0
18:21:56FromDiscord<XxDiCaprioxX> ``` discard newOpening("sicilian", "Hi", initTable[string, Variation](), ) ```
18:22:06FromDiscord<XxDiCaprioxX> What goes behind the comma in the last line of code I posted?
18:22:31Yardanicohttps://play.nim-lang.org/#ix=2vvR
18:22:38Yardanicoand then the seq is optional
18:22:41Yardanicoand it'll be empty by default
18:23:01FromDiscord<XxDiCaprioxX> okay thanks
18:46:03disrupteki'm working on improvements so seqs isn't empty.
18:46:08disruptekit's hard, though. very hard.
18:46:28FromDiscord<Clyybber> disruptek: What do you eman?
18:47:22*tane quit (Quit: Leaving)
18:51:46disruptekempty seqs is kinda like a bad smell. it follows me wherever i go.
18:56:11Yardanicodisruptek with his strange jokes again :P
19:02:38*tane joined #nim
19:06:13*tane quit (Client Quit)
19:07:18*tane joined #nim
19:10:50*narimiran joined #nim
19:14:21FromDiscord<XxDiCaprioxX> sent a code paste, see https://play.nim-lang.org/#ix=2vwb
19:19:45FromDiscord<XxDiCaprioxX> nevermind+
19:22:18FromDiscord<XxDiCaprioxX> What happens when I try .parseInt() one a string that contains no ints?
19:24:56disrupteki cannot imagine.
19:25:01disruptekTELL US
19:25:06Yardanico@XxDiCaprioxX you'll get a runtime error
19:25:15disruptekyou know what's weird?
19:25:37disrupteki'm having trouble making miran's btree faster than a normal table.
19:25:38FromDiscord<XxDiCaprioxX> And if I try `if string.parseInt() = nil: ` does that work?
19:25:46disruptekwhy would it?
19:25:48disruptek~manual
19:25:48disbotmanual: 11the Nim Manual is https://nim-lang.org/docs/manual.html -- disruptek
19:25:52Yardanico@XxDiCaprioxX no
19:26:09FromDiscord<XxDiCaprioxX> so how can I check if a string contains an int?
19:26:19disruptekit's one of the great mysteries.
19:26:31FromDiscord<XxDiCaprioxX> are you mocking me
19:26:33FromDiscord<XxDiCaprioxX> ?
19:26:34disruptekyes.
19:26:34Yardanicohe is ;)
19:26:44Yardanicowell, because really a lot of it is covered in different tutorials
19:26:51Yardanicobut you can e.g. https://nim-lang.org/docs/strutils.html#parseInt%2Cstring and catch the ValueError
19:27:22FromDiscord<XxDiCaprioxX> and how do I do that?
19:27:53Yardanicotry: discard parseInt(mystr) except ValueError: echo "not an int!"
19:28:09FromDiscord<XxDiCaprioxX> can I leave out the echo part?
19:28:12Yardanicoyes
19:28:16Yardanicowe need more context
19:28:20Yardanicofor why do you need to check if it's an int
19:28:58FromDiscord<XxDiCaprioxX> because I have an input where the user can decide between directly putting in a key or the index of the key in the eky list
19:29:07FromDiscord<XxDiCaprioxX> *key list
19:30:06leorize[m]the compiler is smarter than I expect :P https://forum.nim-lang.org/t/6733#41874
19:30:45leorize[m]either we need a way to lax {.noSideEffect.} with strictFuncs or turn `add()` back into `proc`
19:33:08*bung joined #nim
19:41:41FromDiscord<XxDiCaprioxX> And is there a way to set only the first letter of a string to upper case?
19:42:26*agent0x00 joined #nim
19:43:27*ofelas joined #nim
19:44:07FromDiscord<Rika> `astr[0] = astr[0].toUpperAscii`?
19:44:27FromDiscord<XxDiCaprioxX> okay, thanks
19:45:05FromDiscord<XxDiCaprioxX> nope
19:45:14FromDiscord<XxDiCaprioxX> astr[0] can not be assigned to
19:45:32FromDiscord<Rika> your string is not var
19:45:38FromDiscord<XxDiCaprioxX> ah
19:45:39FromDiscord<Rika> astr == your string variable
19:45:40FromDiscord<XxDiCaprioxX> idiot me
19:46:38FromDiscord<Rika> @XxDiCaprioxX there is also https://nim-lang.org/docs/strutils.html#capitalizeAscii,string
19:47:43FromDiscord<XxDiCaprioxX> Ah nice thx
19:52:06disruptekleorize[m]: if you don't know, don't sweat it, but do you know of an environmental variable i can look for to see if i'm running on github actions? i used to use TRAVIS_COMPILER iirc. that sort of thing. i just want my tests to be less exhaustive when run locally.
19:57:19FromDiscord<Rika> disruptek: https://docs.github.com/en/actions/configuring-and-managing-workflows/using-environment-variables ?
19:57:35disruptekyeah, i'm reading it now. thanks 😉
20:14:38*solitudesf quit (Read error: Connection reset by peer)
20:15:23*solitudesf joined #nim
20:16:40*superbia1 quit (Quit: WeeChat 2.9)
20:18:59Araqleorize[m], oh
20:19:16Araq*now* I understand, bummer
20:19:27Araqheh, it's smarter than me
20:20:04disruptekuh oh. this is how it starts.
20:24:31bunghow to know a commit merge into what nim version ?
20:24:40Yardanicocheck in the commit history?
20:24:42*sagax quit (Remote host closed the connection)
20:24:43Yardanicogive the commit hash :)
20:27:23disruptekshashlick: i dunno if it matters, but i can build toast with v0.6.9 and clang (10), however it doesn't work when i try to actually compile nimph. http://ix.io/2vwq
20:29:22bungoh, browser that version's repo find system.nim
20:31:33disruptekos.nim is throwing an ICE on devel on windows.
20:31:46disruptekthis is arc/danger.
20:32:06disruptekhttps://github.com/disruptek/frosty/runs/1043158911
20:38:30FromDiscord<ache of head> xD https://media.discordapp.net/attachments/371759389889003532/749005003506581634/Zrzut_ekranu_2020-08-28_o_22.38.21.png
20:38:38Yardanicoyes
20:38:45Yardanicothis is biased though :P
20:38:59FromDiscord<ache of head> is Nimph that good?
20:39:05disruptekbetter.
20:39:06FromDiscord<ache of head> I mean, I know I'm typing next to its creator
20:39:16FromDiscord<ache of head> nice
20:39:32FromDiscord<ache of head> i'm not working with Nim at the moment but when I will be I'll see about switching
20:40:04shashlickLooks like some bug
20:40:27disruptekwhy aren't you working with nim?
20:40:43disruptekis it the rude language in #nim?
20:40:43FromDiscord<ache of head> as in, I have Nim projects that I'm working on
20:40:53FromDiscord<ache of head> I mean that at the moment I'm working on something different
20:41:42disruptekyou know what's hard about writing bug-free code?
20:41:53FromDiscord<Clyybber> the bug-free part
20:41:55disruptekconvincing everyone that your bugs are features.
20:42:06FromDiscord<Clyybber> let me convince you
20:42:11disruptektry.
20:42:13FromDiscord<Clyybber> that proc params being idents is a feature
20:42:23FromDiscord<Clyybber> i'm kidding
20:42:30FromDiscord<Clyybber> but can't you actually work around that in cps ?
20:42:32disruptekmust be; that's araq's code.
20:42:45FromDiscord<Clyybber> while I'm fixing it I mean
20:43:10disrupteki wanna add remove() to skiplists and then i need to work around concepts being "unspecified"
20:43:38FromDiscord<Clyybber> are your skiplists still pointer fest trees?
20:43:59disruptekthe initial impl is, yes, because, /that's what i wanted/.
20:44:45FromDiscord<Clyybber> oh, and can you report that <= issue?
20:44:52FromDiscord<Clyybber> so that we don't forget it
20:45:11disruptekmaybe, i haven't tried to minimize it.
20:45:24disruptekit's so ridiculous.
20:45:31FromDiscord<Clyybber> maybe its not even our bug :P
20:45:34disrupteknothing like nim to make me feel like an idiot.
20:45:46FromDiscord<Clyybber> but minimizing it should reveal the light
20:45:47shashlicklooks like preprocessor output is different in clang
20:45:58disruptekno doubt.
20:46:19disrupteki guess we already have lock-in on osx and we didn't even know.
20:46:55*narimiran quit (Ping timeout: 240 seconds)
20:47:18*agent0x00 quit (Quit: WeeChat 1.9.1)
20:48:11disruptekclyybber: it's probably ref equality semantics getting picked up from system.<=
20:48:26FromDiscord<Clyybber> oh yeah
20:48:43FromDiscord<Clyybber> <= for refs should be removed IMO
20:49:22disruptekit's the second time i've spent too long chasing this problem.
20:57:15shashlickdang i reproduced it and now its gone
21:02:30PrestigeI'm used to async/await in js, in nim it looks like I should be using waitFor. I don't understand the docs for `await` - can someone explain?
21:02:52disruptekwaitfor is used outside of .async. procs while await is used inside.
21:02:55disruptekotherwise identical.
21:03:04Prestigeoh neat
21:06:23alehander92yeah
21:07:14FromDiscord<Rika> Are all procedures that can be stored in a variable or object or whatever closure procedures?
21:07:39shashlickdisruptek: able to test a branch?
21:07:48disruptekyeah.
21:08:23shashlickmade a prepro branch - simple fix
21:08:34disruptek"prepro"?
21:08:51shashlicknimterop branch named prepro - since it's a bug in the preprocessing step
21:09:08*NimBot joined #nim
21:09:09shashlickbasically folks who aren't pro quite yet
21:09:13disruptekthat's me.
21:09:14leorize[m]I'm wondering if there's any interest for a Nim matrix room separated from the #nim IRC channel
21:09:27FromDiscord<Clyybber> no?
21:09:30FromDiscord<Rika> Why?
21:09:31FromDiscord<Clyybber> I mean pls no
21:09:37disruptekyes yes
21:09:47shashlicktoo many rooms man
21:10:09leorize[m]because matrix to irc via matrix.org bridge is horrendously slow :P
21:10:25leorize[m]in fact I'm chatting with y'all using matrix and irclogs.nim-lang.org
21:10:26FromDiscord<Clyybber> then don't use matrix /shrug
21:10:34FromDiscord<Clyybber> lol
21:10:47disrupteki admit i don't really follow the logic, either.
21:10:59FromDiscord<Rika> Don't use the matrix.org bridge maybe lol
21:11:26disruptekshashlick: seems to work, buddy.
21:11:26*leorize[m] left #nim ("User left")
21:11:31shashlickcool
21:11:56*leorize[m]1 joined #nim
21:11:56disruptekthat's pretty rapid turnaround. 😀
21:12:58FromDiscord<Clyybber> my cat just brought me a living intestine..
21:13:08disrupteki have a couple of those.
21:13:26FromDiscord<Clyybber> normal cats stay inside when its raining buckets
21:13:29disruptekcat gut is the key to some of the finest guitar work.
21:13:49FromDiscord<Clyybber> my cat sees the opportunity because the mices caves are getting flooded
21:14:16FromDiscord<Clyybber> third mouse she brought since it started raining today
21:14:42disruptekstew tonight, huh?
21:15:09shashlickany other easy bugs? else i'm logging off
21:15:29disrupteksorry man, that's all i found.
21:16:00FromDiscord<Clyybber> cee ya
21:18:18leorize[m]1@Rika yea, you're right, swapped to kde bridge
21:20:23leorize[m]1@Clyybber if your cat keeps bringing food to you then it probably thinks you're not eating enough :P
21:21:04*krux02 joined #nim
21:21:15FromDiscord<Clyybber> heh :D she eventually eats them herself, but she leaves the bits that are too ~~tasty~~ disgusting like the liver
21:24:01*Epikur left #nim (#nim)
21:40:40FromDiscord<Clyybber> disruptek: I have something for you to try out
21:41:10FromDiscord<Clyybber> Try my semytiped branch
21:59:37*solitudesf quit (Ping timeout: 264 seconds)
22:25:28*krux02 quit (Ping timeout: 260 seconds)
22:28:50*vicfred quit (Quit: Leaving)
22:40:39*tane quit (Quit: Leaving)
22:41:01disruptekoh yeah?
22:41:25FromDiscord<Clyybber> did the playground just went offline?
22:41:43FromDiscord<Clyybber> ah, its back
22:41:58disruptekdoes it work?
22:42:09disrupteksemi-typed sounds interesting.
22:42:55disruptekhow come nim doesn't have more heavy-hitters?
22:43:28disruptekyay, syms!
22:43:50*Zectbumo quit (Read error: Connection reset by peer)
22:43:53disruptekwhat does this break?
22:44:37disruptekoh there's no pr?
22:45:07bungcan I pass discard as expr to template param
22:45:20bungit used inside template else branch
22:45:51disruptekyes.
22:46:22disruptekclyybber: everything looks good except for my code.
22:46:43bungError: expression expected, but found 'keyword discard'
22:47:03disruptekyour template is typed?
22:47:24bungparams is process:untyped
22:47:34disruptekcan i see?
22:47:45disrupteki use discard in templates w/o and issues.
22:47:50bung`template fetchResultset(conn:typed, pkt:typed, result:typed, onlyFirst:typed, isTextMode:static[bool], process:untyped): untyped =`
22:48:03bung`conn.fetchResultset(pkt, result, onlyFirst = false,isTextMode = true,discard)`
22:48:15FromDiscord<Clyybber> you have to use the code block syntax
22:48:17disruptekuse :
22:48:21disruptekyeah.
22:48:53disruptekfetchResultset conn, pkt, result, onlyFirst, isTextmode: discard
22:49:12bungoh , thanks ! thant works
22:49:42disruptekclyybber: does this pass tests?
22:49:50disruptekcompiler tests.
22:49:54FromGitter<gogolxdong> Is there any package has implemented Raft distributed consensus?
22:50:03FromDiscord<Clyybber> disruptek: Didn't try yet
22:50:16FromDiscord<Clyybber> but typesrenderer isn't adapted yet
22:50:45disrupteki've missed working on cps. 😍
22:50:51FromDiscord<Clyybber> :D
22:51:05FromDiscord<Clyybber> can you try it with generic procs?
22:51:29bunggogolxdong no
22:51:51disruptekclyybber: just, any ol' generic?
22:51:53bungit's huge code base
22:52:44disruptekclyybber: works for skiplists, testes, gram, frosty.
22:54:08*sagax joined #nim
22:54:20disruptekfrosty has a weird bug with arc+windows+danger.
22:54:40FromDiscord<Clyybber> cool beans
22:56:27disruptekonly on devel, which is even stranger.
22:56:38FromDiscord<Clyybber> whats the bug look like?
22:56:44FromDiscord<Clyybber> compiletime?
22:57:11FromDiscord<Hearthstone> Does c2nim work well for wrapping C++ libs?
22:57:12disruptekhttps://github.com/disruptek/frosty/runs/1043158911
22:57:18disruptekhearthstone: no.
22:57:24FromDiscord<Hearthstone> Oh alright
22:58:34FromDiscord<Hearthstone> So how does c++ imports work? And do they work in the C backend too?
22:58:50disruptekusually, yes.
22:59:28disruptekc2nim is for practically converting the interface automatically, but it will require some manual massaging usually.
22:59:33disruptekjust like me!
22:59:39disruptekclyybber: it's weird, right?
23:00:34disruptekyou've earned a break though. let's put clyybber back in his box until the next bug.
23:01:15FromDiscord<Hearthstone> Oh alright
23:01:41FromDiscord<Clyybber> disruptek: Hmm, yeah. At least its compile time
23:01:49disruptekthere are c++ libs that have been wrapped and/or converted that you can find.
23:01:54FromDiscord<Clyybber> Can you try to minimize it?
23:02:07disruptekyeah.
23:02:14FromDiscord<Clyybber> thanks <3
23:02:16disruptekbut, it's hard because i don't have a windows machine.
23:02:22FromDiscord<Clyybber> oh wait
23:02:28FromDiscord<Clyybber> only windows eh?
23:02:45disruptekyeah. only windows/devel/arc.
23:02:48FromDiscord<Hearthstone> > there are c++ libs that have been wrapped and/or converted that you can find.↵@disruptek I'm trying to wrap https://github.com/hjson/hjson-cpp for use in Nim
23:02:51FromDiscord<Clyybber> thats ugh.. fucked?
23:03:03disruptekit's surprising. i ran ci twice though.
23:03:09FromDiscord<Hearthstone> I don't want to rewrite it completely :P
23:03:48disruptekhearthstone: it looks like nimterop could wrap it.
23:04:00disrupteki'm just guessing because i think you can ignore some of this c++ crap.
23:04:17FromDiscord<Clyybber> disruptek: Maybe try passing -d:windows to it?
23:04:29FromDiscord<Hearthstone> Oh?
23:04:45FromDiscord<Hearthstone> Remember i had an issue with Nimterop..
23:04:51FromDiscord<Hearthstone> I can't install it for some reason
23:04:54disruptekclyybber: i'll mess with it. don't sweat it.
23:05:11disruptekhearthstone: oh right. one of those issues was fixed today, though.
23:05:30FromDiscord<Hearthstone> Oh?
23:05:38FromDiscord<Hearthstone> I'll try again in a bit then
23:06:07disruptekif you are feeling adventurous. you might need to use shashlick's prepro branch specifically, i dunno if he cut a new release.
23:06:53disruptekclyybber: yeah, that doesn't work for c_fcntl reasons 😁
23:07:20disruptek--os:windows repros it.
23:07:37FromDiscord<Clyybber> nice
23:08:01FromDiscord<Hearthstone> Oh?
23:08:59disruptekclyybber: it's basically fstat code.
23:09:07*synshroud quit (Quit: ZNC 1.7.5 - https://znc.in)
23:09:21*synshroud joined #nim
23:09:43disruptekis leorize's range stuff in yet?
23:10:41leorize[m]1nope, I disagree with Araq about the naming so that's gonna take awhile :P
23:11:31disruptekError: internal error: expr(nkRange); unknown node kind
23:11:42disrupteknkRange? nevah herd of it.
23:21:11disruptekit's a {foo..bar} (set const) getting converted into stmt(:tmp=range(a, b))
23:21:46disrupteki mean, that's what the set constructor is receiving.
23:27:18disruptekworks in a9a9860b0b5171487fae100010a18ad71f5d5f6d
23:28:16bungcan nim doc generated as index.html ?
23:28:29disruptekit is by default.
23:29:08bungI use nim doc src/amysql.nim it out as src/htmldocs/amysql.html
23:30:05disruptekoh, it should write theindex.html if you do --project ... at least i think that's what it does.
23:30:19disruptekyou may have to rename that file for reasons.
23:33:28bungah I see --project will generate a extro index page and some search related files
23:34:28shashlickI pushed that branch to master
23:50:24FromGitter<deech> Does `--gc:arc` imply `--gc:destructors`? I think it does but just wanted to confirm.
23:50:29disruptekyes.
23:50:50FromGitter<deech> Thanks!
23:54:12*bung quit (Ping timeout: 265 seconds)