<< 03-06-2019 >>

00:00:32*deech joined #nim
00:30:33FromGitter<kayabaNerve> What's an ObjectAssignmentError>?
00:30:40FromGitter<kayabaNerve> I just got one at runtime.
00:30:54FromGitter<kayabaNerve> Better question. Should I report ObjectAssignmentErrors?
01:49:02*deech_ joined #nim
01:49:02*deech quit (Read error: Connection reset by peer)
02:13:36*Tongir joined #nim
02:15:21leorize[m]shashlick: I saw nodejs, will never support :p
02:17:09leorize[m]looks like it's not too hard to add nim.nvim as a completion source for this
02:17:36leorize[m]the functions needed are already exposed
02:34:00*deech joined #nim
02:43:22*sealmove quit (Quit: WeeChat 2.4)
02:49:41FromDiscord_<Enki> What happens if I import two libraries that each export a function with the same name and type signature?
02:51:36leorizequalification will be required
02:51:57leorizethe compiler will tell you to either use modulea.func or moduleb.func
02:57:54*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
03:10:53*deech quit (Ping timeout: 245 seconds)
03:14:29*chemist69 quit (Ping timeout: 252 seconds)
03:16:35*chemist69 joined #nim
03:20:01FromDiscord_<Enki> Ah, alright
03:26:57shashlick@leorize nice
03:55:17*dddddd quit (Remote host closed the connection)
04:10:50*nsf joined #nim
04:47:34leorizestill, I'm not gonna support that plugin inside nim.nvim, it has to be an external one (part of nim.nvim design is to not depend on other plugins)
04:48:18leorizeif anyone is interested in adding support for that, I can help, but I'm definitely not gonna run nodejs on my machines :P
05:00:46*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
05:06:07*Senketsu quit (Quit: WeeChat 2.4)
05:17:57*laaron joined #nim
05:20:18*narimiran joined #nim
05:34:36*rayman22201 joined #nim
06:07:02*solitudesf joined #nim
06:30:02*marcazar quit (Read error: Connection reset by peer)
06:30:41*marcazar joined #nim
06:36:49*marcazar quit (Quit: Leaving)
06:42:20*Vladar joined #nim
06:48:51*clyybber joined #nim
07:04:40*krux02 joined #nim
07:04:44*gmpreussner joined #nim
07:13:04*Tongir quit (Ping timeout: 248 seconds)
07:25:31*PMunch joined #nim
07:30:39PMunchfederico3, I'm looking at creating a website with user logins for work and remembered that you had written nim-httpauth. It looks really solid, but this system will authenticate users with an existing Active Domain Radius server, so no registration and such. But it will keep a table of users (the people that have used their login and done something on the service). Would this be possible at all with nim-httpauth?
07:32:07PMunchI basically have a procedure "radiusauthenticate(username, password: string): bool" that I can run to check if a users log-in is correct, and I want to use that for the authentication, but use the session cookies and such from nim-httpauth
07:38:10*solitudesf quit (Ping timeout: 272 seconds)
07:39:10Araqping shashlick
07:41:57*uvegbot quit (*.net *.split)
07:41:57*zielmicha__ quit (*.net *.split)
07:41:57*snowolf quit (*.net *.split)
07:41:57*zielmicha[m]1 quit (*.net *.split)
07:41:57*planetis[m] quit (*.net *.split)
07:41:57*k0mpjut0r quit (*.net *.split)
07:41:58*Connor[m] quit (*.net *.split)
07:41:58*dvn quit (*.net *.split)
07:41:58*Summertime quit (*.net *.split)
07:41:58*shodan45 quit (*.net *.split)
07:44:06*krux02_ joined #nim
07:44:20*rayman22201 quit (Quit: Connection closed for inactivity)
07:47:17livcdPMunch: i have a similar need but with Active Directory :)
07:47:44*krux02 quit (*.net *.split)
07:47:44*enthus1ast quit (*.net *.split)
07:47:44*noonien quit (*.net *.split)
07:47:44*oz quit (*.net *.split)
07:47:44*Miguelngel[m] quit (*.net *.split)
07:47:44*gh0st[m] quit (*.net *.split)
07:47:45*cybj quit (*.net *.split)
07:47:45*beatmox quit (*.net *.split)
07:47:45*tribly quit (*.net *.split)
07:49:35*couven92 joined #nim
07:52:42*enthus1ast joined #nim
07:52:42*noonien joined #nim
07:52:42*oz joined #nim
07:52:42*Miguelngel[m] joined #nim
07:52:42*gh0st[m] joined #nim
07:52:42*cybj joined #nim
07:52:42*beatmox joined #nim
07:52:42*tribly joined #nim
07:53:08*cybj quit (Max SendQ exceeded)
07:53:19*uvegbot joined #nim
07:53:19*zielmicha__ joined #nim
07:53:19*snowolf joined #nim
07:53:19*zielmicha[m]1 joined #nim
07:53:19*planetis[m] joined #nim
07:53:19*k0mpjut0r joined #nim
07:53:19*Connor[m] joined #nim
07:53:19*dvn joined #nim
07:53:19*Summertime joined #nim
07:53:19*shodan45 joined #nim
07:53:56*cybj joined #nim
08:01:29leorize[m]PMunch: you can roll your own :p it's not that complex
08:12:42PMunchlivcd, this is with Active Directory, I just forgot the name :P
08:12:57PMunchleorize[m], yeah I know, but it's always good to use something that already exists
08:13:09PMunchOh well, I'll be away for a short while
08:13:11*PMunch quit (Remote host closed the connection)
08:21:12*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
08:21:35*laaron joined #nim
08:23:26Mister_Magisterhello nim 1.19.6 doesn't contain .sample method in seq
08:26:27*Mister_Magister tries not to mention choosenim again to not confuse people
08:26:40*Mister_Magister 's english broke
08:26:58narimiran`sample` is in `random` module
08:27:29Mister_Magisteri do import it
08:27:53*floppydh joined #nim
08:28:33narimiranyep, there is no `sample` in 0.19.6
08:29:01narimiranyou use `random` in 0.19.6 for that
08:29:16Mister_Magisterso instead of .sample i use .random?
08:29:44narimiranwell, `rand`: https://nim-lang.org/docs/random.html#rand%2CRand%2CopenArray[T]
08:30:04leorizesoon with 0.20, you'll not get confused like this anymore :p
08:30:30Mister_Magisterso .4 had sample and .6 doesn't? is that correct?
08:30:42narimiranit isn't
08:31:23Mister_Magisteroh
08:31:31Zevvleorize: why no confusion with 0.20 anymore?
08:31:31Mister_Magisteri was just using .sample
08:31:37Mister_Magisterdunno on which version
08:31:51narimiranZevv: because docs will point to stable version, not to devel version
08:31:58Mister_Magisterholy moly i finally compiled my app on sailfishos :o
08:32:35livcdNim app ? :-O
08:32:45Mister_Magisterye
08:33:03leorizesailfish :D
08:33:16leorizethe only os with a reasonable app dev env
08:33:29Mister_Magisterwhoa thanks for nice words
08:34:04Mister_Magisterand we found with federico3 bug in opensuse nim package and they fixed it already
08:34:11*Mister_Magister i am gut boi trying to help
08:34:41leorizetoo bad they don't have N9-level phone around anymore
08:34:47leorizethe jolla ones look terrible
08:34:51Mister_Magisterleorize: f(x)tec pro1?
08:35:39leorizethe e7 have a much better layout though :/
08:36:07Mister_Magisterwell but still
08:36:23leorizeI wonder where are all those old Nokia designers
08:36:30Mister_Magisterpro1 is quite nice phone
08:36:34Mister_Magistern9ish
08:36:47Mister_Magisterleorize: at jolla lol
08:37:02*stefanos82 joined #nim
08:37:15leorizeugh, the phone they put out is even worse than a 808 design-wise
08:37:51leorizehaving used n9 and e7, I would say no phone can ever come close :p
08:38:08Mister_Magisterleorize: you could give pro1 a chance
08:38:09Zevvgemini!
08:38:10Mister_Magisterit's trying
08:38:15Mister_Magistergemini sucks
08:38:20Mister_Magisterand is nowhere near pro1 level
08:38:25Zevvdo you own one?
08:38:38leorizesporting a pixel 2 xl atm :p
08:38:40Mister_Magisterpro1 yep and i had used gemini for short while
08:38:47Mister_Magistergemini's keyboard is worse than screen keyboard
08:39:00leorizeI hope that something better will pop out once my pixel is gone
08:39:06Mister_Magisterscreen keyboard gives you vibrations feedback. gemini gives none. you don't know if you clicked it or not
08:39:23Mister_Magisterleorize: really gib pro1 a look and chance :P keyboard is super dope
08:40:32ZevvI'll check that out to. I'm carrying a gemini for over a your now and wouldn't want to miss it. The kb is indeed kind of shitty, but very usable if you give it some time to get used to.
08:42:19ZevvMister_Magister: where did you get the pro1 then, it's not released yet, is it?
08:42:38Mister_Magisteryep
08:42:43Mister_MagisterZevv: guess further
08:42:48leorizethe pro1 keys looks like that of a cheap remote. I don't know if it's due to their rendering or not
08:43:03Mister_Magisterleorize: oh no no i can assure you they aren't like that
08:43:25leorizeI hope for keys that looks as decent as this: https://cdn1.tnwcdn.com/wp-content/blogs.dir/1/files/2011/02/d9455_nokia-e72.jpeg
08:44:16leorizeMister_Magister: you need to pimp up your rendering then :p
08:44:33Mister_Magisterthat's not my rendering xd
08:45:10Mister_Magisterleorize: i don't know how to compare them to you
08:45:29*Mister_Magister mystery is that this boi along with 2 other bois are porting sfos to it
08:45:41leorizetake me a pic of that keyboard lol
08:45:58leorizethe ones on their website have different keyboard rendering for each pics
08:46:11Mister_Magisteroki
08:46:24*Mister_Magister goes to conversation with CEO
08:47:10Mister_Magisterwait i'm unsure if i can do it
08:47:11Mister_Magisterxd
08:47:15leorizelol
08:47:57leorizeI'm gonna search for real life images online of that phone then
08:47:58Mister_Magisterleorize: if i won't forget i will send u
08:48:47Mister_Magisterleorize: https://pbs.twimg.com/media/D7M5sbKXoAEra0b.jpg:large
08:48:48Mister_Magisterlike dis?
08:49:09leorizeyea
08:49:27Mister_Magisteror dis https://pbs.twimg.com/media/D6dek8PWwAEh97s.jpg:large
08:49:32Mister_Magisterplenty on fxtec twitter
08:49:36Mister_Magisterhttps://twitter.com/thefxtec
08:50:44leorizeI still love the e7 keys more :p
08:51:07Mister_Magister:P
08:51:16Mister_Magisterleorize: just saying there is fresh option ;)
08:51:36leorizeyea :) will consider if I ever get a new phone
08:51:41Mister_Magisterkek
09:05:49FromGitter<alehander42> @dom96 https://github.com/nim-lang/nimble/pull/650 this guy did put a lot of work in a cool idea
09:05:59FromGitter<alehander42> it would be sad to lose him as a potential contributor
09:06:26FromGitter<alehander42> does his pr need just some more test fixes? i can try to take a look
09:08:35Mister_Magister@alehander42 poor pr
09:08:36leorizenarimiran: in case you haven't seen this: https://dev.azure.com/alaviss/Nim/_build/results?buildId=123&view=ms.vss-test-web.build-test-results-tab
09:08:52leorizeI've got all of the current CIs on azure :)
09:09:04narimiranleorize: i haven't :)
09:09:20narimiranthis looks quite nice!!
09:10:18narimirani still have some trouble navigating there, but that is due to inexperience with pipelines
09:10:23Mister_Magisternext step would be to connect nim and qml and make bindings to couple of mer libs
09:10:34Mister_Magisterand i could possibly make full gui app in nim for sfos
09:10:41FromGitter<alehander42> Mister_magist i haven't looked a lot at it, but it seems like it has good tests, and ok impl
09:10:46leorizenarimiran: osx breezed through in 23m :)
09:11:04leorizetheir OSX VMs got 4 cores!
09:11:11FromGitter<alehander42> can't really imagine what is poor about it
09:11:19Mister_Magister@alehander42 just looks like cool idea and loosing pr just because tests are failing is saad
09:11:37Mister_Magisternot poor as lacking but poor as poor thing
09:11:42FromGitter<alehander42> ahh
09:11:50FromGitter<alehander42> it seems just two prompt tests are failing
09:11:58FromGitter<alehander42> maybe they're just blocking for input
09:12:02FromGitter<alehander42> or something
09:12:02Mister_Magisterenglish doesn't have separate word for that ;-;
09:12:07leorizeMister_Magister: there's already some work on nim -> qml
09:12:10FromGitter<alehander42> yeah yeah i get it :D
09:12:23Mister_Magisterleorize: ye ye i've seen it
09:12:28Mister_Magistergotta check it out
09:12:55Mister_Magistersfos is fully written in qml with silica as gui qml lib
09:13:11leorizewell, but if you know Nim, you'd write a macro to replicate Qt's MOC and enjoy a middleware-less interop
09:13:15narimiranleorize: test all the things on osx :))
09:13:23*Mister_Magister adds nim as part of branding to his ports >:D
09:13:58leorizeafaik crystal have their own metaprogramming version of MOC for their Qt bindings
09:14:23leorizeI looked at qml because it seems to be the only way to do GUI on Android without java
09:15:10leorizenarimiran: :p
09:15:36Mister_Magisterporting game engines to sfos is fun as you take linux target and android libs and tell them to make kids
09:20:05*leorize_ joined #nim
09:22:31*luis_ joined #nim
09:23:04*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
09:24:02*laaron joined #nim
09:24:07*leorize quit (Ping timeout: 256 seconds)
09:24:50*leorize_ is now known as leorize
09:26:43dom96alehander42: yeah, please take a look if you can
09:27:03Araqdom96, btw Nimble is blocking the release
09:27:16Araqhttps://github.com/nim-lang/nimble/issues/655
09:27:29dom96Waiting on andreaferretti to confirm that his issues are fixed
09:27:39Araqthe commit message claims to fix that but I fail to see how that commit fixes the exitcode
09:27:45dom96That's been fixed
09:27:51Araqwhere?
09:27:57Araqand it's still open.
09:28:37Araqand don't forget that we need a version tag otherwise we will ship a broken Nimble with Nim
09:32:39stefanos82leorize: how about porting boden framework to Nim?
09:33:24stefanos82it's a C++ cross compile framework that lets you build Android and iOS apps
09:33:31stefanos82https://github.com/AshampooSystems/boden
09:33:33leorizeooooh
09:33:59*luis_ quit (Ping timeout: 252 seconds)
09:34:06stefanos82*cross-platform framework
09:34:20livcdthat looks hot :O
09:35:01stefanos82yep, thanks to github's trending I have discovered incredible projects so far!
09:45:21livcdi also find weird but interesting projects
09:45:28livcdbut sometimes in languages i dont understand :O
09:48:36*krux02_ is now known as krux02
09:56:56*PMunch joined #nim
10:00:44PMunchWell that took longer than expected
10:00:55*laaron quit (Remote host closed the connection)
10:03:30*laaron joined #nim
10:05:50Araqdo we want this https://github.com/nim-lang/Nim/pull/11382 for 0.20 ?
10:07:28*luis_ joined #nim
10:07:58leorizeI'd say yes, but I'm the author :p
10:12:10FromGitter<alehander42> araq
10:12:13FromGitter<alehander42> can we somehow detect
10:12:16FromGitter<alehander42> a pragma is never used
10:12:25FromGitter<alehander42> before starting the cgen pass
10:12:50FromGitter<alehander42> e.g. i want to have {.e.} enable stuff on file to file basis
10:13:06FromGitter<alehander42> but if it's not used i want to just enable stuff everwyehre
10:13:13PMunchUgh, that feeling when you realise that the thing you worked on for a full day was all stored in /tmp..
10:15:51*luis_ quit (Remote host closed the connection)
10:18:01*luis_ joined #nim
10:18:24dom96Araq: I can tag it tonight, i'd also like to give merging my PR a go (I need to fix it on Windows)
10:19:05*luis_ is now known as lf-araujo
10:19:27*lf-araujo quit (Client Quit)
10:20:08*laaron quit (Remote host closed the connection)
10:21:36*laaron joined #nim
10:25:48Mister_Magisterdoing more good for nim. i just submitted patch to compile nim for arm and arm64 on opensuse :P
10:30:28*laaron quit (Remote host closed the connection)
10:30:52*laaron joined #nim
10:38:48*solitudesf joined #nim
10:49:41*Vladar quit (Remote host closed the connection)
10:51:05Araqdom96, can you explain to me how it was fixed?
10:54:13dom96read the PR https://github.com/nim-lang/nimble/pull/661
10:54:25AraqI did
10:54:39Araqhow does the error message affect the *exit code*?
10:55:22dom96https://github.com/nim-lang/nimble/blob/master/src/nimblepkg/common.nim#L53
10:55:33dom96search where that's called and you'll see
10:55:54Mister_Magisterleorize: lel i actually would have to send my photo to CEO who would send it to PR guys who would have to agree that i can send it here to you because they don't want to make people think that product has some defect while it's still only engineering sample
10:57:11leorize[m]you shouldn't have to go through all that trouble :p turns out there are pics on the 'net
11:00:14Mister_Magisteryee
11:00:23Mister_Magisteri sent u twitter so :P
11:08:36*xet7 joined #nim
11:11:12*Tongir joined #nim
11:13:38*sealmove joined #nim
11:19:06Araqdom96, too lazy, I trust you.
11:20:01*deech__ joined #nim
11:32:01*leorize quit (Remote host closed the connection)
11:32:47*leorize joined #nim
11:43:14*Snircle joined #nim
11:49:32*Tyresc joined #nim
11:58:23*elrood joined #nim
12:07:03dsuchI am reading the docs for Nim's GC and there is one thing I wonder about. If stack-based variables are not tracked by the GC then does it not cause any issues if stack and heap variables are mixed, e.g. a heap variable keeps a reference to a stack one or the other way around?
12:07:07dsuchhttps://nim-lang.org/docs/gc.html
12:08:25PMunch@xmonader, you around?
12:12:01*Vladar joined #nim
12:15:48Mister_Magistermuch nim much multiplatform https://build.opensuse.org/request/show/707170
12:17:48federico3Mister_Magister: see https://buildd.debian.org/status/package.php?p=nim
12:18:40Mister_Magisterfederico3: meh
12:18:46Mister_Magistersuse > debian
12:19:33Mister_Magisterlet's make nim for hurd lel
12:24:48*lritter joined #nim
12:25:03*deech__ quit (Remote host closed the connection)
12:28:30Araqdsuch, they are tracked, but not via refcounting
12:32:27*couven92 quit (Quit: Client disconnecting)
12:33:10Araqand by construction pointers from the heap into the stack are unsafe (requires addr and ptr)
12:33:46Araqso only pointers from the stack into the heap need to be considered, the GC uses conservative stack scanning to do this
12:33:47*deech joined #nim
12:34:17deechWhat's the workflow for working on a bug in the dependency of a nimble package?
12:34:22PMunchHmm, is there a way of combining two ranges for a loop?
12:35:21lqdev[m]PMunch: custom iterator?
12:35:27PMunchHmm, yeah I guess
12:35:39PMunchI just wanted to check that there wasn't some obvious built-in way
12:36:27PMunchWell, a set can do non-overlapping sequences like {16..21, 25..30}
12:37:01PMunchBut what I wanted to do is {16..21, 21..16} which obviously doesn't work for a set
12:37:22PMunchAnd [16..21, 21..16] creates an array of two slices :P
12:37:29PMunchOr ranges rather
12:37:49lqdev[m]those are still Slices
12:38:43FromGitter<xmonader> @PMunch Hi I fixed the issues on on terminaltables :)
12:38:50PMunchNice :)
12:38:53narimiranwhat does 21..16 produce? :/
12:39:13lqdev[m]a Slice(min: 21, max: 16)
12:39:25lqdev[m]this is valid syntax, it just won't iterate correctly
12:40:57*dddddd joined #nim
12:42:42Araqon the contrary, it iterates correctly
12:42:48*rockcavera joined #nim
12:42:49*deech quit (Ping timeout: 252 seconds)
12:42:55Araqit's simply not a "backwards" slice or any such nonsense
12:43:07*zielmicha[m]1 quit (Ping timeout: 248 seconds)
12:43:15*zielmicha[m]1 joined #nim
12:44:11PMunchYeah, that doesn't work properly in Nim..
12:44:23PMunchOr rather it works as intended, but maybe not as expected
12:45:04PMunchI was essentialy trying to copy this bash snippet into Nim: for i in {16..21} {21..16} ; do echo -en "\e[48;5;${i}m${i} \e[0m" ; done ; echo
12:46:34*shodan45 quit (Remote host closed the connection)
12:50:42*shodan45 joined #nim
12:50:44*laaron quit (Remote host closed the connection)
12:53:17*laaron joined #nim
12:56:27*zielmicha__ quit (Ping timeout: 248 seconds)
12:57:47*shadowbane joined #nim
12:58:04*zielmicha__ joined #nim
13:00:09livcdwhat do I do when I need to format time like this ? yyyy_MM_dd
13:01:35livcddate
13:01:45narimiranlivcd: see https://nim-lang.github.io/Nim/times.html#parsing-and-formatting-dates below the table
13:02:15*Tongir quit (Ping timeout: 252 seconds)
13:03:26*Vladar quit (Remote host closed the connection)
13:05:59*deech joined #nim
13:09:56sealmoveis this correct: https://termbin.com/jxcy ? I get segfault.
13:13:12Araqaddr buffer[0]
13:13:52sealmovereally? wow, would never debug that
13:15:00Araqyeah, how can seq dare to have a header with length info. totally unlike Rust, C++, ... oh wait
13:17:49sealmovejust my lack of experience, of course i would struggle the same in any other language
13:18:38PMunchsealmove, sequences store the length of the data, the capacity of the buffer, and then a pointer to a buffer IIRC
13:19:16PMunchbuffer[0] would be the first element in the buffer, ie. the memory address of the start of the buffer
13:19:56*apodo joined #nim
13:21:44sealmoveyeah makes sense, just wouldn't cross my mind
13:22:27*krux02 quit (Read error: Connection reset by peer)
13:22:32*krux02_ joined #nim
13:28:52FromGitter<xmonader> @Araq do you have thoughts on odin-lang? https://www.reddit.com/r/programming/comments/bvxvrv/introducing_the_odin_programming_language
13:30:02*krux02_ quit (Remote host closed the connection)
13:30:42sealmoveSo many languages popping up. Yesterday I encountered https://www.kitlang.org/
13:31:00sealmoveCompiles to C like Nim does.
13:31:39sealmoveAlso written in Haskell, so you might like it xmonader ;D
13:32:03PMunchHere is a more thorough example of the seq data structure: http://ix.io/1KOv
13:33:20Araqxmonader: I have no opinion really. Usually these "better C" languages fail at being good for scientific computing (no operator overloading)
13:33:37FromGitter<alehander42> you can also try to debug it in gdb : easy to look at the C structure
13:33:39*Senketsu joined #nim
13:33:40FromGitter<alehander42> of seq-s etc
13:33:58*noonien quit (Ping timeout: 252 seconds)
13:35:50dsuchAraq: I see, thanks for the explanation.
13:36:49*solitudesf quit (Ping timeout: 246 seconds)
13:38:03FromGitter<xmonader> @sealmove i think all the language are converging into Haskell one way or another, and gaining success. except for haskell avoiding success at all cost
13:38:16sealmovePMunch: thx for the demo
13:38:56*noonien joined #nim
13:39:52*shadowbane quit (Remote host closed the connection)
13:40:12sealmovexmonader: Haha! Can't say I agree, languages should be abstract up to a point. After that point the abstractions are rarely practical/useful, understanding the compiler becomes increasingly more difficult etc.
13:40:30FromGitter<alehander42> thats why we have ocaml
13:40:41FromGitter<alehander42> havent even used it really i am such a pose
13:40:46FromGitter<alehander42> r
13:41:44FromGitter<xmonader> or reason :P
13:43:27sealmovedunno, they say ocaml is 50% functional - 50% procedural but to me it seems like 80-20, and I believe too much in keeping some classic procedural patterns.
13:43:32FromGitter<xmonader> @sealmove, Sure, but these days I can't really imagine using language with decent features (or maybe too many features)
13:43:55*shadowbane joined #nim
13:43:58sealmovexmonader: elaborate
13:44:11FromGitter<xmonader> without*
13:44:46FromGitter<xmonader> e.g sum types is one of the must have in any language imo. I dislike go for the amount of boilerplate is forces me to have away from focusing on the problem itself.
13:45:30FromGitter<xmonader> generics another example, did you try go generate? it's just annoying.
13:45:55leorizego have generics?
13:46:10PMunchNope
13:46:11FromGitter<xmonader> It doesn't, they plan (or have?) contracts
13:46:32PMunchThere was a push to include them, with lots of votes, but Google blocked it
13:46:46PMunchOr rather, Google decided it didn't want generics in its language
13:47:22FromGitter<xmonader> and then sure, generate couple thousand lines of code in kubernetes xD
13:48:34FromGitter<xmonader> odin addresses that and no gc. if there's something on the concurrency model it'd a good competitor (not in scientific computing maybe
13:48:54leorizePMunch: not because rob pike hates metaprogramming? :p (iirc)
13:49:32FromGitter<xmonader> @sealmove i saw specialize keyword and I bookmarked instantly :D
13:50:31leorizefree pascal have a keyword called `specialize` :p
13:50:42PMunchHaha leorize, can't say what their motivations were, but it made some people mad :P
13:51:18PMunchhttps://utcc.utoronto.ca/~cks/space/blog/programming/GoIsGooglesLanguage
13:51:22FromGitter<xmonader> yup exactly that's reason ^_^
13:51:48FromGitter<xmonader> it's such a fantasy to have nim in the lazarus IDE :D
13:52:00sealmovePMunch exactly, they specifically made that clear from the get go
13:52:09shashlick@Araq you pinged earlier
13:52:35shashlickDid you need any more clarification on the exit code fix?
13:53:00sealmovexmonader: what about languages like C#?
13:53:08shashlick@dom96 I can tag 0.10.1 but do we need a change log entry
13:53:21dom96yes
13:53:40dom96also, you need to tag 0.10.2
13:53:47dom96we follow Nim's versioning convention
13:55:05FromGitter<xmonader> @sealmove C# is convering into F# now :D
13:55:18narimiranshashlick: one minor point: when you fix some issue, when your commit message is "fixes issue #123", this issue is not automatically closed. the correct way is "fixes #123"
13:56:32sealmovexmonader: true, all things considered though it's not a bad choice if you don't care about low level (either C# or F#). It's featureful and concise enough.
13:58:05sealmoveOf course the new wave (Nim, Zig, Kit etc) is awesome, but none is stable atm :|
13:58:18Araqshashlick, yes it was about the Nimble tag
14:02:47FromGitter<xmonader> @sealmove: I never used Nim for `low level` stuff. I usually use a subset of Nim`that I know how to work with`
14:03:16FromGitter<xmonader> but definitely more experiments and research in the PL with these new langauges will benefit us all
14:08:45shashlickSounds good, I'll do it in an hour
14:09:25shashlickAny other high priority fixes in nimble before I do that?
14:09:47*Trustable joined #nim
14:11:08disrupteki'm having trouble answering the question, "Why Kit?" after reading kitlang.org.
14:12:02livcdomh no i broke github
14:12:05livcdsorry guys :D
14:15:48*theelous3_ joined #nim
14:20:53*mal`` joined #nim
14:24:40livcdhow should I check for the os error codes in exception ? not like this right ?https://glot.io/snippets/fctlfaroao
14:25:19livcdi am just using moveFile/copyDir
14:26:16leorizethe errors differ between OS though...
14:26:43livcdsure i care only about windows
14:27:18leorizeexcept OSError as e: e.errorCode
14:27:20leorize^ that's how
14:28:05leorizealso don't `cast`
14:28:13leorize183.OSErrorCode works
14:28:43leorizealthough it's better do document these as `const`
14:30:14livcdoh
14:31:07livcddoes not work for me
14:31:42leorizewhat are you trying to do?
14:32:05*deech quit (Remote host closed the connection)
14:32:13livcdjust to check if e.errorCode is 183
14:32:29*deech joined #nim
14:32:44leorizeis there any reproducible sample?
14:39:40Araqxmonader: isn't the evidence growing that languages are moving away from Haskell? CPUs stopped getting faster and so all the old ways with procedural programming are back
14:46:58FromGitter<xmonader> I'm not sure about that, e.g C# is pushing lots of the FP features from F#, lots of languages adapt fp patterns, e.g rust is crazy about it's maps and filters. Sure, proc languages map neatly to the machine I don't argue with that :)
14:47:24*clyybber quit (Quit: WeeChat 2.4)
14:47:27Araqmaps and filters are old stuff
14:48:14lqdev[m]I remember there was a proc for simple substitution of strings like `Hello, $1`, is it still a thing?
14:48:30lqdev[m]ahh, it's `strutils.%`
14:48:32Araqthe bigger things are immutable datastructures everywhere with their terrible cache behaviours and their terrible usability
14:49:27FromGitter<xmonader> rust, kotlin, scala, clojure from the top of my head
14:49:50*nsf quit (Quit: WeeChat 2.4)
14:50:32AraqRust's core datastructures are C++'s, not lazy lists
14:51:17FromGitter<xmonader> I meant as adapted in the language in immutable by default. not as in the inner data structure, in that case I only know of clojure
14:51:29FromGitter<arnetheduck> isn't it the other way around? fp is inherently thread-safe and easy to parallelize, and since we're getting more cpus, not faster ones, it makes sense to look for such optimizations?
14:52:15FromGitter<xmonader> that's why it fits perfectly with map/reduce patterns
14:52:43Araqthat's been claimed for 20 years now and in the end a cache miss costs 100 cycles and at the same time I don't have 100 CPU cores by now
14:53:18Araqif I optimize my code for N cores, I can get a speedup of N. If I reduce cache misses I get a speedup of 100.
14:53:46Araqof course, this is so hand-wavy that it makes me cringe I just said that :P
14:57:27*theelous3_ quit (Ping timeout: 244 seconds)
15:00:55*krux02 joined #nim
15:02:53livcdleorize: i was just trying this if e.errorCode == 183.OSErrorCode:
15:03:32leorizemaybe try printing the error code to see what exactly it is?
15:04:41livcdleorize: oops it already is int and it just works with if e.errorCode == 183:
15:04:59livcd¯\_(ツ)_/¯ thanks leorize
15:05:20*deech__ joined #nim
15:06:36FromGitter<arnetheduck> from a perf point of view, there's no denying that fp abstractions carry a cost because of the mismatch in terms of how computers actually work (mutably, that is).. however, if you also counted all the (man-)hours lost because of mutability bugs, the winner would not be as clear :)
15:08:18FromGitter<arnetheduck> 64 threads btw, even your hand-wavy argument is faltering :): https://www.amd.com/en/products/cpu/amd-ryzen-threadripper-2990wx
15:08:47PMunchWhy is this called flushFile and not simply flush? https://nim-lang.org/docs/system.html#flushFile%2CFile
15:09:00PMunchIt takes a File, so obviously it flushes a file..
15:11:13*PMunch quit (Remote host closed the connection)
15:11:20Araqarnetheduck: 64 threads on server-like hardware
15:12:03Araqand 100 cycles is closer to 200 in reality too, so ... still worth optimizing for cache first, for parallelism second
15:12:34Araqesp since you very rarely get a linear speedup, syncronization costs
15:14:07dsuchAraq: Does have any particular data-oriented features, e.g. data structures knowing how to correctly take advantage of cache lines, laying out information to minimize cache misses?
15:14:17dsuchAraq: I mean "Does Nim"
15:15:13*floppydh quit (Quit: WeeChat 2.4)
15:16:08Araqnah. You can quite easily do 'struct of arrays' with Nim's meta programming though
15:16:20FromGitter<arnetheduck> server-like? it says "desktop processor" explicitly..
15:16:52Araqwell ok, but my desktop isn't that machine
15:17:13Araqand phones also do not have it, maybe in 5 to 10 years
15:17:47leorizewell there'll be ryzen 9 with 16 cores :p
15:26:02livcdhmm i cant simply do getCreationTime(foopath) <= getTime() - 5.days right ? lol
15:28:26leorizeyou can? :p
15:28:39leorizeget a datetime, minus 5.days, then convert to unix time :p
15:28:54livcdcool
15:29:37leorizeI don't know if that's faster than converting creation time to date time :p
15:31:31*solitudesf joined #nim
15:35:32FromGitter<xmonader> @pmunch can't find a clean way to do runes, i'd rather to have something ⏎ ⏎ alias TableCharType = string of len 1
15:39:03FromGitter<xmonader> the other way would be keep it as a string and check that .len is 0 or 1 only
15:45:30FromGitter<arnetheduck> speaking of performance and memory, it's quite frustrating/embarassing that `mapIt` and `filterIt` and friends in the std lib produce seq:s..
15:50:49Araqas opposed to?
15:51:31FromGitter<arnetheduck> lazy eval / first-class iters
15:51:52*Vladar joined #nim
16:00:45*envoyt joined #nim
16:05:47*laaron quit (Remote host closed the connection)
16:06:08Araqfirst-class iters also allocate
16:08:12*laaron joined #nim
16:08:37*theelous3_ joined #nim
16:19:57FromGitter<arnetheduck> or not, if they're made in a sufficiently smart way
16:20:59FromGitter<arnetheduck> any good tree impls around in nim?
16:22:13FromDiscord_<kodkuce> how to share a tuple betwin 2 nin files, do i create same in both, or i create 3rd file and put tuple in it and import it in both file?
16:22:33leorizekodkuce: use objects
16:23:05FromDiscord_<kodkuce> i wanted to say object duno why i sed tuple
16:23:34FromDiscord_<kodkuce> i wanted to say object duno why i sed tuple, ok so i head to put * on end not infront
16:23:38leorizeyea, then having a types file is the way
16:23:53leorizeplease avoid editing msg on discord
16:24:02leorizeit will results in multiple msg on IRC
16:27:08FromDiscord_<kodkuce> sorry i frogot 😦
16:30:10*envoyt quit (Ping timeout: 272 seconds)
16:30:29*envoyt joined #nim
16:40:27*stefanos82 quit (Quit: Quitting for now...)
16:41:18*avsej quit (Ping timeout: 244 seconds)
16:42:19*oprypin quit (Ping timeout: 250 seconds)
16:44:02*oprypin joined #nim
16:44:02*avsej joined #nim
16:44:02*avsej quit (Changing host)
16:44:02*avsej joined #nim
16:46:39*theelous3_ quit (Ping timeout: 252 seconds)
16:54:44*deech_ quit (Ping timeout: 244 seconds)
17:24:06*nsf joined #nim
17:32:19*theelous3_ joined #nim
17:33:49FromGitter<alehander42> @arnetheduck zero_functional tries to solve this, but first class iters
17:33:55FromGitter<alehander42> are the right solution indeed
17:34:04*Vladar quit (Remote host closed the connection)
17:34:26FromGitter<alehander42> i also think it would be good to have them in one of the 1.x-s
17:34:29*Vladar joined #nim
17:34:38FromGitter<alehander42> forgot what are the blockers
17:45:59*Jesin quit (Quit: Leaving)
18:11:09*mal`` quit (Quit: Leaving)
18:12:03*mal`` joined #nim
18:19:45*d10n-work joined #nim
18:35:31Araqhow does "first-class"-anything work when you cannot pass it around freely?
18:36:20AraqI want mapIt etc to be macros that compile directly into the loop I would have written
18:36:58Araqnot some other ref-object-under-the-hood-shit that takes a PHD to optimize away
18:37:39*kungtotte joined #nim
18:39:01*couven92 joined #nim
18:56:39livcdhmm I dont get the project Catalyst (WWDC)
18:56:55*NimBot joined #nim
18:57:28*PMunch joined #nim
18:57:44shashlick@dom96 - https://github.com/nim-lang/nimble/pull/663 cc @Araq
18:58:41Araqnice! :-)
19:03:56*abm joined #nim
19:10:25livcdthat SwiftUI looks like React :O
19:11:52sealmovearnetheduck: for tree implementation there is btree.nim used by the compiler, but it lacks the delete() operation.
19:13:59PMunchIs there a stack data-type in the stdlib anywhere?
19:15:14Zevvdeque
19:15:18Zevvs
19:15:45Araqsealmove, I doubt that kind of tree was meant
19:17:00FromGitter<arnetheduck> looking for something sorted, o(log n) everything, with range and proximity lookup capability
19:19:06PMunchZevv, oh right deque
19:24:48sealmoveMight be stupid question but: Is OS MM different from programming language MM?
19:27:10*vlad1777d quit (Remote host closed the connection)
19:28:19*vlad1777d joined #nim
19:29:36Araqusually it is, yes
19:29:46FromGitter<alehander42> Araq but how to compose custom <operation>It:
19:31:45AraqOnce you kill a cow, you gotta make a burger.
19:33:12FromGitter<alehander42> and how to compose them?
19:33:18FromGitter<alehander42> mapIt(..).filterIt allocates too much
19:33:20FromGitter<alehander42> actually
19:34:01*Araq shrugs
19:34:01FromGitter<alehander42> because the language doesn't know that it can reuse tmp variables instead of whole new collections
19:34:26FromGitter<alehander42> :P
19:34:28AraqI solved the problem with for loop macros and for loop expressions
19:34:50AraqI'm not sure why I need to solve this problem all over again now
19:35:03FromGitter<alehander42> well that works for map/filter maybe, but not sure it applies to all the possible collection operations
19:35:39AraqI don't care, I don't use "all possible collection operations"
19:36:22Araqit's more important to solve 80% of the problem with exactly zero overhead.
19:37:02FromGitter<alehander42> yes you're right
19:37:15FromGitter<alehander42> i also think it should be possible to do it in a 3rd party library somehow
19:38:14FromGitter<alehander42> nim doesnt need too many new features
19:39:41*nsf quit (Quit: WeeChat 2.4)
19:43:30*Vladar quit (Remote host closed the connection)
19:46:43*DesDeux joined #nim
19:54:40*krux02 quit (Remote host closed the connection)
19:55:00*Trustable quit (Remote host closed the connection)
20:05:22*laaron quit (Remote host closed the connection)
20:07:50*PMunch quit (Remote host closed the connection)
20:08:21*d10n-work_ joined #nim
20:08:22*zyklon joined #nim
20:09:11*laaron joined #nim
20:09:43*oprypin_ joined #nim
20:10:15*snowolf_ joined #nim
20:14:04*Summertime2 joined #nim
20:14:49noonienis there an easy way of doing "echo x >> file" in nim? without checking if the file exists
20:15:09*d10n-work quit (*.net *.split)
20:15:09*oprypin quit (*.net *.split)
20:15:09*uvegbot quit (*.net *.split)
20:15:09*snowolf quit (*.net *.split)
20:15:10*planetis[m] quit (*.net *.split)
20:15:10*k0mpjut0r quit (*.net *.split)
20:15:10*Connor[m] quit (*.net *.split)
20:15:10*dvn quit (*.net *.split)
20:15:10*Summertime quit (*.net *.split)
20:15:28*d10n-work_ is now known as d10n-work
20:15:28FromGitter<jrfondren> what don't you like about writeFile?
20:15:36FromGitter<jrfondren> oh, append.
20:15:56Araqsystem.reopen(stdout, "file")
20:16:01Araqmaybe
20:17:25noonienwell, i'm not looking to replace stdout, just append to a file, or create it if it doesn't already exist
20:17:48narimiranthere is `fmAppend` FileMode in io.nim
20:17:55FromGitter<xmonader> @livcd swiftUI looks more like flutter imo
20:17:56FromGitter<jrfondren> so you tried the `io` module and found that an open with `fmAppend` doesn't create the file for you?
20:18:54FromGitter<jrfondren> `of fmAppend: flags = O_WRONLY or int(O_CREAT) or O_APPEND` nah, it should do that for you.
20:19:07noonienactuallly, no, it doesn't say anything regarding the creation of the file and i assumed it did not, i'll give it a try
20:19:18FromGitter<jrfondren> so, no easy way, but a straightfoward `appendFile` out of the io module wlil work for you.
20:19:50*DesDeux quit (Quit: Leaving)
20:20:42noonienwhat `io` module?
20:20:49noonieni can't find appendFile in the stdlib
20:21:05narimiranhttps://nim-lang.github.io/Nim/io.html
20:21:21FromGitter<jrfondren> it's not there. By "straightforward appendFile" I mean the one you'd write.
20:21:31narimiranmaybe (probably) it is not there on 0.19.6 and earlier
20:21:34noonienah, ok
20:21:49FromGitter<jrfondren> the docs are still in the future
20:22:01*k0mpjut0r joined #nim
20:22:01narimirannot for long ;)
20:22:05noonieni didn't check the docs, but grepped to the source code
20:22:18*dvn joined #nim
20:22:20*planetis[m] joined #nim
20:22:45*Connor[m] joined #nim
20:23:11noonienwell, fmAppend has O_CREAT, so it should work just fine
20:23:33noonienand indeed it does
20:27:05*narimiran_ joined #nim
20:30:12*narimiran quit (Ping timeout: 272 seconds)
20:32:59*Jesin joined #nim
20:34:27*fredrik92 joined #nim
20:35:46*narimiran_ quit (Ping timeout: 246 seconds)
20:36:28*couven92 quit (Ping timeout: 246 seconds)
20:40:22dom96Voila. Nimble 0.10.2 tagged
20:40:26dom96Thanks for the help shashlick
20:41:09shashlick👍
20:41:33Araqyay!
20:42:15shashlickis 0.20.0 unblocked?
20:43:00Araqhttps://github.com/nim-lang/Nim/pull/11385 is now blocking us :-(
20:43:35dom96also, I'd like this in there: https://github.com/nim-lang/Nim/pull/11232
20:43:58dom96I might get a chance tonight to switch to Windows and fix it
20:44:22Araqwell my teammates are already sleeping, so go ahead
21:00:33*freddy92 joined #nim
21:02:33*sealmove quit (Quit: WeeChat 2.4)
21:04:24*fredrik92 quit (Ping timeout: 258 seconds)
21:34:18*apodo quit (Ping timeout: 252 seconds)
21:59:25*solitudesf quit (Ping timeout: 246 seconds)
22:00:05*elrood quit (Remote host closed the connection)
22:28:03FromGitter<xmonader> strange thing in the forum whenever i try to create a new thread i don't get redirected or seeing a flash post created
22:29:14FromGitter<xmonader> got redirected the moment i opened developer tools :D I'm using vivaldi browser would that be an issue?
22:35:46*luis_ joined #nim
22:37:33*deech quit (Ping timeout: 245 seconds)
22:39:08dom96xmonader: check console for errors
22:39:16dom96this is cool: https://monkeylang.org/
22:39:27dom96Almost tempted to write another book, /almost/ :)
22:40:41*luis_ quit (Ping timeout: 258 seconds)
22:41:50FromGitter<xmonader> I read the first part of his series (the interpreter one) it's really great. also there's `the lost chapter` on macros was written after the book.
22:42:21FromGitter<xmonader> So what kind of books are you tempted to write about @dom96 compilers?
22:45:58dom96yep
22:47:52FromGitter<xmonader> well please do, I'm sure there're lots to share specially working on language with complexity of nim!
22:51:13*deech joined #nim
22:51:51*sealmove joined #nim
22:52:58*envoyt quit (Ping timeout: 245 seconds)
22:53:20*envoyt joined #nim
23:07:29*luis_ joined #nim
23:07:38*luis_ is now known as lf-araujo
23:11:03lf-araujoHi all, letting you know that nim is available at clearlinux now
23:11:13lf-araujohttps://github.com/clearlinux/distribution/issues/840#issuecomment-498403725
23:13:07FromGitter<xmonader> @dom96 ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ When i tried to reply on the forum [https://gitter.im/nim-lang/Nim?at=5cf5a9836f530d3b613095a6]
23:14:10FromGitter<xmonader> first time to hear about clearlinux, but that's always a good news ^_^
23:16:25*Tyresc quit (Quit: WeeChat 2.5-dev)
23:16:31FromGitter<dom96> Report plz
23:17:51*freddy92 quit (Quit: Client Disconnecting)
23:20:37FromGitter<xmonader> done :) https://github.com/nim-lang/nimforum/issues/216
23:21:50*lf-araujo quit (Ping timeout: 272 seconds)
23:22:06*lritter quit (Quit: Leaving)
23:23:04*abm quit (Quit: Leaving)
23:23:26FromGitter<lf-araujo> @xmonader Clearlinux has this stateless concept, which is really interesting. It's like an android phone, updates are run silently in the background in a git-simile version control... all flatpak on to of this... backed by intel
23:23:34FromGitter<lf-araujo> Really cool
23:27:33FromGitter<xmonader> Sounds cool, shameless plug https://github.com/threefoldtech/0-core we are developing a stateless system too :D but for different use case, it's for cloud too, but it targets containers and VMs via concept called `flist`
23:28:05FromGitter<xmonader> v2 is being written in rust currently
23:35:44*laaron quit (Remote host closed the connection)
23:36:23*laaron joined #nim
23:37:51*luis_ joined #nim
23:40:37*luis_ is now known as lf-araujo
23:48:55*sealmove quit (Quit: WeeChat 2.4)
23:50:10*lf-araujo quit (Quit: lf-araujo)
23:52:55*lf-araujo joined #nim
23:53:51FromGitter<lf-araujo> @FromIRC Oh, and let me add, before Julia.
23:58:44*d10n-work quit (Quit: Connection closed for inactivity)