<<05-07-2020>>

00:00:01*junland quit (Quit: %ZNC Disconnected%)
00:00:31bung_type TypeA[T,R?]
00:01:20*jken quit (Quit: ZNC - http://znc.in)
00:01:36bung_so that the TypeA can have optional R
00:03:15bung_or maybe I should declare it as another type?
00:03:54*junland joined #nim
00:21:47PMunchDoing a bit of streaming to test out my new mic: https://www.twitch.tv/pmunche
00:21:58PMunchWon't be going for too long as it's already 2:30AM here :P
00:30:22*krisppurg quit (Quit: Connection closed for inactivity)
00:31:32*lritter quit (Quit: Leaving)
00:32:29*beomus[m] joined #nim
00:33:32*beomus[m] left #nim (#nim)
00:36:14*oddp quit (Ping timeout: 240 seconds)
00:45:22FromGitter<timotheecour> @leorize
00:45:49FromGitter<timotheecour> > @timotheecour how does your testament batching thing works? ⏎ > is it windows-only and how many splits can it do? ⏎ ⏎ PR should have all the context; it [https://gitter.im/nim-lang/Nim?at=5f0122bdec4a341bee0a28f8]
00:46:27FromGitter<timotheecour> it’s not windows specific, and in fact i merged a 2nd PR that used it also for openbsd; it doesn’t hardcode number of splits
00:50:17leorize[m]is it documented?
00:50:33leorize[m]shashlick: ^ potential way to do nighttest on arm
00:59:46shashlickat least arm64 we can run natively on travis, if that's what they are doing
00:59:55shashlicki didn't go that far
01:00:14shashlickarmv7l and linux i686 are left behind as well
01:04:36leorizethe testament batch thingy lets you split the load to multiple tasks
01:04:56leorizeI'm tuning up the main CI based on what I learned when creating nightlies
01:05:37*fredrik92 quit (Ping timeout: 264 seconds)
01:35:01*krux02_ quit (Remote host closed the connection)
01:40:10*NimBot joined #nim
01:43:42*chemist69 quit (Ping timeout: 256 seconds)
01:45:32*chemist69 joined #nim
02:05:56*vicfred joined #nim
02:22:32*PMunch quit (Quit: leaving)
02:24:41*vr0n joined #nim
02:32:23*muffindrake quit (Ping timeout: 244 seconds)
02:34:51*muffindrake joined #nim
02:41:16*endragor joined #nim
02:46:29*pbb quit (Remote host closed the connection)
02:47:45*pbb joined #nim
02:53:16*laqq3 quit (Ping timeout: 246 seconds)
02:58:37FromDiscord<Elegant Beef> can the field pairs be used to set the values on the object?
03:00:18FromDiscord<Elegant Beef> ah dont even need fieldpairs it seems 😄
03:07:23*opal quit (Ping timeout: 240 seconds)
03:11:40FromDiscord<Elegant Beef> Should note for the lurkers, just fields works and if on a mutable object can be set apparently 😄
03:17:30FromDiscord<Elegant Beef> Also i'm amazed how compact that solution is
03:17:32FromDiscord<Elegant Beef> https://hatebin.com/ubcbqomlme
03:21:50*opal joined #nim
03:24:52*muffindrake quit (Quit: muffindrake)
03:32:21FromDiscord<Zed> lol hatebin
03:45:16*muffindrake joined #nim
03:52:23*opal quit (Ping timeout: 240 seconds)
03:59:09*laqq3 joined #nim
04:06:02*supakeen quit (Quit: WeeChat 2.8)
04:06:28*waleee-cl quit (Quit: Connection closed for inactivity)
04:06:42*supakeen joined #nim
04:07:55*opal joined #nim
04:11:43*solitudesf joined #nim
04:19:40*audiophile joined #nim
04:33:49*laqq3 quit (Ping timeout: 264 seconds)
04:48:34*dddddd quit (Ping timeout: 260 seconds)
05:35:32*marnix joined #nim
05:43:22*vikfret joined #nim
05:56:34*audiophile quit (Quit: Default Quit Message)
06:06:48*vr0n quit (Ping timeout: 244 seconds)
06:07:25*marnix quit (Ping timeout: 264 seconds)
06:42:17*kenran joined #nim
06:44:24shashlickany macro experts know how to get {.push.} to work with 3rd party pragmas
06:44:53shashlickmy macro works as a pragma when used in context but not with {.push.}
06:46:17FromGitter<tim-st> is there a datetime type in stdlib that uses 8 bytes memory only? times.DateTime is 104bytes while uint64(2020_05_12_13_06_01) is only 8 bytes :\
06:46:56FromGitter<timotheecour> shashlick this may require compiler support to support that (see also https://github.com/nim-lang/Nim/pull/14904#issuecomment-653848460)
06:46:57disbot➥ 3Fix #2408 - add -d:globalSymbols
06:49:59shashlickoh so user macros cannot be used in {.push.}?
06:50:44FromGitter<timotheecour> try and see :)
06:51:24shashlickdoesn't work for me
06:52:22FromGitter<timotheecour> @leorize ⏎ ⏎ > *<leorize[m]>* is it documented? ⏎ ⏎ documentation for that could for sure be improved; see https://github.com/nim-lang/Nim/pull/14823 for a description for now (and feel free to send a PR to document it if you have time) [https://gitter.im/nim-lang/Nim?at=5f0178a5c223cc536a5573f9]
06:52:23disbot➥ 6testament: generic N-fold batching: windows CI 37mn=>16m
07:06:19shashlickpushed pragmas also don't show up in macros - e.g. {.push cdecl.} is not provided to my custom pragma which is attached to a proc
07:07:30*notandinus quit (Quit: be back in a minute)
07:09:04shashlickif the params are typed they show up but then i cannot modify the ast anymore
07:09:57*team\andinus joined #nim
07:11:16*team\andinus is now known as notandinus
07:11:35*marnix joined #nim
07:19:24*kenran quit (Ping timeout: 256 seconds)
07:25:22*pietroppeter joined #nim
07:25:49shashlick@leorize - lazylib v0.1 is ready to go
07:26:42shashlickmodified pcre.nim to use lazylib instead of dynlib and ran re.nim tests in tre.nim - all pass
07:27:14shashlickbut {.push.} and {.pragma: xyz.} shortcuts don't work
07:33:14*ZORR0W joined #nim
07:34:17*ZORR0W quit (Client Quit)
07:34:33*ZORR0W joined #nim
07:36:24*ZORR0W quit (Client Quit)
07:40:17FromDiscord<Varriount> What's lazylib?
07:41:27shashlick@Varriount: started with https://github.com/nimterop/nimterop/issues/217
07:41:28disbot➥ 3Allow shared libraries to be loaded at run time instead of at load time
07:41:38shashlickbut @leorize suggests making it a part of Nim itself
07:41:56shashlickright now, i've made it with macros so it can be a standalone package
07:42:08shashlickbut it has some limitations, hopefully we can figure it out with some help
07:42:18shashlickmaking a repo for community review
07:43:17FromDiscord<Varriount> What's the benefit?
07:43:49shashlickbasically automating the use of the dynlib module
07:45:21shashlickhttps://irclogs.nim-lang.org/19-05-2020.html#03:06:16 is some context
07:46:21FromDiscord<Yardanico> Maybe Fusion then? :P
07:49:54shashlickyep that's the goal
07:50:09shashlicklet's see if it meets the quality
08:02:27Yardanico!status
08:02:28FromDiscordUptime - 2 days, 1 hour, and 44 minutes
08:09:02shashlick@leorize - https://github.com/genotrance/lazylib
08:10:55FromDiscord<Varriount> Shashlick: From the linked GitHub thread:
08:11:06FromDiscord<Varriount> > The developer of the nim c wrapper does not have to make assumptions about what the version of the library is installed at run time.
08:11:33FromDiscord<Varriount> Isn't that what the DLL pragma's pattern matching is for?
08:12:05shashlickyes but if a symbol is missing, it will still fail at startup
08:12:45shashlickyou cannot have code that checks if symbol is present and work around if it isn't
08:12:55shashlickor limit functionality, notify the user or anything
08:13:41FromDiscord<Shucks> Did anyone tried to combine nimassets with dynlib yet? Could that work?
08:14:03shashlicknope
08:14:07shashlickwith lazylib it will work
08:14:20FromDiscord<Varriount> Ah, and if you use dynlib, you have to supply a specific path?
08:14:42shashlicknimdeps is another package like nimassets
08:15:13shashlickno it just searches standard system path, but also accepts a relative or full path
08:15:28FromDiscord<Varriount> But doesn't do pattern matching
08:15:34shashlickunderlying code still calls dlopen or whatever
08:15:45shashlickyes that's right
08:16:05shashlickactually dynlib can do pattern matching if specified
08:16:07shashlickas can lazylib
08:16:21FromDiscord<Shucks> so combining nimassets with lazylib? That way I don't have to serve the libraries with the binary anymore?
08:16:36shashlickyep, you can extract it then load it
08:16:46FromDiscord<Shucks> interesting! thanks
08:41:58Oddmongersome of you could be interested in https://www.handmade-seattle.com/
08:45:57Oddmongeroh, i thought it was free event (as online), sorry
08:53:21*dddddd joined #nim
08:55:38FromDiscord<Shucks> Could koch update to the latest release build? Im to lazy to download gcc again and setup the env's again ;p
09:03:37*drewr quit (Ping timeout: 260 seconds)
09:05:22*drewr joined #nim
09:14:22*pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
09:15:49*pbb joined #nim
09:28:46*marnix quit (Ping timeout: 246 seconds)
09:33:45*nikita` joined #nim
09:33:45*nikita` quit (Changing host)
09:33:45*nikita` joined #nim
09:37:02*nikita` quit (Client Quit)
09:39:22*oddp joined #nim
09:48:24FromDiscord<Shucks> where can I download older nim release builds?
09:49:55*kenran joined #nim
09:54:40*kenran quit (Ping timeout: 246 seconds)
09:59:09OddmongerShucks: if you are on linux, there are (at least for archlinux) the option to downgrade packet, but it will replace current by default
09:59:50Oddmongerhttps://wiki.archlinux.org/index.php/Arch_Linux_Archive
10:02:16FromDiscord<Shucks> Naw, im on Windows
10:07:55Oddmongermay be checkout a version with git, and compile it ? But i'm not sure (with tags ?)
10:13:04FromDiscord<Shucks> Downloads aren't deleted on the main page. You can just change the version number. e.g.: `https://nim-lang.org/download/nim-1.2.4_x64.zip`
10:13:13FromDiscord<Shucks> `https://nim-lang.org/download/nim-1.2.2_x64.zip`
10:17:18*marnix_ joined #nim
10:19:34Oddmongerlatest stable nim is 1.0.7 ?
10:19:57Oddmongeri see this with «git nim stable» on disruptek git
10:21:00*chemist69 quit (Ping timeout: 244 seconds)
10:22:07*chemist69 joined #nim
10:40:35*Vladar joined #nim
10:43:27*fredrik92 joined #nim
10:44:41*fredrik92 is now known as fredrikhr
10:55:10*pietroppeter quit (Quit: Connection closed for inactivity)
11:11:07FromGitter<bung87> any port of rxjs like lib?
11:14:16FromDiscord<Yardanico> @Oddmonger no
11:14:22FromDiscord<Yardanico> Latest stable Nim is 1.2.4
11:14:41FromDiscord<Yardanico> 1.0.7 is a devel version, you can see that by the odd patch number
11:14:53FromDiscord<Yardanico> Same reason why current devel is on 1.3.5
11:15:31*marnix_ quit (Ping timeout: 246 seconds)
11:23:52FromDiscord<Vindaar> can someone enlighten me as to how nimble chooses which version of a package it installs? should be the latest tagged one, but apparently that doesn't always work? can someone check which version of arraymancer is installed for you with a simple `nimble install arraymancer`?
11:28:24solitudesf0.5.2
11:28:50FromDiscord<Vindaar> oh, I think I figured out what the problem is. It might check for the latest tag, but the version information shown to the user is of course what's written in the nimble file at the time the tag was created
11:28:57FromDiscord<Vindaar> thanks!
11:29:35FromDiscord<Vindaar> in case of arraymancer the nimble file was updated after the version was tagged
11:31:16FromDiscord<Vindaar> @mratsim ^
11:56:19*vikfret quit (Quit: Leaving)
12:00:10*tane joined #nim
12:06:02*supakeen quit (Quit: WeeChat 2.8)
12:06:39*supakeen joined #nim
12:26:58*marnix_ joined #nim
12:29:34*Vladar quit (Quit: Leaving)
12:40:01*marnix__ joined #nim
12:42:49*marnix_ quit (Ping timeout: 264 seconds)
12:45:08*marnix___ joined #nim
12:48:24*marnix__ quit (Ping timeout: 256 seconds)
12:49:11Oddmongerdisruptek: thank you for gitnim, very handy. So , except doing « git nim <version> », there's nothing to do for having a full nim env ?
12:49:40Oddmongernothing _else_ to do… i mean
12:54:18*marnix joined #nim
12:56:14*marnix___ quit (Ping timeout: 240 seconds)
13:00:49*marnix quit (Ping timeout: 264 seconds)
13:02:15FromDiscord<Yardanico> It's like pacman when there are no updates
13:02:28FromDiscord<Yardanico> "there's nothing to do" :(
13:05:53Oddmongerwell i've tried this one because of pacman, yes
13:10:24*lbart quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
13:24:49*fanta1 joined #nim
13:26:29FromGitter<bung87> https://github.com/bung87/rxnim/blob/master/src/rxnim/observable.nim
13:26:40FromGitter<bung87> I got `Error: type mismatch: got <proc (subscriber: Subscriber[system.int]){.closure.}> but expected 'proc (subscriber: Subscriber[system.any]){.closure.}'`
13:27:27FromGitter<bung87> but I dont specify any params as `Subscriber[system.any]`
13:36:34*dddddd quit (Ping timeout: 256 seconds)
13:39:16disruptekOddmonger: nothing else to do.
13:39:32disruptekit's just git.
13:40:21disruptekyou are encouraged to hack it, though.
13:42:25*krux02 joined #nim
13:44:06disruptekwho wants an arc bug?
13:47:11Zevvno thank you, I'm good
13:48:50disruptekZevv: you have a bad attitude.
13:49:02disrupteki really dig that about you.
13:54:33FromDiscord<Yardanico> @disruptek report arc bugs please :) there's a a few regressions after the scoped PR but it's all good
13:54:50Oddmongerwhat is an arc bug ?
13:54:56Oddmongerarchitecture ?
13:56:19Zevvdisruptek: I'm totally done with this Nim shit. I'm the Go man now
13:56:39*marnix joined #nim
14:00:52FromDiscord<Yardanico> @Oddmonger ARC as in --gc:arc
14:01:19FromDiscord<Yardanico> https://youtu.be/aUJcYTnPWCg to quickly catch up
14:01:41FromDiscord<Yardanico> And https://forum.nim-lang.org/t/5734 but read the comments too, the top post is outdated
14:03:14Oddmongerthank you
14:05:05FromDiscord<lqdev> ok this is really cool https://play.nim-lang.org/#ix=2qXk
14:05:14FromDiscord<lqdev> like, I knew that fieldPairs unrolls the loop
14:05:24FromDiscord<lqdev> but the fact that the field name is a static string is really useful
14:05:29FromDiscord<lqdev> for some magic that I'm about to do
14:06:59disruptekerror[E0723]: heap allocations are not allowed in const fn
14:07:02*marnix_ joined #nim
14:07:59disruptekgo's strengths become its weaknesses.
14:08:26disruptekat least rust has legs.
14:09:42*someunknownuser joined #nim
14:10:25*marnix quit (Ping timeout: 264 seconds)
14:11:42*marnix_ quit (Ping timeout: 256 seconds)
14:12:24*marnix joined #nim
14:19:35FromDiscord<lqdev> anyone knows why this limitation exists? https://play.nim-lang.org/#ix=2qXo
14:19:45FromDiscord<lqdev> my guess is that the parser doesn't know how to handle this case
14:20:28*vsantana joined #nim
14:27:42FromDiscord<Rika> My guess is that it's not a symbol that needs stropping
14:28:40Yardanico@Rika but that works for procs
14:28:46Yardanicoor for other symbols
14:29:03Yardanico!eval let `lol` = 5; echo `lol`
14:29:06NimBot5
14:29:14FromDiscord<lqdev> also, it doesn't work with this
14:29:25FromDiscord<lqdev> !eval echo (`..`: 1, `+`: 2)
14:29:27NimBotCompile failed: /usercode/in.nim(1, 11) Error: named expression expected
14:30:09Yardanico!ping
14:30:09NimBotpong
14:30:11Yardanico!lag
14:30:11NimBot10ms between me and the server.
14:30:18FromDiscord<lqdev> oh, and also
14:30:23FromDiscord<lqdev> it works with exactly one field
14:30:29FromDiscord<lqdev> !eval echo (`a`: 1)
14:30:31NimBot(a: 1)
14:30:32Yardanicolol
14:30:33*vsantana quit (Ping timeout: 244 seconds)
14:30:52FromDiscord<lqdev> sounds like a bug
14:31:14Yardanicoopen an issue
14:31:23FromDiscord<Rika> sounds like a bug yes
14:31:25Yardanicobtw we have 1685 issues open :P
14:32:22Yardanicoalso is it indended that almost no one labels issues nowadays?
14:32:39Yardanicolike half of newer issues aren't labeled
14:34:02*waleee-cl joined #nim
14:34:48*Vladar joined #nim
14:34:54*Vladar quit (Remote host closed the connection)
14:43:47FromDiscord<Shucks> ;o