<< 01-07-2020 >>

00:00:06*fredrikhr quit (Ping timeout: 260 seconds)
00:03:23*ofelas joined #nim
00:04:08Yardanicogithub is drunk again
00:04:11Yardanicogot a notification for https://github.com/nim-lang/Nim/commit/bb532a697edad1bac60a87a7ff43956c9635973d
00:08:41FromDiscord<Elegant Beef> Dude it's important, look at it
00:08:45Yardanicoi already did
00:09:45FromDiscord<Elegant Beef> Clearly github is monitoring how long you looked, and said it wasnt long enough
00:09:51ForumUpdaterBotNew thread by Snej: Threads:on + gc:orc = C(!) compiler errors in unit tests, see https://forum.nim-lang.org/t/6513
00:29:02disruptekwell, github is kinda like pornhub.
00:29:10disruptekthe longer you look, the harder it gets.
00:29:50FromDiscord<Elegant Beef> it is 50% similar by name
00:43:23*Senny quit (Ping timeout: 244 seconds)
00:54:22*krux02_ quit (Remote host closed the connection)
00:59:43*opal quit (Ping timeout: 240 seconds)
01:17:01*oddp quit (Ping timeout: 264 seconds)
01:27:32FromGitter<ynfle> Anyone got this `Error: 'let' symbol requires an initialization` when dealing with macros ? Specifically a macro that transforms `import macros as m`
01:32:42FromDiscord<Elegant Beef> what's the entire code?
01:33:48FromGitter<ynfle> https://play.nim-lang.org/#ix=2qBY
01:34:06FromGitter<ynfle> Read at your own risk
01:35:29*Tongir joined #nim
01:37:16FromDiscord<Elegant Beef> I was not expecting this 😄
01:37:21FromDiscord<Elegant Beef> I are not read it
01:38:01*Tanger quit (Ping timeout: 264 seconds)
01:41:49*Tongir is now known as Tanger
01:46:56*chemist69 quit (Ping timeout: 244 seconds)
01:49:08*chemist69 joined #nim
02:21:33FromDiscord<Technisha Circuit> ~~I wanna make spigot plugins for MC with Nim~~
02:28:00FromDiscord<Technisha Circuit> Oof I'm ignored
02:34:02FromDiscord<Elegant Beef> You're not ignored, just you want to do 90million things at once all on a phone 😄
02:36:52*Senny joined #nim
02:36:54FromDiscord<Technisha Circuit> Lmao
02:36:57FromDiscord<Technisha Circuit> That's true
02:37:08*muffindrake quit (Ping timeout: 246 seconds)
02:37:14FromDiscord<Technisha Circuit> But thing is, if it's possible, i do do it
02:37:33disrupteksince when?
02:38:30FromDiscord<Technisha Circuit> Since most of the time
02:38:32FromDiscord<Technisha Circuit> I mean
02:38:37*MortS joined #nim
02:38:43FromDiscord<Technisha Circuit> I've coded on my phone for 3-4 years now
02:39:11disruptekdo you want a list of all the "is it possible" questions you've asked in this channel?
02:39:21*muffindrake joined #nim
02:39:24disruptek<Technisha Circuit> Is it possible to import a file from a variable?
02:39:32disruptek<Technisha Circuit> Is it possible to use NodeJS libs in Nim for the js backend?
02:39:52FromDiscord<Elegant Beef> I think it's more "If it's possible, i want to do it"
02:39:54disruptek<Technisha Circuit> So is it possible to implement? [braces as a style filter]
02:40:02disruptek<Technisha Circuit> Is it possible for me to make a bot for this server that allows you to search the docs?
02:40:10FromDiscord<Technisha Circuit> Just curious
02:40:12FromDiscord<Technisha Circuit> xD
02:40:26disrupteki'm curious, too.
02:40:31disruptekhow many of these have you done?
02:40:47*MortS quit (Client Quit)
02:41:16disrupteknever mind. discord back on ignore.
02:42:07FromDiscord<Technisha Circuit> What?
02:42:20FromDiscord<Technisha Circuit> I think I've done about half
02:42:28FromDiscord<Technisha Circuit> Less then half
02:42:31FromDiscord<Technisha Circuit> xD
02:46:36FromDiscord<Technisha Circuit> (And now I'm ignored yeet)
02:56:30*dddddd quit (Ping timeout: 260 seconds)
03:30:08*opal joined #nim
03:31:46*thomasross quit (Ping timeout: 258 seconds)
03:41:42FromDiscord<flywind> https://dev.to/xflywind/verification-of-memory-reordering-using-nim-language-1f7a
04:06:01*supakeen quit (Quit: WeeChat 2.8)
04:06:38*supakeen joined #nim
04:10:05FromDiscord<flywind> !eval import strformat; let x = 123; echo fmt"{x: }"
04:10:08NimBot/usercode/in.nim(1) in↵/playground/nim/lib/pure/strformat.nim(428) formatValue↵/playground/nim/lib/pure/strformat.nim(417) parseStandardFormatSpecifier↵Error: unhandled exception: invalid format string, cannot parse: [ValueError]
04:10:54FromDiscord<flywind> Is it expected behavior?
04:11:25FromDiscord<flywind> !eval import strformat; let x = 123; echo fmt"{x: }"
04:11:28NimBot 123
04:25:35FromDiscord<Elegant Beef> It should be, without any arguments why would it be any different to the default
04:29:39*waleee-cl quit (Quit: Connection closed for inactivity)
04:30:33FromDiscord<flywind> Ok.
04:30:46FromDiscord<flywind> It is interesting that Python's f-string support one space.
04:34:42FromDiscord<Elegant Beef> https://nim-lang.org/docs/strformat.html#implementation-details
04:34:49FromDiscord<Elegant Beef> what do you mean one space?
04:37:47FromDiscord<flywind> Like this `x = 123; print(f"{x: }")` => `" 123"`. They seems to support `\t`, ` ` as specifier.
04:43:01*leorize joined #nim
05:01:07*rockcavera quit (Remote host closed the connection)
05:25:05*solitudesf joined #nim
05:37:12Zevvdisruptek: dude what did you do
05:38:34*narimiran joined #nim
05:42:03Zevvyou can't just make that stuff work
05:49:58FromDiscord<Yardanico> https://github.com/nim-lang/Nim/issues/12855
05:50:00disbotIncorrect C code generation when trying to echo a Lock variable ; snippet at 12https://play.nim-lang.org/#ix=2qCq
05:50:11FromDiscord<Yardanico> "nice" guy
05:50:27FromDiscord<Yardanico> Well sorry it's not a guy, "nice" person*
05:52:04FromDiscord<Elegant Beef> Imagine thinking any community wants someone like that
05:54:56FromDiscord<Elegant Beef> Yard you know i didnt have to see that, i have very little self control when it comes to internet numpties
05:56:32YardanicoI mean I really don't understand, I have some almost 3 year old issues myself, but I don't complain because they're really low priority
05:57:40FromDiscord<MapleSyrup|TagMeIfReply> what is the meta on using 'result' implicitly to return values from procs
05:57:44FromDiscord<Elegant Beef> So apparently he gets angry about the notifications but waits months to respond?
05:58:03Yardanico@Maple well, use it where it's possible :)
05:58:09Yardanicounless you really need "return" for control flow
05:58:21Yardanicoit's really preferred to use result in most cases
05:58:25FromDiscord<MapleSyrup|TagMeIfReply> oh okay, that works. I'm just trying to figure out what is general thoughts on that
05:58:40FromDiscord<Elegant Beef> I read that as "When does a undiscarded value get returned instead of results"
05:58:55FromDiscord<Elegant Beef> (edit) 'instead' => 'into'
05:59:02FromDiscord<Elegant Beef> God i need to learn how to read
05:59:30Yardanicowell I mean it's a preference of style, in very short procs it might be a bit more readable to use last expression as a return value, yes
05:59:35FromDiscord<Elegant Beef> I need to learn another spoken language so i can pretend english isnt my first
06:00:12Yardanicobtw we had Simula in here
06:00:18Yardanicosearch "inurl:irclogs.nim-lang.org simula" in google
06:01:32FromDiscord<MapleSyrup|TagMeIfReply> how do I pass an object to a proc if I want to pass a copy and not a reference
06:01:47FromDiscord<MapleSyrup|TagMeIfReply> I get a compiler error if I try to modify fields in object
06:02:06Yardanicowell you can just copy inside of the proc :)
06:02:13Yardanicoor (ab)use "sink" a bit
06:02:42Yardanicoproc test(myarg: sink mytype) will allow you to modify myarg inside
06:02:50Yardanicoand it won't modify the original variable if it's used afterwards
06:03:20FromDiscord<MapleSyrup|TagMeIfReply> ohh that's interesting!
06:03:29FromDiscord<Elegant Beef> The real solution is to not use reference types 😄
06:03:34FromDiscord<Elegant Beef> I kid, dont hurt me!
06:03:36Yardanicoehm
06:03:39Yardaniconim will use references anyway
06:03:47Yardanicofor bigger objects automatically
06:03:58FromDiscord<MapleSyrup|TagMeIfReply> in user defined objects?
06:04:04FromDiscord<MapleSyrup|TagMeIfReply> or internally?
06:04:10Yardanicointernally
06:04:34Yardanico"when passing a large object (over 12 bytes on 32-bit and 24 bytes on 64-bit platforms), Nim does the Right Thing™ and will pass by reference by default"
06:05:00FromDiscord<MapleSyrup|TagMeIfReply> for performance reasons?
06:05:04Yardanicoyes, of course
06:05:11Yardanicoand of course you can make it always copy or always pass by reference for your type
06:05:13*audiophile joined #nim
06:05:14Yardanicoif you REALLY need to
06:05:31FromDiscord<MapleSyrup|TagMeIfReply> nim is as flexible as rubber band
06:05:34Yardanicotype MyType {.bycopy.} = ... or type MyType {.byref.} = ...
06:05:44FromDiscord<MapleSyrup|TagMeIfReply> are those 'pragmas'?
06:05:46Yardanicoyes
06:05:58FromDiscord<MapleSyrup|TagMeIfReply> ohhh nice! 😄
06:06:01FromDiscord<Elegant Beef> Interesting, didnt realize nim would smartly use implict references
06:08:33FromDiscord<MapleSyrup|TagMeIfReply> is there any way to compile a binary for a different target architecture?
06:08:37FromDiscord<MapleSyrup|TagMeIfReply> like macos
06:08:45Yardanicoyes, you'd need a toolchain for that architecture
06:08:45FromDiscord<Elegant Beef> https://nim-lang.org/docs/nimc.html
06:08:59Yardanicoyou can specify custom arguments to the C compiler, a different C compiler, etc
06:09:07FromDiscord<MapleSyrup|TagMeIfReply> wow, it really is that simple huh?
06:09:16FromDiscord<MapleSyrup|TagMeIfReply> crazy good!
06:09:37FromDiscord<Elegant Beef> Percisely `--cpu:arm` for a different arch
06:09:56FromDiscord<Elegant Beef> unless you're doing i386 in 2020, which then i ask, why are you living in 2008
06:10:01Yardanicowell yeah, also --os:myos for a different os
06:10:12Yardanicobut then you need to make sure your toolchain supports that os
06:10:12FromDiscord<MapleSyrup|TagMeIfReply> 😛 I guess we will need this to work with new ARM macs when they come out
06:10:24FromDiscord<MapleSyrup|TagMeIfReply> ah fair enough
06:10:51YardanicoI mean it shouldn't be hard, since I won't think Apple will be dropping all the core software they have in C or Objective C :)
06:11:07YardanicoNim has an Objective C backend just for better interfacing with apple software
06:11:15Yardanicoalthough it shares most stuff with the C backend of course
06:11:33FromDiscord<Elegant Beef> Plus they do say they're shipping an amd64 emulator, so abuse that apple software
06:11:42FromDiscord<MapleSyrup|TagMeIfReply> oh right the rosetta thing
06:11:45FromDiscord<MapleSyrup|TagMeIfReply> 😄
06:12:03FromDiscord<MapleSyrup|TagMeIfReply> Are there any plans on adding any more backends? Not that it's necessary, just curious
06:12:22FromDiscord<Elegant Beef> what other backends are needed?
06:12:35FromDiscord<Elegant Beef> Consoles i guess?
06:12:38Yardanico?
06:12:45Yardanicoyou don't need different backends for consoles
06:12:48Yardanicowe have C++
06:12:49FromDiscord<Elegant Beef> Oh languages
06:13:10Yardaniconot right now, only maybe LLVM *might* become an official backend in the future
06:13:13Yardanicosee https://github.com/arnetheduck/nlvm
06:13:14FromDiscord<Elegant Beef> Yea i'm a dumb dumb, i misrinterpreted
06:13:38FromDiscord<MapleSyrup|TagMeIfReply> wow that's very interesting
06:18:01*fredrikhr joined #nim
06:31:20FromGitter<rishavs> anyone knows of a working pathfinding lib in nim? I am not able to find a functional one in nimble
06:31:24FromDiscord<Rika> > That's certainly something Rika would like too↵@KingDarBoja you fucking bet
06:31:38Yardanico@rishavs I think there were a few
06:31:46Yardanicoe.g. https://github.com/Nycto/AStarNim simple A*
06:32:01Yardaniconot sure if there's anything more complex as a separate library
06:32:13FromDiscord<MapleSyrup|TagMeIfReply> Is there any library for reading audio streams (input and output) from computer?
06:32:25FromGitter<rishavs> its not working though. I tried it out. Its throwing me an exception ` ... C:\Users\risharan\.nimble\pkgs\astar-0.4.0\astar.nim(25, 22) Error: undeclared identifier: 'THash'`
06:32:37Yardanicowell maybe it wasn't updated in a long time :)
06:32:50FromGitter<rishavs> yep :(
06:33:03Yardanicoit's easy to fix though
06:34:11Yardanicoactually it works
06:34:17YardanicoYou just need to install latest version of it
06:34:22Yardaniconimble install https://github.com/Nycto/AStarNim@#head
06:34:58Yardanicowell you can also remove the old version before that "nimble remove astar"
06:35:15Yardanicoalthough it wouldn't matter if you specify requires "https://github.com/Nycto/AStarNim@#head" in your nimble file
06:36:34Yardanicothe tests file is a bit outdated though, fixed version - https://gist.github.com/Yardanico/6e1f9e88f542900992a5b61e566edb12
06:40:52*Vladar joined #nim
06:42:36FromDiscord<Elegant Beef> @MapleSyrup|TagMeIfReply SDL can do that
06:42:53Yardanicoif you actually mean capturing other streams you'll likely need to interface with the OS
06:43:02Yardanicoe.g. with PulseAudio for most linux distros
06:43:09FromDiscord<MapleSyrup|TagMeIfReply> what is that, I've heard SDL and DSL and LSD thrown around a lot but only know that the last one is a drug
06:43:33FromDiscord<MapleSyrup|TagMeIfReply> ohh okay, so any ideas where I should start for windows?
06:43:35FromDiscord<Elegant Beef> Lol SDL is a system abstraction to enable cross platform APIs
06:43:48FromDiscord<Elegant Beef> I'd argue just use SDL 😄
06:43:56Yardanico@MapleSyrup can you please tell in more detail what you want to do?
06:44:00FromDiscord<MapleSyrup|TagMeIfReply> Okay, I will read up about this mysterious thing
06:44:05YardanicoDo you want to _capture_ audio streams of other applications?
06:44:27YardanicoI mean output streams of other applications
06:44:58FromDiscord<MapleSyrup|TagMeIfReply> Yardanico, I would like to write an app to capture audio streams on my pc from certain interfaces (includes all apps). Something like audio from my virtual mic and whatever is playing on my computer at the time
06:45:00FromDiscord<MapleSyrup|TagMeIfReply> yes
06:45:05Yardanicothen SDL won't work for that
06:45:19*maier joined #nim
06:45:21FromDiscord<MapleSyrup|TagMeIfReply> oh er what should I use here then
06:45:25Yardaniconot really sure
06:45:29Yardanicowindows APIs directly maybe :P
06:45:52FromDiscord<MapleSyrup|TagMeIfReply> yeah, I kinda want to do something like what OBS (the streaming software) does but not sure how
06:46:05Yardanicowell it's open source so you can always look :)
06:46:13Yardanicohttps://docs.microsoft.com/en-gb/windows/win32/coreaudio/loopback-recording?redirectedfrom=MSDN
06:46:17FromDiscord<MapleSyrup|TagMeIfReply> indeed! 🙂
06:46:42Yardanicohttps://docs.microsoft.com/en-gb/windows/win32/coreaudio/capturing-a-stream
06:46:52Yardanicobut really I can't help since I didn't do any of this
06:46:55Yardanicoand I'm not on windows
06:47:02FromDiscord<MapleSyrup|TagMeIfReply> oh wow, is this where I should use the FFI thing in nim
06:47:05FromDiscord<MapleSyrup|TagMeIfReply> thanks for links
06:48:37FromDiscord<Rika> @Elegant Beef also i recommend you just blocking them instead of waiting for them to block you 🙂
06:49:10*maier quit (Client Quit)
06:51:12*maier joined #nim
06:52:24FromDiscord<Elegant Beef> lol
06:52:46FromDiscord<Elegant Beef> Im not that childish, just trolly
06:53:12FromDiscord<Rika> i went ahead with blocking them so eh
06:53:39*endragor_ quit (Remote host closed the connection)
06:54:07*endragor joined #nim
06:55:03FromDiscord<Elegant Beef> I mean i partly dont know how to block people in github but i'd never admit it
06:56:26FromDiscord<Rika> lol, go to their profile, tap the triple dots, there should be a block or report button there
06:58:38FromDiscord<impbox> @MapleSyrup|TagMeIfReply I've done separate audio input recording on SDL2, but yeah you'll need something like VB-Audio CABLE
06:58:46*endragor quit (Ping timeout: 258 seconds)
06:58:46FromDiscord<impbox> https://www.vb-audio.com/Cable/ is good
06:59:10FromDiscord<impbox> you can then choose specific audio devices to open in SDL2
06:59:26zedeusthat's a windows problem
07:00:21FromDiscord<Elegant Beef> Yea audio is fucking wild, i'd really like to have all channels recordable seperatly
07:00:30FromDiscord<Elegant Beef> Im not an audiophile give some delay!
07:00:39FromDiscord<impbox> on linux you have jack which is nice for this stuff
07:00:45FromDiscord<MapleSyrup|TagMeIfReply> ohh that's interesting. I'm just curious how OBS does it internally, maybe it does use something like a virtual cable
07:00:55audiophileElegant Beef you called?
07:00:56FromDiscord<Elegant Beef> OBS captures input devices
07:00:59FromDiscord<Elegant Beef> Lol
07:01:00zedeusyou don't even need jack, pulseaudio lets you reroute sinks
07:01:03FromDiscord<Elegant Beef> Terrible name
07:01:08FromDiscord<Elegant Beef> Yea pagraphcontrol is nice
07:01:14FromDiscord<impbox> pulseaudio is horrible though in my experience
07:01:19FromDiscord<impbox> alsa + jack is nicer
07:01:21FromDiscord<Elegant Beef> Works on my machine
07:01:23FromDiscord<MapleSyrup|TagMeIfReply> hmm, I'm not really concerned with linux atm
07:01:26FromDiscord<impbox> but maybe pulseaudio has improved recently
07:01:27zedeuspulse also has monitors out of the box so you don't need stuff like the virtual cable thing
07:01:38FromDiscord<impbox> @MapleSyrup|TagMeIfReply but yeah, the vb audio cable thing + SDL2 works nicely
07:01:46FromDiscord<Elegant Beef> Im sorry audiophile for summoning you
07:01:52FromDiscord<impbox> i used it to make an audio visualiser
07:01:56FromDiscord<Elegant Beef> Didnt think anyone would be daft enough to use that as a name 😛
07:02:15FromDiscord<Elegant Beef> Pagraphcontrol is super easy https://media.discordapp.net/attachments/371759389889003532/727781093419384862/68747470733a2f2f692e696d6775722e636f6d2f727134554a62322e706e67.png
07:02:17FromDiscord<MapleSyrup|TagMeIfReply> okay, good to know thanks for confirming. I might have to resort to that. @impbox can you also record input audio streams?
07:02:26FromDiscord<impbox> yep
07:02:36FromDiscord<MapleSyrup|TagMeIfReply> great!
07:02:44FromDiscord<MapleSyrup|TagMeIfReply> wait, simultaneously?
07:02:49FromDiscord<MapleSyrup|TagMeIfReply> input + output streams
07:02:56FromDiscord<impbox> standard input audio is easy with SDL2 alone, but if you want to record output of another app you need the loopback driver
07:02:59FromDiscord<impbox> yep
07:03:31FromDiscord<Elegant Beef> Windows does audio extremely annoyingly
07:03:33FromDiscord<MapleSyrup|TagMeIfReply> this sounds awfully similar to what Yardanico provided in the msdn docs, so I'll see if wasapi can do it
07:03:55FromDiscord<MapleSyrup|TagMeIfReply> but I'm guessing sdl2 + vb thingy is cross-platform?
07:04:01FromDiscord<Elegant Beef> The VB wouldnt be
07:04:07FromDiscord<impbox> mmm there are probably lower level ways to do it via native windows stuff, but doing it in SDL2 would be cross-platform
07:04:09FromDiscord<Elegant Beef> I dont think atleast
07:04:14FromDiscord<impbox> on other platforms you don't need the VB cable
07:04:55FromDiscord<MapleSyrup|TagMeIfReply> _sighs_
07:04:58FromDiscord<MapleSyrup|TagMeIfReply> audio is a mess indeed
07:05:34FromDiscord<Elegant Beef> Also impbox isnt there a new linux audio module trying to be the wayland of audio modules? 😄
07:05:45FromDiscord<impbox> i dunno, i've been out of the linux loop for a bit
07:05:46FromDiscord<Elegant Beef> I think someone mentioned it somewhere, dont recall
07:06:09FromDiscord<Yardanico> Yes
07:06:13FromDiscord<Yardanico> Pipewire
07:06:52FromDiscord<Elegant Beef> Thanks
07:07:29*endragor joined #nim
07:08:46FromDiscord<Elegant Beef> Damn it already supports jack, alsa, and pulseaudio
07:09:07*Senny quit (Ping timeout: 260 seconds)
07:11:37*endragor quit (Ping timeout: 246 seconds)
07:11:54FromDiscord<Rika> i should take a look at this audio stuff
07:12:02*endragor joined #nim
07:12:10FromDiscord<Rika> sounds useful for separating audio in obs and stuff
07:14:04FromDiscord<Elegant Beef> Yea i've tested pagraphcontrol for splitting voice chat from game audio
07:14:17FromDiscord<Elegant Beef> Super easy and not intimidating compared to jack
07:16:03FromDiscord<Rika> but its rust
07:16:24FromDiscord<Rika> (im joking, though kinda wish it wasnt because i dont have rust installed)
07:16:43FromDiscord<Elegant Beef> What is rust?
07:16:51FromDiscord<MapleSyrup|TagMeIfReply> oxidation
07:16:59FromDiscord<MapleSyrup|TagMeIfReply> or a low level C competitor
07:17:03FromDiscord<Rika> ~~a bad name for a programming language~~
07:17:13FromDiscord<MapleSyrup|TagMeIfReply> we need 'dust' then
07:17:18FromDiscord<Rika> ~~bust~~
07:17:25FromDiscord<MapleSyrup|TagMeIfReply> xD
07:18:56FromDiscord<Elegant Beef> But what's written in rust?
07:19:52FromDiscord<Rika> pagraph
07:20:13FromDiscord<Rika> or a component of it
07:20:46FromDiscord<Elegant Beef> pagraphcontrol is an electron app
07:21:02FromDiscord<Rika> well i needed to install rust for it so eh
07:21:22*PMunch joined #nim
07:21:27FromDiscord<Elegant Beef> The fuck did you download? https://media.discordapp.net/attachments/371759389889003532/727785918773067806/unknown.png
07:22:53FromDiscord<Rika> @Elegant Beef https://media.discordapp.net/attachments/371759389889003532/727786288270409808/unknown.png
07:23:06FromDiscord<Rika> prolly papeaks
07:23:08FromDiscord<MapleSyrup|TagMeIfReply> _smells solarized_
07:23:15FromDiscord<Rika> ***not again***
07:23:16FromDiscord<Elegant Beef> Weird
07:23:22FromDiscord<MapleSyrup|TagMeIfReply> /smells fear
07:23:29FromDiscord<Elegant Beef> I've never installed rust, nor use papeaks
07:23:40FromDiscord<Rika> ill murder an organism every time someone mentions my terminal theme
07:25:02FromDiscord<Elegant Beef> Solarized dark, why dont you use ayu mirage
07:25:08FromDiscord<Rika> you too
07:25:16FromDiscord<Elegant Beef> Im meming you
07:25:21FromDiscord<Rika> ok
07:25:24FromDiscord<Elegant Beef> Also what do you expect from me
07:25:33FromDiscord<MapleSyrup|TagMeIfReply> yes ayu >> solarized
07:25:54FromDiscord<Rika> true, why'd i expect something reasonable from a numpty [sic?]
07:26:24FromDiscord<Elegant Beef> True
07:36:38*marnix joined #nim
07:37:50*NimBot joined #nim
07:40:01FromGitter<rishavs> > *<Yardanico>* although it wouldn't matter if you specify requires "https://github.com/Nycto/AStarNim@#head" in your nimble file ⏎ ⏎ Thank you!
07:40:16*marnix quit (Client Quit)
07:40:27*marnix joined #nim
07:41:19*Vladar quit (Quit: Leaving)
07:42:22*audiophile quit (Quit: Default Quit Message)
07:59:23*opal quit (Ping timeout: 240 seconds)
08:03:30*aenesidemus quit (Ping timeout: 256 seconds)
08:13:27*opal joined #nim
08:33:20FromDiscord<lqdev> ayuuuuuuuuu
08:33:23FromDiscord<lqdev> ayu best theme
08:33:43FromDiscord<lqdev> ayu *mirage* though
08:33:47FromDiscord<lqdev> the others are ass
08:33:52FromDiscord<lqdev> too bright and too dark
08:39:41*zendbit joined #nim
08:40:34*zendbit quit (Remote host closed the connection)
08:51:07*krux02 joined #nim
08:54:04*oddp joined #nim
09:03:21FromDiscord<Elegant Beef> indeed
09:03:32FromDiscord<Elegant Beef> regolith linux ships with an ayu-mirage based theme
09:03:39FromDiscord<Elegant Beef> It's a presetup i3-gaps with ayu-mirage
09:03:40FromDiscord<Elegant Beef> It's good
09:06:48*marnix quit (Ping timeout: 265 seconds)
09:08:40*marnix joined #nim
09:08:45*nikita` joined #nim
09:14:51*abm joined #nim
09:17:55*marnix quit (Ping timeout: 265 seconds)
09:19:26*marnix joined #nim
09:21:36*Vladar joined #nim
09:47:06*Senny joined #nim
10:03:30*abm quit (Ping timeout: 260 seconds)
10:26:03*bung_ quit (Ping timeout: 260 seconds)
10:26:16*abm joined #nim
10:33:10FromDiscord<Kiloneie> Got my first dislikes on my videos i see, for some reason my last 3 videos have terrible ratio... if only people explained the dislike with a comment...
10:39:39*livcd joined #nim
10:46:49PMunch@Kiloneie, your Nim stuff?
10:48:37PMunchI don't think there are enough up- and downvotes to really gauge the ratio
10:53:21*haxscramper joined #nim
10:56:33FromDiscord<mratsim> There are some people hunting Nim videos btw, during the NimCOnf we had downvotes before they were even aired
10:59:57*haxscramper quit (Quit: ERC (IRC client for Emacs 26.3))
11:01:02*haxscramper joined #nim
11:01:40haxscramperIs it possible to `mixin` proc defined in non-toplevel scope (proc defined inside of a proc for example)? Something like this: https://play.nim-lang.org/#ix=2qD3 , but `wrapper` should call implementation for float.
11:10:43*vikfret joined #nim
11:11:30alehander92_hmm
11:13:17alehander92_guys, do you hae interesting nim tasks to work on
11:13:36alehander92_like, projects etc
11:14:03alehander92_i want to see if there is something fun i can do these days
11:14:55alehander92_willyboar * what did you guys do, did you talk
11:16:06haxscramperI want to pass multiple (arbitrary number) of statically-typed callback functions to generic. I thought about variadic generics via tuples, but I'm not sure how to use it.
11:16:14alehander92_ok
11:16:20alehander92_do they have the same type?
11:16:48narimiranalehander92_: not nil? :P :D
11:16:54alehander92_but what to do
11:16:54haxscramperNo, they have different type. Example code is: https://play.nim-lang.org/#ix=2qD3 - i tried to do `mixin`
11:17:16alehander92_i mean, i thought notnil is in your court :P
11:17:32alehander92_i wait on decision if it should be like now (ast-based) or cfg or
11:17:35alehander92_z3-based
11:18:15alehander92_i can write a rfc about generalizing it to typestate-like thing (idea inspired by one convo with zah)
11:18:25alehander92_but .. i doubt it is the time to add more :D
11:19:09alehander92_it does sound fun to me tho: ability to take MyCaseObject{E}
11:19:18alehander92_NimNode{nnkIdent}
11:19:53alehander92_and flowcheck the enum values in branches/calls
11:20:16alehander92_so e.g. if a.kind == nnkIdent: # now you can call the upper function (also model transitions)
11:22:28alehander92_haxscramper but why do you need them to be local
11:22:30alehander92_in scope
11:23:33PMunchalehander92_ you can try to take my new JSON output and generate markdown documentation from it :)
11:23:48alehander92_man
11:24:04alehander92_you should write a documentation animation engine
11:24:11PMunchWhat?
11:24:15alehander92_takes a doc and generates a story
11:24:31alehander92_like, each function is a house with some
11:24:57alehander92_like some kind of visual thing
11:25:09alehander92_not useful, sorry
11:25:46haxscramperalehander92_: In my use case I will have to define lots of such callbacks. Don't want to pollute toplevel with procs used only once or twice. And actually I think I figured this out: https://play.nim-lang.org/#ix=2qD8 - might not be the best implementation (but I can add macro with `typed` that will correctly instantiate necessary number of `when compiles` checks).
11:26:58haxscramper+ in macro I can add `static: assert cb[0] is proc(a: T): void` to emit more human-friendly errors.
11:27:56haxscramper+ and put fallback implementation in `else` statement. + provide default implementation with empty tuple.
11:30:15alehander92_yeah that's what i tried
11:30:19alehander92_but with when
11:30:23alehander92_does it work with static
11:38:22haxscramperStatic for what? `static[Cb]` works as expected. And i forgot about `fieldPairs` - updated version: https://play.nim-lang.org/#ix=2qDb
11:40:43*Vladar quit (Quit: Leaving)
11:42:20alehander92_cool
11:42:54haxscramperOut of curiosity tested it on godbolt: with `--gc:none --opt:size -d:danger -d:release` it compiles to 47 lines of assembly. Zero-overhead abstraction 10/10.
11:49:50*rockcavera joined #nim
11:52:31*lbart joined #nim
11:54:47*ofelas quit (Ping timeout: 240 seconds)
11:55:09FromDiscord<Kiloneie> @mratsim That is just weird/evil... I only mentioned my downvotes because up till last i checked about 3 weeks ago, i had 0 downvotes total, now i got like 10, 2 of my videos are at 66% approval... i hope it's some random Nim hater and not the problem with my last content <.<...
11:55:31*screens__ joined #nim
11:57:47*Prestige quit (Ping timeout: 272 seconds)
11:58:35*screens_ quit (Ping timeout: 260 seconds)
11:59:05*Prestige joined #nim
11:59:39*tribly quit (Ping timeout: 260 seconds)
12:00:24*solitudesf quit (Remote host closed the connection)
12:00:33*solitudesf joined #nim
12:03:26*ofelas joined #nim
12:03:26*dgb quit (Ping timeout: 246 seconds)
12:04:50*Cadey quit (Ping timeout: 246 seconds)
12:05:10*dgb joined #nim
12:05:52*Cadey joined #nim
12:06:01*supakeen quit (Quit: WeeChat 2.8)
12:06:39*supakeen joined #nim
12:08:16PMunchIf anyone had actual legitimate critiques I think they would voice them Kiloneie
12:09:02FromDiscord<Kiloneie> I guess. I super rarely dislike any video and it's only when it's pretensius or really lame, click bait crap.
12:09:36FromDiscord<Kiloneie> 99% other times i just don't like it, if i like something i like it. Because i know it makes they better money etc. Less so now than it used to.
12:11:43*opal quit (Ping timeout: 240 seconds)
12:29:05Zoom[m]Hey, anyone using Reaper here by any chance? I'm interested if there's any glue code to their plugin api. What would be the simplest way to get to this stage? https://gist.github.com/cfillion/f32b04e75e84e03cc463abb1eda41400
12:31:05*tribly joined #nim
12:39:12*fanta1 joined #nim
12:41:51*JustASlacker joined #nim
12:43:51*Vladar joined #nim
12:53:17FromDiscord<kodkuce> probably a dumb question, but does adding stuff to list copy variable i cuz i created a let x = 2 and if i try to change it it dosent work as it should but if i add that x to some list then it allowes me to change
12:56:10krux02depends if you have a ref type or a value type
12:56:37krux02ref types share the same instance both in the local `x` and in the seq
12:57:07FromDiscord<kodkuce> hmm
12:57:26krux02but maybe you should just use var instead of let.
12:57:27FromDiscord<kodkuce> https://play.nim-lang.org/#ix=2qDn
12:57:36Araqno, it's the [] accessor, it can return 'var T' and then you can mutate it
12:57:51FromDiscord<kodkuce> i think whawer i dump in var seq it is now writbale too
12:58:24FromDiscord<kodkuce> tryed for ref objs, just ints, and non ref objs
12:59:24Araqwhat's the question?
12:59:28krux02id don't really know what you want to do
13:00:11Araq"can change leted int", er, no, you change a copy of the int that was inside the let
13:01:20FromDiscord<kodkuce> nothing really with this, i was just writing some code , and i stoped for second and was hmm what heppends if i put a leted objec/variable in seq, and i then checked and saw its not leted anymore i can now write to it, so just wanted to check how that works kinda
13:02:30krux02as I said, value types are copied over, ref types the address is copied over into the seq.
13:04:06alehander92_haxscramper
13:04:15alehander92_i think compiles can be a bit slow/hacky
13:04:22alehander92_but i am not sure if there is a better way to do it for you
13:05:26alehander92_kodkuce i remember
13:05:30alehander92_there was a bit strange case
13:05:37alehander92_maybe with objects in seq-s
13:08:46alehander92_but i cant remember quite
13:09:01alehander92_i needed to do var a = stuff[n]; a.e = other; stuff[n] = a
13:11:21FromDiscord<kodkuce> duno i think i get what evrybody tells me, values copyed, ref just pointer copied, only thing thats left if i created ref object as let bla = MyObject that let is only in this scope as soon i put that bla in some seq it can be writable
13:12:03Araqno.
13:12:16Araqit's not "it can be writable", it's a new "it"
13:13:14Araq"I locked my front door and yet the neighbor could still enter his home"
13:13:14*Kaivo quit (Quit: switching to wifi)
13:14:09*Kaivo joined #nim
13:18:01FromDiscord<demotomohiro> On windows, `stdin.lines` doesn't work when I type japanese text in stdin.↵But this PR fixed it!↵https://github.com/nim-lang/Nim/pull/14782↵I hope it is merged soon.
13:18:02disbotreadLine: Unicode support for Windows console
13:19:32haxscramperHow do I run compiler tests? I do `koch tests r tests/stdlib/trstgen.nim` and it reports `PASS: tests/stdlib/trstgen.nim C ( 1.01 sec)` but then fails in github CI.
13:21:17Araqhaxscramper: then it's an OS difference
13:22:32*nerthus quit (Quit: bye)
13:22:58*sknebel quit (Remote host closed the connection)
13:23:12FromDiscord<bubbletea> Reading Nim in Action and one of the example code is giving me the warning "observable stores to 'parsed' [ObservableStores]". Can someone tell me what that means?
13:23:52haxscramperAraq: No, there /is/ an error in unit test code and rather simple (missing arguments should not trigger anything OS-specific), so it should also fail on me too. And CI fails for linux, so there is no substantial OS difference.
13:24:14*sknebel joined #nim
13:24:42*nerthus joined #nim
13:25:18alehander92_Araq is there any task on nim
13:25:24alehander92_from my PR-s/rfcs
13:25:28alehander92_that you need for 1.4.0
13:25:36alehander92_i have some free time
13:25:44Araqnot nil
13:25:50alehander92_ok, but what to do
13:26:01FromDiscord<kodkuce> how is it new when its a ref, pointer to same object?
13:26:08alehander92_there is an almost there impl: should i just fix that, or base it on cfg/z3
13:26:45FromDiscord<kodkuce> or you mean its a new ref pointing to same obj
13:26:58haxscramperalehander92_: (about `compiles` speed) I've tested `compiles` for one million proc calls check (probabily stupid test, but anyway) - it took about 0.0002 seconds per check. So it is really fast actually. disbot should have a footnote with my test code and numbers, I just don't know how to trigger it.
13:27:31Araqalehander92_: neither z3 nor the cfg is ready for it, continue with your branch please
13:27:47alehander92_that's just 5000 calls a second haxscramper
13:27:51Araqor align with clyybber so that the DFA gets ready
13:28:01*textbox_ joined #nim
13:28:02alehander92_ok
13:28:38alehander92_i wanted to make a fun rfc
13:28:56Araqbubbletea: ignore this warning
13:29:29alehander92_so i also remembered an idea about generalizing it for enum/cases: e.g. flow checking for `NimNode{nnkIdent}` in args return types and if
13:30:02alehander92_should i just make a toy rfc for hypothetical future extension of the notnil mechanism for that
13:30:10alehander92_or should i just get serious :D
13:30:13FromDiscord<bubbletea> ok, thanks
13:30:21Araqthere is already .requiresInit
13:31:06Araqkodkuce: exactly that. it's a new ref pointing to the other object because that's how pointers work
13:32:06*marnix quit (Ping timeout: 260 seconds)
13:33:48FromDiscord<kodkuce> ok got it , sorry for harras 😦
13:34:59FromDiscord<kodkuce> basicly when i put to string it allweis copys just in case of rafobject its a copy of a ref not object in memory itself
13:35:12FromDiscord<kodkuce> (edit) 'string' => 'seq'
13:35:19FromDiscord<Clyybber> Araq: I got a fix for the method call error
13:35:37FromDiscord<Clyybber> But it means we evaluate the LHS of the dot one time to check if its a field access
13:36:04FromDiscord<kodkuce> does IRC bot work with edits too? or should i avoid editing?
13:36:13FromDiscord<Clyybber> Do you think we should try to reuse the results of that evaluation?
13:36:44FromDiscord<Rika> Edits are OK in moderation
13:37:00alehander92_Clyybber what does the DFA needs (Araq told me that it isn't ready for notnil)
13:37:26Araqin general sem'check is *not* idempotent and must be done only once
13:38:02FromDiscord<Clyybber> alehander92: Hmm, I think it *is* in principle
13:38:13FromDiscord<Clyybber> But of course we can only find out by actually trying
13:39:03FromDiscord<Clyybber> Araq: Yeah, I'm restoring to the unsemmed node when its a nkDotCall
13:39:22FromDiscord<Clyybber> But it means that the side effects of macros will still be executed +1 times
13:39:30*haxscramper left #nim ("ERC (IRC client for Emacs 26.3)")
13:40:04*haxscramper joined #nim
13:40:41Araqyeah it sucks, fix it differently :P
13:40:59Araqhaxscramper: you can also try to run the full 'stdlib' category
13:41:05Araqtestament cat stdlib
13:41:14Araqmaybe it makes a difference
13:42:25*Tanger quit (Ping timeout: 258 seconds)
13:43:54*dadada joined #nim
13:44:11dadadahey, just want to quickly mention this option for those who may want to improve the playground
13:44:14dadadahttps://microsoft.github.io/monaco-editor/index.html
13:44:22alehander92_oh monaco vs what
13:44:23dadadathis is straight from the vscode source code
13:44:27alehander92_does it use code mirror
13:44:50alehander92_they have some cool stuff, but codemirror is also good
13:44:58dadadaI'm always fascinated by alehander92_'s fast responses
13:46:12*waleee-cl joined #nim
13:46:55dadadaalehander92_: I feel that vscode and thus monaco has so much development resources behind it (just look at the number of commits per day for the vscode repo), that it's probably the most future proof project. And as a vscodium user having the same look/and feel and some of the same features, available in the browser/playground would make life more consistent
13:47:39alehander92_huh really
13:47:43dadadaI don't want to make a big deal about this, just learned about monaco, so I wanted to mention it for others to learn, and also to keep it in my IRC logs
13:47:48alehander92_otherwise i just worked with monaco a lot
13:48:00alehander92_last year or two, thats why i wanted to give a bit of opinion
13:48:11alehander92_it's very good
13:48:17dadadaalehander92_: ok, well I didn't know that you did :D
13:48:19alehander92_and you can do some cool visualizations inline
13:48:34alehander92_but i am not sure which of those we need for the playground
13:48:49alehander92_so we have to compare the cost of moving the current code to any benefit
13:49:00dadadayeah, like always
13:49:08alehander92_if there is a thing which monco can do and codemirror can not
13:49:19alehander92_then it might be easier to make a case
13:49:28alehander92_(to do a thing which is useful for playground)
13:49:44FromDiscord<Technisha Circuit> What's Monco?
13:50:00dadadasince, you're almost all knowing, do you know a reduced mode for vscodium where it acts more like a regular text editor without the IDE bits and parts, I'd like to use it in that way for simple text files, I don't always need the full fledged IDE stuff
13:50:25haxscramperAraq: no difference. Maybe I'm just doing something wrong elsewhere? I cloned repo, build koch with `build_all.sh`, added my changes and unit tests. Then ran `koch tests r tests/stdlib/trstgen.nim` (also tried `koch tests cat stdlib`). My test reported as passed regardless of it correctness.
13:50:37dadadaalehander92_: could some of the code from the vscode nim extension work with monaco?
13:50:59alehander92_dadada actually i am pretty bad with this stuff
13:51:13alehander92_so no idea about vscodium
13:51:26alehander92_and extensions: i doubt it, i guess they use some vscode specific api-s
13:51:37alehander92_i mean, probably you can reuse a lot of code from there
13:51:42alehander92_but i am not sure if directly
13:51:56alehander92_i dont think people really do that
13:52:10dadadaalehander92_: yeah, I thought it would be nice to maximize code reuse, but you'd have to get into the details to know this for sure
13:53:15alehander92_i am not an expert in those
13:53:30alehander92_its best to ask PMunch as he maintains the playground
13:54:30FromDiscord<Clyybber> Araq: I have another idea to fix it which doesn't execute it +1 times.↵It still means that `echoesHey().echoesHo()` will go "Hey", "Ho" as opposed to `echoesHo(echoesHey())` going "Ho", "Hey" but thats as good as we can go, and if documented shouldn't be a problem
13:54:53FromDiscord<Clyybber> where echoesXXX are macros that echo as a sideffect
13:54:56*textbox_ quit (Remote host closed the connection)
13:55:28Araqtrstgen contains
13:55:31Araqimport ../../lib/packages/docutils/rstgen
13:55:31Araqimport ../../lib/packages/docutils/rst
13:55:44Araqso it probably picks up some different file version
13:57:09alehander92_zevv disruptek ping about cps
13:57:40AraqClyybber: we now sometimes generate =sink(x, (wasMoved(tmp); =(tmp, value))) instead of =(x, value)
13:57:55Araqit's so stupid
13:58:29Araqshould probably abandon my branch and keep yours
13:58:49*a_b_m joined #nim
13:59:13*abm quit (Ping timeout: 265 seconds)
14:04:20FromGitter<ynfle> Anyone know why I would be getting this error when working on import statement with macro? `Error: 'let' symbol requires an initialization`
14:04:36shashlickis it possible to do a substr without a copy - view into a string
14:05:37*dadada quit (Ping timeout: 264 seconds)
14:07:09*dadada joined #nim
14:07:33*dadada is now known as Guest99524
14:08:04Araqshashlick: yeah, via toOpenArray
14:08:22Araqaha!
14:09:26FromDiscord<Clyybber> Araq: You mean with the scoped destructors branch?
14:10:52FromDiscord<Clyybber> Thats bad yeah
14:13:23*a_b_m quit (Read error: Connection reset by peer)
14:13:48*a_b_m joined #nim
14:14:12Araqmaybe we need infectdestructors3.nim
14:14:20FromDiscord<Clyybber> lol :D
14:14:22Araq*inject lol
14:14:39Araqtaking the good ideas from 2 and patching it into 1
14:14:51PMunchalehander92_, ask me what?
14:15:02FromDiscord<Clyybber> Argh, actually there is no way to generally do this macro thing, without evaluating the LHS +1 times.
14:15:17FromDiscord<Clyybber> Araq: Maybe we should just issue a warning in those cases?
14:15:24PMunchGot to go
14:15:24*PMunch quit (Quit: Leaving)
14:15:39*audiophile joined #nim
14:15:53AraqClyybber: what exactly is the problem?
14:15:59*nikita` quit (Quit: leaving)
14:16:02FromDiscord<Clyybber> Its only relevant if you do this `(someThingThatHasStaticSideeffectsWhenSemmed).someUntypedTemplateOrMacro()`
14:16:24disruptek!repo chronos
14:16:25disbothttps://github.com/status-im/nim-chronos -- 9nim-chronos: 11Chronos - An efficient library for asynchronous programming 15 99⭐ 14🍴 7& 1 more...
14:16:33disruptekNot. A. Single. Tag.
14:16:34FromDiscord<Clyybber> Araq: This issue: https://github.com/nim-lang/Nim/issues/14844 stems from the fact that in order to check if its a method call or field access we sem the LHS.
14:16:35disbotIllegal symbol reuse in template with method call syntax ; snippet at 12https://play.nim-lang.org/#ix=2qtK
14:16:56FromDiscord<Clyybber> Araq: Now in my PR I solved this by semming the LHS and resetting it to the unsemmed tree
14:17:18FromDiscord<Clyybber> But this means that the LHS gets semmed 1 time just for checking if its a field access
14:17:53FromDiscord<Clyybber> This only matters when the RHS is a macro or template that takes untyped
14:18:04FromDiscord<Clyybber> So I think we should just warn in that case
14:19:03FromDiscord<Clyybber> I thought of caching the semmed AST and reusing it later when it would actually be semmed, but that doesn't work generally because the RHS macro/template could change the tree completely
14:20:07FromDiscord<Clyybber> So I think warning if the RHS is a template(a: untyped ...) or macro(a: untyped ...) and the LHS has sideeffects is the best way to go
14:20:21FromDiscord<Clyybber> (edit) 'So I think warning if the RHS is a template(a: untyped ...) or macro(a: untyped ...) and the LHS has ... sideeffects' => 'So I think warning if the RHS is a template(a: untyped ...) or macro(a: untyped ...) and the LHS hascompiletime'
14:21:40krux02@Clyybber: I think there should be a warning when a an untyped template is used in method call syntax.
14:21:52AraqI don't understand the problem
14:21:54*JustASlacker quit (Ping timeout: 240 seconds)
14:22:10disruptekiirc, it's not just untyped.
14:22:16Araqwhy would you expect a sane outcome for the code to begin with? you eval 's' twice
14:22:19FromDiscord<Clyybber> disruptek: Its just untyped
14:22:29FromDiscord<Clyybber> Araq: Yes, twice. Thats intended
14:22:36FromDiscord<Clyybber> But to fix it we would do it thrice
14:22:47FromDiscord<Clyybber> Which is why we should spew a warning
14:22:51krux02I don't really see the connection to the issue right now either. But I do know that a `macro foo(a,b: untyped)` has a semcheckd ast in a when it is used in method call syntax.
14:23:08FromDiscord<Clyybber> krux02: Yeah, and thats the root cause of the issue
14:23:21Araqhow so?
14:23:35krux02x.foo(y)
14:23:36FromDiscord<Clyybber> Because the typed AST has the makeSeq template already expanded
14:23:48krux02x.foo is semcheckd, because it might be a field.
14:24:04krux02so x is resolved to a symbol.
14:24:04FromDiscord<Clyybber> Which means the typed AST just gets duplicated
14:24:09FromDiscord<Clyybber> which causes the symbol clash
14:24:14disruptekmakes sense.
14:24:44krux02foo(x,y) works as expected with x and y being passed as identifier to the macro.
14:24:49Araqso duplicate it properly
14:25:01FromDiscord<Clyybber> Araq: But that doesn't solve the issue
14:25:10FromDiscord<Clyybber> Because the duplication itself is wrong
14:25:20FromDiscord<Clyybber> We mustnt duplicate it
14:25:34disrupteki'm with you, buddy.
14:25:44AraqI don't think so.
14:26:01disruptekit's not a copy we're working with.
14:26:08Araqthe 'i' is gensym'ed and for every instantiation we should get a fresh 'i'
14:26:15FromDiscord<Clyybber> Exactly
14:26:19FromDiscord<Clyybber> But we only get one instantiation
14:26:31FromDiscord<Clyybber> Because its instantiated *before* getting passed the the RHS template
14:26:31disruptekhe's where i was yesterday. 😁
14:27:17Araqit doesn't matter, does it?
14:27:29FromDiscord<Clyybber> it does matter, because it causes this bug.
14:27:39Araqyeah obviously
14:27:46FromDiscord<Clyybber> It also matters because it means the LHS compile time sideffects are getting executed once instead of twice
14:27:47FromGitter<ynfle> When is the `'let' symbol requires an initialization` error thrown?
14:27:49Araqbut it shouldn't
14:28:08Araqynfle: anytime you use 'let x: T' without a '='
14:28:39disrupteklook, i may change my socks today, but no promises.
14:29:03FromGitter<ynfle> Thx
14:30:36FromDiscord<Clyybber> Araq: And in general I think its better to actually pass an untyped AST to something that wants an untyped AST
14:31:21AraqI still don't understand the bug
14:31:36Araqbut it looks to me we don't do the template expansion correctly
14:31:37krux02Araq: do you think that in `x.foo(y)` x being passed as a symbol to `foo` instead of an ident is ok?
14:32:11krux02(when foo is `macro foo(a,b: untyped)` of course.
14:32:59Araqkrux02: I have no opinion
14:33:03FromDiscord<Clyybber> Araq: We do the template expansion correctly, but we pass the expanded template into the RHS, which is the issue
14:33:11krux02Araq: but it does matter.
14:33:17FromDiscord<Clyybber> Because the RHS duplicates the epanded template
14:33:26AraqI'm aware what the compiler does, krux02
14:33:41krux02because `x` might be a complex expresison with compile time side effects.
14:33:56krux02and ast transformations.
14:34:08shashlick@Araq: when converting cstring to string using $, do we copy again?
14:34:25krux02shashlick, that is a copy yes
14:34:30Araqshashlick: yeah and we have to
14:35:06FromGitter<ynfle> Thx Araq!! That solved my issue
14:35:25shashlickok
14:35:36shashlickavoiding copies is painful
14:36:13*narimiran quit (Quit: leaving)
14:36:15krux02Araq: the reason it matters that we know if x is semchecked or not should be obvious. Processing a semchecked ast is entirely different than processing an untyped ast and depending on the calling syntax an `untyped` parameter seakingly becomes a `typed` parameter.
14:37:08Araqit's obvious but if your macro cannot handle nkSym it's wrong anyway
14:37:19shashlickhow do you even use toOpenArray()
14:37:35FromDiscord<mratsim> it's not sneakingly, it's always in generics/static/typedesc proc
14:38:15FromDiscord<mratsim> In Weave, I'm just rebuilding the untyped AST because typed AST is a pain: https://github.com/mratsim/weave/blob/master/weave/parallel_macros.nim#L19-L71
14:38:45shashlickinvalid context for 'toOpenArray'; 'toOpenArray' is only valid within a call expression
14:39:05krux02Araq: So when my marco that explicitly requests `untyped` arguments gets semchecked symbols passed in and can't handle them, it means my macro is wrong?
14:39:19Araqyeah.
14:39:46AraqI recently fixed the peg macro as it couldn't deal with nkSym
14:40:59krux02Araq: great attitude.
14:41:00FromDiscord<mratsim> strformat is broken then
14:41:30FromDiscord<mratsim> it's https://github.com/nim-lang/Nim/issues/6387 all over again (and https://github.com/nim-lang/Nim/issues/8677)
14:41:31disbot[Meta] Generics/Static early symbol resolution
14:42:00disruptekjust Lock #12855
14:42:01disbothttps://github.com/nim-lang/Nim/issues/12855 -- 5Incorrect C code generation when trying to echo a Lock variable ; snippet at 12https://play.nim-lang.org/#ix=2qCq
14:43:11FromDiscord<Clyybber> disruptek: I see what you did there :D
14:46:13Araqcan we get back to clyybber's issue now?
14:46:51Araqso how can a sem'checked AST expanded twice with two different 'i' variables produce the behaviour we see?
14:47:03FromDiscord<Clyybber> It can't
14:47:12FromDiscord<Clyybber> But the issue is that its not expanded twice
14:47:14FromDiscord<Clyybber> but once
14:47:27FromDiscord<Clyybber> during `builtinFieldAccess`
14:47:38Araqbut it's s[s.len - 1]
14:47:43Araqit uses 's' twice
14:47:54FromDiscord<Clyybber> Yeah, but builtinFieldAccess happens before expanding last
14:48:09FromDiscord<Clyybber> Because it determines wether last is a call or a field
14:49:17AraqI know, but it's irrelevant
14:49:27shashlickHow old is this guy
14:50:53FromDiscord<Clyybber> Araq: How so?
14:51:15disruptekthe question is, when you provide s once and it's used twice, does that constitute two s(es) or just one?
14:51:24disruptekwhen it's untyped, i'd say it's two.
14:51:24FromDiscord<Clyybber> two of course
14:51:27FromDiscord<Clyybber> yeah
14:51:40disruptekergo, we gensym twice. two unique symbols.
14:51:59disruptekand yet... this is not the current behavior, because it's merely copied after the sem.
14:52:21FromDiscord<Clyybber> now, to fix this we gensym thrice, but issue a warning when we do so and the gensymmed thing could contain sideeffects
14:52:29FromDiscord<Clyybber> thats my proposal
14:52:43*marnix joined #nim
14:52:47disrupteki honestly don't love that solution.
14:52:57disruptekfeels inelegant at best.
14:52:58AraqI still don't understand the problem
14:53:10krux02Araq, that is because you are ignorant as always.
14:53:36Araqlooks to me we do 'n[i] = m' instead of 'n[i] = copyTree(m)' somewhere in the compiler
14:53:41disruptekthe /problem/ is that the symbol generated is declared twice and used once.
14:53:54FromDiscord<Clyybber> Araq: Yeah, in fact a copyTree is all thats required to fix this
14:53:58FromDiscord<Clyybber> which my fix does
14:55:46FromDiscord<Clyybber> disruptek: How else would you fix it?
14:56:11disruptekfor one thing, i don't think a warning is appropriate.
14:56:26disruptekthat hinders abstraction.
14:56:49FromDiscord<Clyybber> So error? That doesn't matter, lets say "warning or error" for now
14:57:01disruptekit's perfectly valid code.
14:57:12FromDiscord<Clyybber> @Simula Hey, are you back?
14:57:21krux02disruptek, I think a warning is the correct thing to do, because it encourages to write an ast that can be compiled fast.
14:57:35FromDiscord<Clyybber> disruptek: Sure it is. Thats why we warn about it
14:57:37disruptekside-effects are what programming is all about.
14:57:53disruptekdon't punish me with a warning just because i produced a side-effect.
14:57:55FromDiscord<Simula> @Clyybber I joined to get a screenshot of my last interaction with araq. was very surprised to see what yardanico's been on about
14:57:58FromDiscord<Clyybber> Because when for example your macro modifies a file, warning about it is better than not doing so
14:58:38*JustASlacker joined #nim
14:58:46disruptekwhy?
14:58:53Araqhuh? I wasn't even all that active the last days
14:58:58disrupteki fully intend to write macros with side-effects.
14:59:02krux02disruptek, I also think the warning or even error is best, as it ensures everything is typchecked just once and the sideeffects are not triggered several times.
14:59:22disruptekthe side-effects /need/ to be triggered several times.
14:59:26Araqwhat kind of screenshot are you talking about?
14:59:37krux02semchecking an ast, throwing it away, and then semchecking it in the expanded macro again is a source of potential bugs.
15:00:06FromDiscord<Clyybber> disruptek: But in the current case they would be triggered thrice
15:00:19FromDiscord<Clyybber> (edit) 'case' => 'fix'
15:00:23disruptekwell, we don't /have/ to throw it away. you want to check it to find out if it's a field access. then later, you need a sem'd ast. turns out, you have one.
15:00:30krux02is "thrice" even a word?
15:00:34disrupteksure.
15:00:35FromDiscord<Clyybber> disruptek: Exactly, thats what I thought I could do
15:00:54disruptekit's annoying to do, i know.
15:01:00FromDiscord<Clyybber> disruptek: But the issue is, the RHS can be a macro. That macro might even discard the AST
15:01:15FromDiscord<Clyybber> and then we still end up with 1 sideeffect even though we would have wanted none
15:01:31disruptekyes, this is the warning we should issue.
15:01:32FromDiscord<Clyybber> Thats why I said earlier that there is no general way to cache it
15:01:58FromDiscord<Simula> Aaraq: the kind of screenshot that shows you're an asshole who berates people for not understanding low-level internals of the nim compiler. you do it quite often, so i'm not surprised you don't remember a specific incident.
15:02:00disruptek"failed to consume template with side-effects"
15:02:11FromDiscord<Clyybber> Eh
15:02:16FromDiscord<Clyybber> That gets really complicated
15:02:27*audiophile_ joined #nim
15:02:28FromDiscord<Clyybber> Because you might have a macro that uses it once
15:02:29disruptekno one said this would be easy.
15:02:32FromDiscord<Clyybber> but depending on some condition
15:02:41FromDiscord<Clyybber> disruptek: No its *impossible* generally
15:02:47disrupteki don't see why.
15:03:02FromDiscord<Clyybber> And even if we do this, we still end up with the sideffect of the LHS executing before the RHS
15:03:04disruptekSimula: 313 people are getting your github comments in their email.
15:03:26disruptekeven if we do this *impossible* thing?
15:03:29FromDiscord<Clyybber> disruptek: So considering that, I think its best to be transparent and just issue the warning right away
15:03:33FromDiscord<Clyybber> disruptek: Yeah
15:03:56FromDiscord<Simula> disruptek: which is why i tried closing it last night. that should've been the end of it, but yardanico had to go and try to dogpile
15:03:58disruptekwell, i do not agree. i think side-effects are wholesome.
15:04:23AraqSimula: ok.
15:04:30disruptekSimula: yet i don't think anyone will be hitting the Report button on his comments.
15:04:46FromDiscord<Clyybber> disruptek: I don't think its wholesome to have the side-effects be out of order without a warning
15:05:05FromDiscord<Clyybber> disruptek: Consider the LHS reading a file that the RHS would write
15:05:13FromDiscord<Simula> dont really fucking care what other people do. you yourself brought up locking the issue.
15:05:28disruptekit's inappropriate regardless of community or past mistreatment; we're all humans here. and this is coming from me, the undisputed master of inappropriate.
15:06:13*audiophile quit (Ping timeout: 264 seconds)
15:06:15*audiophile_ is now known as audiophile
15:06:28disruptekclyybber: indeed, side-effects are gonna effect.
15:06:41FromDiscord<Simula> then tell araq to get off his high horse and stop attacking people for non-issues
15:06:53disruptekthey don't have to be out-of-order, but they might be tossed.
15:07:03disruptekwrite your code accordingly.
15:07:08alehander92_Simula
15:07:18alehander92_i mean .. what happened
15:07:24alehander92_are you 3n-k1
15:07:57alehander92_are there any deleted comments in this github convo? cause it doesnt make sense
15:08:20*JustASlacker quit (Ping timeout: 265 seconds)
15:08:27FromDiscord<Rika> There are no deleted comments in the github convo I don't think
15:09:41disruptekSimula: i'm criticizing you because it's your behavior that 300+ people have to tolerate, not that of Araq or anyone else.
15:10:09disruptekif you have an issue with Araq, just fucking talk to him.
15:11:14krux02Simula: can you give me an update on what is going on?
15:18:22krux02hmm, aparently not.
15:18:42FromDiscord<Simula> go ahead, criticize me. if i had known github emailed people on every update, i wouldn't have spammed, and i apologize for that
15:18:54FromDiscord<Simula> krux02: sorry, involved in <#371759607934353448>
15:19:10FromDiscord<mratsim> I turned off email, I asked for a weekly digest
15:19:29AraqSimula: I don't mean to attack people
15:21:58FromDiscord<Simula> sent a long message, see http://ix.io/2qDK
15:22:05FromDiscord<Simula> *that's* what upset me
15:22:32FromDiscord<Simula> @Yardanico wanna chime in here bud?
15:23:14FromDiscord<Simula> don't go deleting things now, ive got screenshots
15:23:17AraqSimula: well it's a valid bug and we want to fix it, eventually
15:23:40FromDiscord<Yardanico> I didn't intend any "snarking" when I first asked why you closed the issue, I was just trying to understand why you closed it
15:23:50FromDiscord<Yardanico> And why would I go and delete messages? Which ones?
15:24:12krux02Simula: can't you defollow your own issues?
15:24:13FromDiscord<Simula> araq: which is why i said i was fine with someone opening a new issue with a copy-paste of what i had written
15:24:22AraqI don't "berat" you for misidentifying the issue, I set things right so that the real underlying issue can be fixed
15:24:26FromDiscord<Simula> krux02: they still show up in my issues panel
15:24:42FromDiscord<Simula> araq: and i corrected myself multiple times, and you kept going
15:25:05Araqprobably yes, so that we can come to a good solution
15:25:08FromDiscord<Simula> @Yardanico im not upset with what you said on github. im upset with you dogpiling and attacking me in here, behind my back
15:25:13FromDiscord<mratsim> does that work? https://media.discordapp.net/attachments/371759389889003532/727907666487148575/unknown.png
15:25:31FromDiscord<Simula> nope, they still show up here: https://github.com/issues?q=is%3Aissue+is%3Aopen+author%3A3n-k1+archived%3Afalse+sort%3Aupdated-desc
15:25:44krux02Simula: Just let it go. If you leave you don't have to see anybody anymore, don't you?
15:25:55FromDiscord<Yardanico> @Simula ? I don't see how it is "behind your back", this is an open community, everyone can check the logs or chat
15:26:12krux02Or come to IRC, things are much less emotional here in this ancient technology.
15:26:13FromDiscord<Simula> and you knew i wasn't in the chat
15:26:15FromDiscord<Rika> @Yardanico he wouldn't have known had he not checked the community or so
15:26:38Araqlook, if I continue to talk about an issue "behind your back", maybe it's because it's not about you at all
15:26:42FromDiscord<Yardanico> So I should've notified him somehow then?
15:26:48FromDiscord<Simula> i don't usually obsessively check old communities. i cam back to get a screenshot of the conversation with araq
15:26:53FromDiscord<Solitude> who asked
15:26:56FromDiscord<mratsim> the issue was that Simula wasn't on IRC and was mentioned in a complaint
15:27:04FromDiscord<Rika> Maybe you shouldn't have brought this to attention
15:27:29FromDiscord<Simula> i tried not to
15:27:55FromDiscord<Simula> i explicitly kept the discord conversation with araq out of it. i tried to be as minimalist as possible when i closed it.
15:28:16*maier quit (Ping timeout: 256 seconds)
15:28:41FromDiscord<mratsim> okay, I think there's enough tension here. We can reopen an issue under someone else name, I can do it, because Github won't let an author go otherwise.↵Regarding how we treat newcomers, it is not the first, and certainly not the last that we have issues, see @gokr comment from 2 days ago.
15:28:47FromDiscord<mratsim> We need to do better
15:29:22FromDiscord<Clyybber> There is no we
15:29:27FromDiscord<Clyybber> We are all individuals
15:29:35FromDiscord<Yardanico> Well okay, I realise I shouldn't have said sarcastic things like "nice" about you, I'm sorry about that. @Simula
15:29:42FromDiscord<Clyybber> And individuals have conflicts and discussions
15:30:13FromDiscord<Clyybber> Which individuals should solve
15:30:15FromDiscord<Clyybber> ideally in private
15:30:36FromDiscord<Simula> which is why i tried not bringing up the conflict when closing the gh issue
15:30:38FromDiscord<Rika> Sorry but I can't continue pitching in to this discussion or whatever this is since I'm very sleepy, I hope you all resolve these issues
15:30:46FromDiscord<Clyybber> bb
15:31:49FromDiscord<mratsim> new issue open: https://github.com/nim-lang/Nim/issues/14873
15:31:51disbotCodegen bug while echo-ing a Lock ; snippet at 12https://play.nim-lang.org/#ix=2qDM
15:32:21FromDiscord<mratsim> @Clyybber there is a we, as in we represent the Nim community and its values
15:32:35FromDiscord<Vindaar> agreed
15:32:58FromDiscord<mratsim> whether we like it or not, the way we interact with others will color their perception of the community, who we attract and who will want to stay
15:33:01FromDiscord<Simula> like i said before, be careful how you treat people, you may lose one of your biggest evangelists. so long, and thanks for all the fish
15:33:42Araqwell I'm not on discord and so I still don't know what I did wrong
15:35:15FromDiscord<mratsim> I think it was the tone which was perceived as condescending in an old issue, unfortunately Simula was reminded of that bad interaction in the apst when Yardanico talked about the Lock issue today
15:35:19*Guest99524 quit (Remote host closed the connection)
15:36:00FromDiscord<mratsim> i.e. less bluntness
15:38:10disruptekeh.. i think we should be more blunt.
15:38:25disruptekthe fact is, we do value new people and we do value these sorts of bug reports.
15:39:02*bung joined #nim
15:39:09Araqwell I'm not a native speaker and I prefer to get to the point. So yeah, I'm blunt but then I hardly, if ever get personal either.
15:40:13disruptekhttps://irclogs.nim-lang.org/07-04-2020.html#15:36:20
15:40:48disruptekfite me.
15:42:53Araqdisruptek: well you could be more polite :P
15:42:57Araqmuch more polite.
15:42:59FromDiscord<Vindaar> uhm, I for one am happy there's only one of you disruptek
15:43:10FromDiscord<Vindaar> 😛
15:43:21disruptekgtfo dom was being an asshole.
15:43:33Araqomg, stop it
15:43:36disrupteki was being polite by calling him a mere douchebag.
15:43:56Araqthe next time swallow your response altogether please
15:44:01disrupteknah.
15:44:17disruptekthat helps no one.
15:44:51FromDiscord<flywind> I am not a native speaker too and can only spell simple words, so I have to add emotion not to offend others. 😜
15:44:55Araqit helps us if #nim isn't considered to be full of disrespectful people
15:45:20disruptekyou're right, i wish dom would be more respectful of simple requests from other members of the community.
15:46:01disrupteksomeone comes on irc and asks me for a tag on my software, what do you think i'm going to do?
15:46:13disruptekwho here knows me?
15:46:28disruptekthat's fucking right.
15:46:44Zevvalehander92_: pong
15:46:46*Araq sighs
15:47:00disruptekAraq: you can disagree with me, but first you must understand the problem.
15:47:56Araqdisruptek: please show some manners. you can be right but dom's "laziness" doesn't make him a "douchebag" or worse
15:47:56*lritter joined #nim
15:48:41disruptekif not producing a tag when asked is mere "laziness", then i honestly have no fucking clue why i cannot get a job with facebook, too.
15:48:51disrupteki would love to get paid to not create tags all day.
15:49:28Araqwell I respectfully aks you to stop.
15:50:01disrupteki mean, you can ask...
15:50:50disrupteki don't condone Simula's behavior, but i respect them.
15:51:08*haxscramper quit (Remote host closed the connection)
15:51:09disrupteki just don't respect dom, and if that's hard to hear, it's really not my problem, frankly.
15:52:11disrupteki'm not saying i abuse those i disrespect, but i'm not going to pretend that behavior is acceptable here.
15:52:33*maier joined #nim
15:53:41Araqcalling anybody names here is not acceptable.
15:54:14disrupteksure, sure.
15:55:03disrupteki would say "i respectfully ask you to stop" is a lot closer to achieving the goal than than "stop your cheek".
15:56:49FromDiscord<Recruit_main707> What is happening today in here
15:56:58*maier quit (Ping timeout: 246 seconds)
15:57:15disrupteki'm back on my meds.
16:00:08Araqso, alehander92_, Zevv, please continue
16:02:52FromDiscord<gokr> sent a long message, see http://ix.io/2qDV
16:03:36FromDiscord<Technisha Circuit> ~~What does CoC mean?~~
16:03:42YardanicoCode of Conduct
16:03:50disruptekcode of conduct
16:03:53FromDiscord<gokr> Just as a sidenote - CoCs don't attract me super much either BUT... in Smalltalk we haven't really felt the need.
16:04:08FromDiscord<Clyybber> I don't feel the need here either
16:04:15FromDiscord<Clyybber> IMO people should be allowed to fight
16:04:24disruptekmaybe smalltalkers just aren't provoked to emotion like nimions are.
16:04:29FromDiscord<Technisha Circuit> Oh thanks
16:06:17FromDiscord<Technisha Circuit> I agree with gokr :P
16:07:38disruptekwell, not every community has to serve everyone.
16:08:00disrupteki'm quite certain that my personality is not designed for general use, and i'm fine with that.
16:21:14shashlickevery culture on the planet is represented in these online communities and one person's direct is another person's rude - constantly pressuring people to be polite when there's no one standard is a waste of time
16:22:10disrupteksome people actually appreciate those differences.
16:22:11FromDiscord<Varriount> Oh, hi gokr, long time no see
16:25:16shashlicki don't see how constantly complaining about how bad people are is going to inspire anyone to improve and change
16:25:45shashlickyou see this everywhere, like being called out will dispel my ignorance suddenly
16:25:49disruptekthe fact is, people are awful everywhere. it makes more sense to develop some perspective.
16:26:57shashlickpeople are who they are and everyone is trying their best, even so called awful people have context - my ignorance of it is just that
16:28:00disrupteki dunno, i don't think i always try my best.
16:30:44shashlickit is the best once its done, doesn't mean better isn't possible in the future
16:33:10*fanta1 quit (Quit: fanta1)
16:35:48disruptekpeople have been telling me that my entire life.
16:36:57krux02Something you need to know when dealing with people is. People don't change.
16:38:00shashlickeveryone changes, just that it's not my business how you change
16:38:23shashlickfocus on your own change, the world is a distraction
16:42:15*a_b_m quit (Quit: Leaving)
17:03:51*a_chou joined #nim
17:04:51*a_chou quit (Remote host closed the connection)
17:05:22*a_chou joined #nim
17:08:45*a_chou quit (Client Quit)
17:15:47*hecanjog quit (*.net *.split)
17:15:47*lmariscal0 quit (*.net *.split)
17:15:47*Cthalupa quit (*.net *.split)
17:15:47*Zevv quit (*.net *.split)
17:15:47*blackbeard420 quit (*.net *.split)
17:15:47*onionhammer quit (*.net *.split)
17:15:47*wowi42 quit (*.net *.split)
17:15:47*yumaikas quit (*.net *.split)
17:15:47*GaveUp quit (*.net *.split)
17:15:47*jken quit (*.net *.split)
17:18:01*Zevv joined #nim
17:18:01*Zevv quit (Changing host)
17:18:01*Zevv joined #nim
17:18:02*GaveUp joined #nim
17:18:08*wowi42 joined #nim
17:18:10*Cthalupa joined #nim
17:18:11*yumaikas joined #nim
17:18:17*onionhammer joined #nim
17:18:19*lmariscal0 joined #nim
17:18:19*jken joined #nim
17:18:20*hecanjog joined #nim
17:18:31*Jesin quit (Ping timeout: 246 seconds)
17:19:01disruptekso what's the deal with --useVersion:1.0?
17:19:37*Senny quit (Ping timeout: 260 seconds)
17:20:11*blackbeard420 joined #nim
17:20:32*Zevv quit (Client Quit)
17:22:56Araqdisruptek: it emulates Nim version 1, esp the library that 1.0 ships
17:23:10disruptekwell, it no longer works.
17:23:39Araqit needs test coverage
17:23:50disruptekmaybe, but that won't fix it.
17:26:22*endragor quit (*.net *.split)
17:26:22*kungtotte quit (*.net *.split)
17:26:22*FromDiscord quit (*.net *.split)
17:26:22*sagax quit (*.net *.split)
17:26:22*clemens3 quit (*.net *.split)
17:26:22*zama quit (*.net *.split)
17:26:22*Mister_Magister quit (*.net *.split)
17:26:22*sacredfrog quit (*.net *.split)
17:26:22*mwbrown quit (*.net *.split)
17:26:23*bacterio quit (*.net *.split)
17:26:23*Amun_Ra quit (*.net *.split)
17:29:27*ico joined #nim
17:29:28*endragor joined #nim
17:29:28*kungtotte joined #nim
17:29:28*FromDiscord joined #nim
17:29:28*sagax joined #nim
17:29:28*clemens3 joined #nim
17:29:28*zama joined #nim
17:29:28*Mister_Magister joined #nim
17:29:28*sacredfrog joined #nim
17:29:28*mwbrown joined #nim
17:29:28*bacterio joined #nim
17:29:28*Amun_Ra joined #nim
17:30:49*Jjp137 quit (Ping timeout: 264 seconds)
17:31:24*Mister_Magister quit (Max SendQ exceeded)
17:31:47*drewr quit (Ping timeout: 240 seconds)
17:32:45*Mister_Magister joined #nim
17:34:03*ico is now known as Zevv
17:35:15*nsf joined #nim
17:35:33*thomasross joined #nim
17:39:03FromDiscord<ikrima> is it possible to interop nim's variants with C/C++? (@Araq follow-up from following your recommendation yesterday which has been working well)
17:39:25Araqwell a variant is mapped to a 'union'
17:39:56FromDiscord<ikrima> right; i couldn't figure out how to write the C-header in a way that appeased c2nim
17:40:01*drewr joined #nim
17:40:05FromDiscord<ikrima> and have it spit out a nim variant
17:41:25Yardanicowell I don't think it can do that
17:43:31disruptekwhy are you writing nim in c?
17:43:57Araqdisruptek: he isn't, he integrates Nim code into an existing codebase
17:45:05FromDiscord<gokr> @Varriount Hey 🙂
17:45:16Araqikrima: please read https://github.com/nim-lang/c2nim/blob/master/doc/c2nim.rst#embedding-nim-code
17:45:49*sentreen quit (Ping timeout: 246 seconds)
17:52:05FromDiscord<ikrima> @Araq i reread that but I'm missing how to use that? could you elaborate?↵to be more concrete, i'm using nim to parse annotated C++ code and output back a tree dependency graph
17:54:32FromDiscord<ikrima> the some of the fields are algebraic types/nim variants that i'd need to access on the C/C++ side↵part I'm stuck is mapping the "C/C++ union & its fields" to the "nim variant"
17:54:33Araqdo you use nim to parse the C++ or do you use c2nim?
17:55:00*NimBot joined #nim
17:55:41FromDiscord<ikrima> ah sorry, that confused things. the "annotated C++ parsing" is the thing i'm implementing, not related to nim <> C interop
17:57:06FromDiscord<ikrima> replace that above with "i'm doing some text parsing in nim"
17:57:21*FromDiscord quit (Remote host closed the connection)
17:57:36*FromDiscord joined #nim
17:58:14disruptekyou might want to look at nimterop for inspiration.
17:58:17disruptek!repo nimterop
17:58:18disbothttps://github.com/nimterop/nimterop -- 9nimterop: 11Nimterop is a Nim package that aims to make C/C++ interop seamless 15 191⭐ 16🍴 7& 11 more...
17:58:42disruptektreesitter under nim could be what you want.
17:59:21*sentreen joined #nim
17:59:35*Trustable joined #nim
18:00:13FromDiscord<ikrima> @disruptek great link. i used that to help me migrate my treesitter parser to nim. I don't recall seeing anything with variants but let me recheck
18:01:38Araqwell if you write a header file for c2nim and the C compiler and c2nim should produce a case object, #@ ... @# is what you can use
18:01:50FromDiscord<ikrima> (also just a reminder, this is week3 of using nim so if anything seems obvious/dumb, please say so; won't be offended)
18:02:34Araqcontrary to popular belief, I never tell people that they ask "dumb" questions
18:03:04disrupteki don't think it's dumb, it's just a little confusing as to what you're trying to do... you take c++ code that represents a nim variant object and you want to convert it back into a nim variant object, right?
18:03:30*ofelas joined #nim
18:03:49*lbart quit (Ping timeout: 264 seconds)
18:06:36FromDiscord<ikrima> @Araq ah wasn't directed to anything nim community related (imho, it's been a refreshing pleasure as far as internet/open source communities and driving factor in me continuing this personal experiment); been told I need to improve on soliciting feedback 😛
18:07:28disruptekeveryone's a little raw here at the moment wrt feedback. 😁
18:08:09FromDiscord<ikrima> hah, *insert oblivious Travolta meme*
18:08:20FromDiscord<ikrima> @disruptek it's mostly the other way.↵app: calls into nim for parsing of text file↵nim: processes text file, generates some data structures (UI codegen for example)↵app: needs to be able to take those data structures and do stuff with them
18:09:14disrupteki see; you want to generate variant objects because it's convenient on the nim side but the c app needs to know how to make sense of them.
18:09:25FromDiscord<ikrima> correct
18:09:35Araqwell it's a struct with a union inside
18:10:02Araqyou can look at the generated C code to see the exact layout
18:11:30disruptekseems to me that if you are generating types you can include some routines to query them, too.
18:11:58FromDiscord<ikrima> right; i think i'm missing something obvious here but i tried just copying the layout from the c code↵but I couldn't use {.exportc.} on variant object so i couldn't stop it from name mangling
18:12:41FromDiscord<Recruit_main707> Nim -> C interop?↵If objects are too big Nim will pass them by reference, to avoid that add {.bycopy.}
18:14:30FromDiscord<ikrima> 👍 hmm, i think i may need to reread the manual/compiler readme again and then comeback with examples
18:14:46FromDiscord<ikrima> thnx guys
18:14:49disrupteksure, but don't overthink it.
18:15:18FromDiscord<Recruit_main707> And don’t worry about asking things
18:18:22FromDiscord<Recruit_main707> How can I debug/find bottlenecks of my Nim applications
18:19:16disruptekhttps://github.com/disruptek/criterion
18:19:50FromDiscord<Shucks> @Recruit_main707 https://github.com/Sann0/NimGHInjector
18:20:23disruptek!repo nimcoz
18:20:24disbothttps://github.com/s0kil/nimcoz -- 9nimcoz: 11Nim Wrapper For Coz Profiler 15 14⭐ 0🍴
18:21:02FromDiscord<Recruit_main707> Thanks (both)↵Although, will this things work if I am using my code in a dll?
18:21:19planetis[m]wow, everything is double
18:21:26planetis[m]am i drunk?
18:22:02FromDiscord<Shucks> Could someone try if that works on linux aswell. It should look like a single spawned imgui ui: https://play.nim-lang.org/#ix=2qEx
18:27:33*sentreen quit (Quit: sentreen)
18:28:09FromDiscord<Yardanico> @planetis might be a matrix bridge issue
18:30:17*nsf quit (Quit: WeeChat 2.8)
18:30:37disrupteknope, you're drunk.
18:31:49FromDiscord<Shucks> glOrtho could help
18:32:47*sentreen joined #nim
18:40:27*Jjp137 joined #nim
18:44:28*planetis[m] left #nim ("User left")
18:45:16FromDiscord<kodkuce> does gc:orc work good with async atm or should i use beahem for shared heep, q2 when i try beohem i get "could not load: libgc.so.1" i have libgcc installed ofc
18:45:32Yardanicolibgcc != libgc
18:45:36Yardanicolibgc is the boehm itself
18:45:40Yardanicolibgcc is the shared library for GCC
18:45:52Yardanicoyou need to install boehm in your distro
18:48:00FromDiscord<kodkuce> nothing in repo 😦
18:48:09Yardanicowhat distro?
18:48:15FromDiscord<kodkuce> void linux
18:48:30Yardanicoit's "gc" package in void linux
18:49:16FromDiscord<kodkuce> ty, you use void too or how did you know 🙂
18:49:23Yardanicoi googled in 5 seconds :)
18:49:44Yardanico"void linux boehm" -> repology link to boehm-gc in different distros (https://repology.org/project/boehm-gc/versions) -> void linux
18:50:02Yardanicobut yeah, I've used void linux in the past too, although I didn't install boehm
18:50:19FromDiscord<kodkuce> https://media.discordapp.net/attachments/371759389889003532/727959285278965770/2020-07-01_204834.png
18:50:31Yardanicowell I use google
18:50:33FromDiscord<kodkuce> duck duck go failed me 😦
18:50:40Yardanicoit knows what I search for so the results are usually really good
18:52:49*lbart joined #nim
18:59:20FromDiscord<Recruit_main707> Since google spies me it already knows I want info about Nim
18:59:25Yardanicoyes
18:59:28FromDiscord<Recruit_main707> Smart move
19:01:47*nikita` joined #nim
19:13:30*Vladar quit (Quit: Leaving)
19:17:58*Jesin joined #nim
19:24:00*audiophile quit (Ping timeout: 256 seconds)
19:26:49*planetis[m] joined #nim
19:30:02*JustASlacker joined #nim
19:34:07*abm joined #nim
19:37:07*marnix quit (Ping timeout: 240 seconds)
19:38:21FromDiscord<Varriount> I don't suppose anyone wants to hang out in Mumble?
19:38:51federico3why not?
19:40:16FromDiscord<Varriount> I'd probably use Boehm if I had to write code in C
19:41:05FromDiscord<Varriount> With C++... I'd probably just hope that my program wouldn't explode at some random point (due to my lack of C++ experience)
19:41:14*JustASlacker quit (Ping timeout: 240 seconds)
19:44:06FromDiscord<lqdev> I'd love to voice chat if I was home, but unfortunstely I'm not :(
19:45:12*ee7[m] quit (*.net *.split)
19:46:15*opal joined #nim
19:47:31*ee7[m] joined #nim
19:47:44krux02Varriount: It is not that hard to do memory management in C++.
19:47:53krux02The issues of c++ are others.
19:56:28FromDiscord<Shucks> Anyone knows if nimgl has a own irc channel?
19:56:46lmariscal0Shucks, nope but I get notifications when NimGL is mentioned
19:57:22FromDiscord<Shucks> Oh, the boss is even here ;o
19:58:32FromDiscord<Shucks> Im looking for a example how to get igInputText running. Was expecting it would be like the other ones so I just pass an string pointer to it.
19:58:40lmariscal0Hahaha, but sorry if sometimes those notifications get missed in the sea of me not being in my PC
20:03:12lmariscal0Shucks, I'm testing some stuff and looking for some of my old code can take me sometime will answer you when I find the right stuff
20:06:04FromDiscord<Shucks> Alright. Thank you. Also some stuff I've noticed but might be wrong on my end since im still a newbie: You can't use the IMGuiCol enum directly eg.: `igGetStyle().colors[IMGuiCol.Text] = ImVec4(x: 1.0, y: 1.0, z: 1.0, w: 1.0)` and you can't `or` `ImGuiWindowFlags` at `igBegin`
20:09:10lmariscal0For the style change you can check the included cherry theme
20:09:11lmariscal0https://github.com/nimgl/imgui/blob/master/src/imgui.nim#L2416
20:10:00FromDiscord<Shucks> Ah. That was my issue with the window flags aswell. Just tested it right now
20:10:02FromDiscord<Shucks> `(ImGuiWindowFlags.AlwaysAutoResize.int32 or ImGuiWindowFlags.MenuBar.int32).ImGuiWindowFlags`
20:10:07FromDiscord<Shucks> Pretty weird. But alright ;D
20:10:13*vikfret_ joined #nim
20:10:15lmariscal0Yep, was going to reply that
20:10:22*vicfred quit (Ping timeout: 246 seconds)
20:10:25*vikfret quit (Ping timeout: 265 seconds)
20:10:42lmariscal0Yeah, I should add more converters (added to my todo-list)
20:12:51*vikfret_ quit (Client Quit)
20:14:06lmariscal0Shucks, to use igInputText you can use the nim string
20:15:15lmariscal0https://pastebin.com/67i0bEMU Shucks, lines 29, 39 and 40 are important
20:15:53*sentreen quit (Ping timeout: 246 seconds)
20:16:32*audiophile joined #nim
20:17:28lmariscal0You can also use `var text = newString(10)` to easily create a string of certain size
20:19:12*MightyJoe quit (Quit: I'm out!)
20:20:56FromDiscord<Shucks> great thank you!
20:21:03FromDiscord<Shucks> not sure what I did the whole time
20:22:35*cyraxjoe joined #nim
20:30:02alehander92_so
20:30:08alehander92_what should i continue with zevv
20:30:12alehander92_i am sorry i got a bi tlost
20:30:20alehander92_disruptek there is this joke in bulgaria
20:30:35disruptekthe one about the horse and the hooker?
20:30:37alehander92_everytime when people get drunk and someone gets close to you and starts slowly talking like
20:30:47alehander92_"do you .. do you respeect mee"
20:30:58alehander92_so its like the respect thing its a bit funny to me
20:31:05alehander92_when people treat it too seriously
20:31:09*JustASlacker joined #nim
20:31:11alehander92_the horse and the river*
20:31:20alehander92_how would you pass your bg citizenship thing
20:31:24disruptekthe horse went to the river.
20:31:28disrupteki got that part.
20:31:35disruptekhow does the hooker fit in? so to speak.
20:31:36FromDiscord<Elegant Beef> The hooker the horse rider?
20:31:40alehander92_there is no ..
20:31:45alehander92_its not a dirty joke !
20:31:49disruptekpfffbt
20:31:53alehander92_respect people
20:32:02alehander92_there is another one
20:32:05alehander92_does a horse eat beans
20:32:09alehander92_i am not kidding you
20:32:10FromDiscord<Elegant Beef> I dont know how to respect people
20:32:12disruptekeh get over yourselves; it's teh interwebs after all.
20:32:13alehander92_this is a very famous proverb
20:32:25disruptekdoes a horse eat beans
20:32:29alehander92_oh no its "does a donkey eat beans"
20:32:30alehander92_sorry
20:32:35disruptekdoes the pope shit in the forest?
20:32:46JustASlackerrespect women - https://www.youtube.com/watch?v=3YUCblQE7n0
20:33:15alehander92_respect !!
20:33:23alehander92_disruptek btw
20:33:32alehander92_i wanted to ask you to help me learn driving
20:33:41disrupteksure thing, boss.
20:33:45FromDiscord<Elegant Beef> No disruptek, he shits in his hat
20:33:55alehander92_thats how bad i am i failed 5 times the exam
20:34:06alehander92_it seems easy
20:34:16disruptekwhat worked for me was turning to a life of crime.
20:34:32disrupteknothing sharpens the skills like stealing cars and police chases.
20:34:45alehander92_no option, this contradicts my faith
20:34:55alehander92_but i planned deliverying food
20:34:58FromDiscord<Elegant Beef> I have faith you can do it
20:35:00alehander92_is this good
20:35:03disruptekalso, pick up a copy of RONIN. a good primer on driving like a lunatic. i think there's food in there, too.
20:35:30alehander92_i dont want to
20:35:38alehander92_i have to drive like a german train operator
20:35:45alehander92_that's the point of our exams
20:36:06FromDiscord<Elegant Beef> So on fixed rails in a system that should be automated?
20:36:08alehander92_i managed to turn left before a tram.
20:36:10alehander92_dont do that
20:36:21disruptekmost trams don't turn left.
20:36:22alehander92_automated in python
20:36:29alehander92_thats the problem dude
20:36:30FromDiscord<Elegant Beef> Ah i see the issue
20:36:32disruptekif you're waiting for a tram to turn left, you may be waiting a long time.
20:36:51FromDiscord<Elegant Beef> By the time the train's automated system does the math, it's already 10km away from the start of the calculation
20:36:52alehander92_thats why when you turn left in front of it
20:36:57alehander92_this is a great way to clash
20:37:16alehander92_i sat there
20:37:18FromDiscord<Elegant Beef> Just go by a panzer
20:37:19alehander92_1-2 seconds thinking
20:37:21FromDiscord<Elegant Beef> buy*
20:37:24alehander92_man there was something about trams
20:37:29alehander92_something important .. cant remember
20:37:35alehander92_i look trhough the mirror see some people
20:37:38alehander92_and say come on
20:37:47alehander92_and start turning .. and then BIIING
20:37:56alehander92_big claxon
20:37:58alehander92_makes bing
20:38:30disruptekweird, i thought that was a microsoft product.
20:38:59FromDiscord<Elegant Beef> Nah 3 `I`s is a google product
20:39:14alehander92_python is ok
20:39:23alehander92_yeah basically
20:39:32alehander92_!semaphore green
20:39:39alehander92_can we make such a command so i can like train
20:39:42alehander92_waiting
20:40:02disruptek🟢
20:40:09disruptek🔴
20:40:14alehander92_disruptek i am looking for work
20:40:14disruptekgo for it, buddy.
20:40:15alehander92_btw
20:40:23alehander92_if you have a truck to drive
20:40:25disruptekjust what i need: competition.
20:40:26alehander92_ok
20:40:36alehander92_yeah right
20:40:45alehander92_look, america for you
20:40:47alehander92_europe for me
20:40:52disruptekbut dude.
20:41:02disruptekthere are like 50 million people out of work here.
20:41:03alehander92_i already plan on trying for us companies
20:41:07alehander92_ugh
20:41:09disruptekone in every two americans.
20:41:09alehander92_saying it like this
20:41:34alehander92_come to europe?
20:41:43alehander92_it does put things in perspective
20:42:07disruptekwell, i have to hit a russian first.
20:42:19disrupteki tol' danny i'd kill him.
20:43:01alehander92_well i am looking for a us job too.
20:43:06alehander92_but i love russians
20:43:10disruptekyeah?
20:43:18disruptekwell, solitude has been askin' for it, too.
20:43:36alehander92_they have great churches and history
20:43:41alehander92_and literature and videos.
20:43:46alehander92_just a great country
20:43:59alehander92_byt my wife likes stuff like bulgaria
20:44:12disrupteksure, sure. americans love russia right now.
20:44:15alehander92_wait, i also lik bulgaria
20:44:20disruptekwhy?
20:44:24alehander92_yeah, this might be an issue
20:44:34alehander92_is there any chance PMunch can become a president of usa
20:44:34FromDiscord<Elegant Beef> Yea especially after the russians got bounties on american soldiers
20:44:40alehander92_or is still the biden - trump thing on
20:44:48alehander92_oh i am behind things
20:44:55disruptekpmunch would be wise to stay where he's at.
20:45:14alehander92_i get it.
20:45:21alehander92_you dont want norway to rule the world
20:45:28disrupteknorway is like, one of the best countries in the world. according to people that like freezing their tits off, i mean.
20:45:42FromDiscord<Elegant Beef> I mean im down to go to norway
20:45:48FromDiscord<Elegant Beef> It's Canada heavy
20:45:51disrupteki am down to send you.
20:45:53alehander92_oh man i have a sudocrem here
20:45:58disrupteka what?
20:46:07disruptekis that a kind of fungus?
20:46:12alehander92_a cream called sudocrem its very authentic
20:46:15*cyraxjoe quit (Quit: I'm out!)
20:46:18alehander92_ok guys
20:46:22alehander92_time to watch gilmore girls.
20:46:28disruptekaight
20:46:38disruptekwhen you gotta, you gotta.
20:46:44alehander92_i missed a lot
20:46:56alehander92_i really dont like how she treats dean.
20:46:59alehander92_he made her a car.
20:47:07alehander92_like, imagine if you make me a car
20:47:14alehander92_i would like fail my exam again
20:47:17alehander92_emotions
20:47:43krux02Never thought that this should would be mentioned here in this chat.
20:48:08krux02It is a show for women and this channel has no women as far as I know.
20:48:14alehander92_sorry krux02 but we will laugh one day about it
20:48:17alehander92_this day is now
20:48:17disruptekdon't be rude.
20:48:28alehander92_yeah its .. it has some good character writing
20:48:31audiophileno politics please
20:48:31disruptekthere are some girls here.
20:48:38alehander92_i am a bit nostalgic
20:48:42krux02disruptek, who?
20:48:43alehander92_there were women at one point
20:48:44alehander92_i think
20:48:49*cyraxjoe joined #nim
20:48:51*xet7 joined #nim
20:48:58alehander92_my wife reads the chat right now so ..
20:49:02FromDiscord<Elegant Beef> Quick alehander put your wife on your pc and send a "hi"
20:49:02FromDiscord<Recruit_main707> Rika afaik?
20:49:05alehander92_there are like maybe many women
20:49:08krux02Andrea is a male name in italy, if you mean that ono
20:49:51disruptekjudging by the numbers of panties i've put in a twist today, almost half this channel is female.
20:49:58alehander92_krux02 whats your favorite german show
20:49:59Yardanico LOL
20:50:06krux02german?
20:50:07alehander92_do you guys have good sitcoms
20:50:13alehander92_like, i know, low bar
20:50:26FromDiscord<Elegant Beef> The germans have great jokes, like... uhhh... shit
20:50:32alehander92_i like them
20:50:33krux02If you mean TV show like with a host and stuff like that? Or like series?
20:50:40alehander92_Erich Kastner was my favorite writer
20:50:43alehander92_when i was a kid
20:50:50alehander92_like tv series*
20:51:11alehander92_i like the romantic comedies, they are a bit cringe, but they have their kind of feel
20:51:17audiophilecringy feel?
20:51:17alehander92_the german romantic comedies&
20:51:19krux02alehander92_, we do have real Theatre shown on TV with real Audience.
20:51:39krux02romantic comedies isn't that an American concept.
20:51:39alehander92_hm, this sounds cultural
20:51:46alehander92_yeah but on our tv there were those
20:51:50alehander92_like germans in africa
20:51:51FromDiscord<Elegant Beef> I dont know how you could get into a romcom when the language sounds like your life is always threatened
20:51:52alehander92_movies
20:52:08alehander92_btw it sounds soft! like if you listen to some germans in real life
20:52:14alehander92_it does sound different
20:53:08krux02Well I do like "Weissensee"
20:54:03krux02It is a serios played in East Germany during the Cold War portraiying a family who is high ranked in the Secred police
20:54:07*JustASlacker quit (Ping timeout: 246 seconds)
20:54:20alehander92_hmm , sounds interesting
20:54:43alehander92_is it like the famous goodbye lenin movie or more drama-social
20:55:03krux02well if you like goodbye lenin, then you might like that one as well.
20:55:07*ofelas quit (Ping timeout: 260 seconds)
20:55:23alehander92_makes sense, i'll keep it in brain
20:55:29krux02I think the style matches, not perfectly it still is a long running series
20:55:48alehander92_yeah of course
20:57:12FromDiscord<Clyybber> alehander92: Dark is a great show
20:57:21alehander92_yeah i did watch some of it before
20:57:31alehander92_but not really in the mood for stuff like this these days
20:57:35disrupteki've been watching it in german; excellent.
20:57:36krux02if is also interesting if you liked the move "Das Leben der Anderen" "The Lives of Others"
20:57:43disruptekfor some reason, sealmove doesn't like Dark.
20:58:01alehander92_i dont like this kind of mistery now
20:58:12alehander92_i've heard good things of the lives of others
20:58:16alehander92_but i havent watched it yet.
20:58:28alehander92_there was a movie
20:58:42alehander92_about people flying with a baloon over the border: it seemed cool as a premise, is it good?
20:59:18krux02I saw the first few episodes of "Dark". I can't spot anything that I explicitly didn't like about it. But it felt so much like Netflix.
20:59:28disruptekwell, it /is/ netflix.
20:59:35krux02I know.
20:59:39disruptekso...
21:00:36krux02When you see the individual components used in a movie/series then it stops being interesting.
21:00:46FromDiscord<Clyybber> WDYM it feels netflix?
21:00:50krux02It breaks the illusion for me.
21:00:56FromDiscord<Clyybber> I don't watch that many shows/series so I can't relate
21:00:57disrupteki think he dislikes quality.
21:00:59FromDiscord<Elegant Beef> It feels like a streaming service 😛
21:01:10disruptekit feels entertaining.
21:01:12krux02I am not a Netflix fan.
21:01:15FromDiscord<Clyybber> alehander92: Wer früher stirbt, ist länger tot is a nice movie
21:01:28FromDiscord<Clyybber> krux02: What does being made by netflix have to do with the show directly tho?
21:01:28krux02I think the power of netflix can really hurt the diversity in Movies.
21:02:00krux02I think that is the major reason I didn't really like Dark.
21:02:06FromDiscord<Clyybber> huh
21:02:09krux02Not that the maker did something wrong or something.
21:02:14FromDiscord<Clyybber> doesn't seem like a reason to dislike Dark
21:02:14krux02It is my stupid idealism.
21:02:20FromDiscord<Clyybber> Yeah
21:02:34krux02I do watch Netflix thoguh.
21:02:48krux02But I constantly look for non original productions.
21:02:51FromDiscord<Clyybber> then you don't make sense :p
21:03:03krux02well I didn't pay for it.
21:03:08FromDiscord<Clyybber> oh ok
21:03:15krux02My Girlfriend already had it before we moved together.
21:03:32disrupteki'm not sure it matters.
21:03:42krux02for me it does.
21:03:54krux02and I know it is stupid.
21:04:04krux02And it doesn't change anything.
21:04:13*ofelas joined #nim
21:04:28FromDiscord<Elegant Beef> Just use a bias, and say it has to be badcause it's on a platform that makes content exclusive
21:04:43disruptekwhen i still ice cream from my neighbor's freezer, it still makes me fat. i don't get it.
21:05:01FromDiscord<Clyybber> I didn't watch it *on* netflix so I don't particularily care
21:05:23krux02But I really think streaming services like Netfix and their fight for original content really hurts us customers.
21:05:53krux02I prefer the Cinema model, wher we the people who watch the movies, just wath the movies and enjoy it.
21:05:55disruptekif the proof is in the pudding, we're in a golden age of teevee.
21:05:55FromDiscord<Recruit_main707> This is a bit <#371759607934353448> :P
21:06:07FromDiscord<Clyybber> krux02: Sure, but we are talking about series here
21:06:12FromDiscord<Clyybber> Not a movie
21:06:17Yardanico#offtopic :P
21:06:19Yardanico#nim-offtopic
21:06:20krux02yea, the Golden Age of cinema is Over.
21:06:28krux02That was I think 80 and 90s
21:06:48krux02and 2000s because you know it, LotR
21:08:24krux02Last mention for good Series: Babylon Berlin
21:08:34disrupteki like that one a lot.
21:08:40disruptekwasn't it cancelled, though?
21:09:11krux02no
21:09:25*cyraxjoe quit (Quit: I'm out!)
21:10:23krux02I don't know if it is region locked, but you can stream it all here: https://www.daserste.de/unterhaltung/serie/babylon-berlin/index.html
21:10:31krux02sorry that is now really off topic
21:10:40krux02I won't send links like that anymore.
21:11:57*cyraxjoe joined #nim
21:12:05disrupteki feel like there is a lot of well-written television right now; i don't really understand why you think netflix is a monopoly.
21:12:26disruptekthey've created more competition and the consumer benefits.
21:12:28FromDiscord<Clyybber> yeah, I don't think it is
21:12:32FromDiscord<Clyybber> a monopoly
21:12:41FromDiscord<Clyybber> considering how many other streaming services are emerging
21:12:56FromDiscord<Clyybber> and in these cases the monopoly is actually a good thing for the *paying* customers
21:13:15disruptekwhat's interesting to me is that the quality has gone up but so has the advertising time.
21:13:38disrupteksomething like 85% of young people watch two screens at once, so you can sell more than 24hrs of content per day.
21:13:55FromDiscord<Clyybber> Its inexplicable to me how the state funded TV is allowed to display ads
21:14:10krux02Babylon Berlin is public TV here in Germany. That means you can just stream it on the internet without login or something.
21:14:16FromDiscord<Clyybber> I mean it only does so in the afternoon where only shit runs anyway
21:14:17FromDiscord<Clyybber> but still
21:14:34*BornInWinter joined #nim
21:15:05krux02Clyybber: It is very important that German TV is NOT state funded, because it does in no way serve the state.
21:15:26FromDiscord<Clyybber> well, sorry to tell you but 1ste and zdf are state funded
21:15:30FromDiscord<Clyybber> its a tax
21:15:35FromDiscord<Clyybber> that everyone pays
21:15:37krux02very different to other countries like for example USA where Fox News is working for trump.
21:15:54FromDiscord<willyboar> Alehander92 nope, no talk yet.
21:15:59FromDiscord<Clyybber> krux02: There are many politicians in the gremiums of our public TV
21:16:06FromDiscord<Clyybber> but I agree its not as bad as in the USA
21:16:42krux02Or China
21:16:44FromDiscord<Clyybber> But the ads that switch between: Ad for sweets; Ad for adipositas meds is kind of disturbing
21:17:09krux02I don't watch Ads anymore.
21:17:16krux02If I want to see something I watch it online.
21:17:26krux02even public TV.
21:18:04FromDiscord<Clyybber> arte is IMO the best TV channel here
21:19:21krux02agreed
21:19:38krux02Half French half German
21:19:42FromDiscord<mratsim> Trump is being demolished by CNN today
21:19:55krux02mratsim: what do you mean?
21:20:07krux02He demolishes himself every time he says a word.
21:20:27FromDiscord<mratsim> - https://edition.cnn.com/2020/06/29/politics/trump-phone-calls-national-security-concerns/index.html↵- https://edition.cnn.com/2020/06/28/politics/trump-united-states-world-leadership-intl/index.html
21:22:48FromDiscord<Recruit_main707> !eval echo(“Trump” == “Nim”)
21:22:50NimBotCompile failed: /usercode/in.nim(1, 6) Error: undeclared identifier: '“Trump”'
21:22:59FromDiscord<Clyybber> we can only wish
21:23:02FromDiscord<mratsim> why identifier?
21:23:03FromDiscord<Recruit_main707> 🥴
21:23:15FromDiscord<mratsim> I think your quotes are buggy
21:23:32FromDiscord<mratsim> you are using stylicized quotes instead of programming quotes
21:23:41FromDiscord<Clyybber> yep, german quotes
21:24:38FromDiscord<mratsim> somehow I remember the first quote being at the bottom
21:24:42krux02they look to me like english quotes
21:24:58krux02„German“ “English”
21:25:09FromDiscord<mratsim> ^ yeah
21:25:51krux02»French«
21:25:58krux02not sure though
21:26:04FromDiscord<mratsim> the other way around
21:26:11FromDiscord<mratsim> what you're doing is an ads
21:26:11FromDiscord<lqdev> Polish does the same thing as German
21:26:15krux02«French»
21:26:20FromDiscord<mratsim> yes
21:26:29FromDiscord<Recruit_main707> smh French stole our quotes?!
21:26:41FromDiscord<mratsim> C++ stole our quotes
21:26:54*BornInWinter quit (Remote host closed the connection)
21:27:07FromDiscord<Recruit_main707> Those are Spanish quotes, get your own baguettes
21:27:31Yardanicoin russian (official works, thesises and stuff) we differentiate between “stuff” and «stuff»
21:27:37Yardanicothe first one is for quotes, the second one is for names
21:27:43Yardanicolike name of the article
21:28:45krux02did you know that when you want to put something in quotes within quotes you use single quostes?
21:28:51FromDiscord<mratsim> https://en.wikipedia.org/wiki/Guillemet↵> Guillemets may also be called angle, Latin, or French quotes / quotation marks.↵> Guillemet is a diminutive of the French name Guillaume (equivalent to English William), apparently after the French printer and punchcutter Guillaume Le Bé (1525–1598),[5] though he did not invent the symbols: they first appear in a 1527 book printed by Josse Bade
21:29:06krux02„Something ‘within’ quotes“
21:29:41Yardaniconot in russian
21:29:44krux02«a»‹b›
21:29:44*JustASlacker joined #nim
21:29:59krux02what quotes does russian have?
21:30:07Yardanicoas I said above
21:30:12krux02I think it is weird that there are all these different quoting types.
21:30:12Yardanico“stuff” and «stuff» for official works
21:30:13supakeenBoth.
21:30:32krux02Spanish has even a starting question mark
21:30:34Yardanicofirst one for quotes, second one for names of articles/journals/etc
21:30:45Yardanicokrux02: ¿que
21:30:46disrupteki'm starting to question germans.
21:30:59krux02why?
21:31:20supakeenkrux02: It's more tricky than that, it's not a question mark you put at the beginning of the question.
21:31:31supakeenErr at the beginning of the sentence, though many people get that wrong when learning Spanish.
21:31:54supakeenEso, ¿es verdad?
21:31:59supakeenIt surrounds the question part.
21:32:41krux02supakeen, that part of spanish writing is pretty cool. I like it.
21:32:52krux02But it looks weird seeing first time upside down question mark.
21:32:59supakeenDon't worry nearly no one writes it in any chat application ;)
21:33:04krux02But what do I say, we haves this thing here -> ß
21:33:08disruptekjust turn your head.
21:33:11FromDiscord<Recruit_main707> We will eventually loose it, because of that
21:33:15krux02even now in capital as well: ßẞ
21:33:47krux02supakeen, is it available on the keyboard?
21:33:56krux02is it hard to type uside down question mark?
21:34:10disruptekit's alt+173 iirc
21:34:12supakeenIt's at =
21:34:21supakeenThe normal question mark is at -
21:34:32supakeenIf you use a Spanish layout at least.
21:34:43*solitudesf quit (Ping timeout: 246 seconds)
21:34:49krux02I use this weird six layer keyboard layout. It allows me to type all sorts of symbols with different modifiers
21:34:54disruptekthe problem with the spanish layout is that it doesn't work for like 3hrs in the middle of the afternoon.
21:35:10supakeendisruptek: Unless you have AC ;)
21:35:13krux02and upside down question mark is at the same place as the normal question mark, it is just a different modifier key that I need to hold.
21:35:35krux02disruptek, what do you mean by that?
21:35:44supakeenThey mean siesta.
21:35:51FromDiscord<Recruit_main707> Krux02: that’s how Spanish layout looks like (mine at least) https://media.discordapp.net/attachments/371759389889003532/728000938044030996/image0.jpg
21:36:06supakeenYea that's the Spanish layout I'm familiar with as well :)
21:36:48supakeenPerfect for html as one can see.
21:37:00krux02yea looks very much like US layout.
21:37:39krux02sorry I was wrong
21:48:12*cyraxjoe quit (Quit: I'm out!)
21:48:15*pietroppeter quit (Quit: Connection closed for inactivity)
21:50:45*cyraxjoe joined #nim
21:55:38*JustASlacker quit (Ping timeout: 260 seconds)
21:59:41*cyraxjoe quit (Quit: I'm out!)
22:03:15*cyraxjoe joined #nim
22:03:43*sentreen joined #nim
22:04:02*nikita` quit (Quit: leaving)
22:08:42*sentreen quit (Ping timeout: 260 seconds)
22:10:12FromDiscord<codic> is there a way to get the current user on unix systems (even better if it works on windows as well) using Nim without just using a execProcess("whoami")?
22:10:23Yardanicoget the home folder?
22:10:32Yardanicohttps://nim-lang.org/docs/os.html#getHomeDir\
22:10:36Yardanicohttps://nim-lang.org/docs/os.html#getHomeDir
22:11:38FromDiscord<codic> thanks, i was gonna use it for the homefolder anyways lol
22:12:08*Trustable quit (Quit: Leaving)
22:12:34*pietroppeter joined #nim
22:15:11*vicfred joined #nim
22:22:12*sentreen joined #nim
22:22:35*cyraxjoe quit (Quit: I'm out!)
22:23:01alehander92_clyybber thanks !
22:23:05alehander92_seems interesting
22:25:07*cyraxjoe joined #nim
22:25:32*ofelas quit (Ping timeout: 260 seconds)
22:27:29*chemist69 quit (Ping timeout: 246 seconds)
22:27:53*chemist69 joined #nim
22:28:18*hecanjog left #nim ("WeeChat 1.9.1")
22:28:28*cyraxjoe quit (Client Quit)
22:28:32*hecanjog joined #nim
22:31:00*cyraxjoe joined #nim
22:31:10*cyraxjoe quit (Client Quit)
22:32:09*audiophile quit (Quit: Default Quit Message)
22:34:14*ofelas joined #nim
22:35:33*cyraxjoe joined #nim
22:55:06Yardanicodamn https://i.imgur.com/3yJTcPC.png
22:55:12Yardanicohttps://github.com/yglukhov/wasmrt go brrr
22:55:26Yardanicomanaged to find https://github.com/JuliaMath/openlibm which can provide -lm for wasm32 target
22:55:51Yardanicoand ran my mathexpr (although float formatting is not possible rn since nim uses strtod and sprintf, maybe I'll try to wrap them to the JS functions)
22:55:57Yardanico42kb wasm file
22:57:26Yardanico"almost" whole code btw :) https://gist.github.com/Yardanico/1717feb2aee4bd9298191be6255f0673
22:58:59*abm quit (Quit: Leaving)
23:01:35*Sembei quit (Quit: WeeChat 2.8)
23:09:00Yardanicoah nvm I made it work I think
23:10:27*ofelas quit (Ping timeout: 260 seconds)
23:13:57*audiophile joined #nim
23:18:38*audiophile_ joined #nim
23:18:44*fredrikhr quit (Ping timeout: 256 seconds)
23:22:43*audiophile quit (Ping timeout: 265 seconds)
23:22:43*audiophile_ is now known as audiophile
23:23:05*NimBot joined #nim
23:23:22*ofelas joined #nim
23:32:38*ofelas quit (Ping timeout: 260 seconds)
23:33:04disruptek⚾⚽
23:33:27Yardanico💣
23:35:18*krux02_ joined #nim
23:37:52*krux02 quit (Ping timeout: 260 seconds)
23:43:42*ofelas joined #nim
23:49:32*ofelas quit (Ping timeout: 260 seconds)
23:52:41*ofelas joined #nim
23:53:57*cyraxjoe quit (Quit: I'm out!)
23:55:29*BornInWinter joined #nim
23:55:53FromDiscord<Technisha Circuit> What was the repo for the thing that turned Nim code into a bunch of `V`s?
23:56:34*cyraxjoe joined #nim
23:57:42*ofelas quit (Ping timeout: 260 seconds)
23:58:28*cyraxjoe quit (Client Quit)
23:58:31*chemist69 quit (Ping timeout: 272 seconds)
23:58:36FromDiscord<Technisha Circuit> !repo v-code
23:58:37disbothttps://github.com/austin-taylor/code-vault -- 9code-vault: 11Collection of useful notebooks and snippets 15 1348⭐ 614🍴 7& 29 more...
23:58:43FromDiscord<Technisha Circuit> Nope
23:58:49FromDiscord<Technisha Circuit> !repo v
23:58:50disbothttps://github.com/belamenso/v -- 9v: 11Write Nim only with 'v' 15 24⭐ 3🍴 7& 29 more...
23:58:56FromDiscord<Technisha Circuit> Nice
23:58:57*chemist69 joined #nim
23:58:59FromDiscord<Technisha Circuit> Found it