<< 12-01-2019 >>

00:00:12shashlicknimble fails on travis osx with choosenim devel with openssl error but works fine with choosenim stable
00:00:18shashlickany ideas?
00:06:01FromGitter<timotheecour> r u getting smthg like this: ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ ? [https://gitter.im/nim-lang/Nim?at=5c392f696a394e282193a950]
00:09:25*stefanos82 quit (Remote host closed the connection)
00:13:15*zyklon joined #nim
00:20:05FromGitter<kaushalmodi> shashlick: there was an openssl version related commit recently
00:22:00FromGitter<kaushalmodi> Ugh, I made this mistake mentioning this again. This probably something to do with nimble and osx
00:34:16*zyklon quit (Read error: Connection reset by peer)
00:51:22*zyklon joined #nim
01:04:50*zyklon quit (Read error: Connection reset by peer)
01:07:33*skellock quit (Ping timeout: 246 seconds)
01:09:00*ng0 quit (Remote host closed the connection)
01:10:02*ng0 joined #nim
01:12:10shashlickYep @timotheecour
01:12:41shashlickhttps://travis-ci.org/genotrance/nimterop/jobs/478487797
01:14:16FromGitter<timotheecour> ya it’s affecting me like crazy right now
01:14:56FromGitter<timotheecour> 1st serious breakage in months that i can’t figure my way out ; everything’s broken on my setup :)
01:15:25FromGitter<timotheecour> @dom96 did you see this?
01:19:43FromGitter<timotheecour> https://github.com/nim-lang/Nim/issues/10281
01:21:18*zyklon joined #nim
01:22:15*Marumoto joined #nim
01:22:19Marumoto#join dlang
01:22:34*Marumoto left #nim (#nim)
01:23:29FromGitter<timotheecour> what’s going on in dlang lately
01:24:15*skellock joined #nim
01:35:38shashlickthanks @timotheecour
01:39:19*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
01:41:57FromGitter<timotheecour> hmm actually I’m seeing u have a recent commit which relates to ssl: ⏎ 2019-01-08 23:24 -0600 genotrance M─│─┐ Merge pull request #10236 from treeform/passSSLPath ⏎ ⏎ could that be related? [https://gitter.im/nim-lang/Nim?at=5c3945e532a8370605b94133]
01:42:32shashlickthat was @treeform fixing the order of SSL version
01:43:15shashlickits been failing for me from the last 3 days
01:43:38FromGitter<timotheecour> u’re 1st noticing today though right?
01:43:54shashlicknope been failing last three days
01:43:55shashlickhttps://travis-ci.org/genotrance/nimterop/builds
01:44:38FromGitter<timotheecour> well nimble-wide CI would really help w finding these issues before they hit users
01:45:00FromGitter<timotheecour> unfortunately i’m blocked by that bug before i can update that nimble CI PR
01:45:52FromGitter<timotheecour> (help would be welcome to for adding new features after that PR gets merged ; there’s a number of features i’d like to add)
01:48:17shashlickawesome - i've been busy with nimterop, trying to get zestyr support for ImageMagick wrapping
01:49:28FromGitter<timotheecour> what’s zestyr
01:49:45FromGitter<timotheecour> https://github.com/mattrixman/zestyr ??
01:56:25zestyrme :)
01:56:43FromGitter<timotheecour> lol
01:57:53zestyrtrying to create a nice wrapper for ImageMagick, since Nim currently lacks a good library for image editing
01:58:19FromGitter<timotheecour> that’s great.
01:59:58zestyrand partly because wrappers exist for lots of other languages, including Go, Rust, Ruby, PHP, Python, Julia, you name it
02:00:32FromGitter<timotheecour> Yup; do u have a WIP repo ?
02:01:58zestyrhttps://github.com/zestyr/nimagemagick
02:02:05zestyrnothing there yet besides a failed nimgen config attempt
02:02:51zestyrneed some more fixes in nimterop (and treesitter) before it'll work
02:05:21FromGitter<timotheecour> https://github.com/nim-lang/Nim/pull/10282
02:05:32FromGitter<timotheecour> => seems to fix ssl breakage on OSX
02:05:33shashlickGetting closer
02:05:44zestyrnice
02:05:46*zyklon quit (Read error: Connection reset by peer)
02:06:18FromGitter<timotheecour> @shashlick any idea for a small test for that PR?
02:13:07shashlicknot really - problem with travis is figuring out what libs are installed
02:13:15shashlickif it were a local machine - much easier to figure out
02:14:02FromGitter<timotheecour> actually it fails locally too (before PR) when running `nimble test` (inside nimble repo)
02:14:23shashlickon osx?
02:14:25FromGitter<timotheecour> btw do u know how to list what dynamic libs are actually used?
02:14:28FromGitter<timotheecour> ya on OSX
02:14:50FromGitter<timotheecour> (also r u affected by https://github.com/nim-lang/nimble/issues/603 ?)
02:15:12zestyrcall ldd on the executable?
02:15:14shashlickok that's good - what version of ssl do you have installed locally
02:15:28shashlickya that nimble issue is also bothering me on devel
02:15:42FromGitter<timotheecour> brew info openssl ⏎ openssl: stable 1.0.2q [keg-only]
02:16:30shashlickok that's pretty new, what does ldd tell you
02:16:53FromGitter<timotheecour> @zestyr not ldd (or osx otool -L) doesn’t work because nim doesn’t use standard dynamic library loading mechanism , so unfortunately all the tools for dealing w em r broken
02:17:24zestyroh..
02:18:29FromGitter<timotheecour> ```code paste, see link``` ⏎ ⏎ nothign interesting/relevant [https://gitter.im/nim-lang/Nim?at=5c394e751cb70a372ac4c7f1]
02:19:04FromGitter<timotheecour> maybe `nim c —dump foo.nim` shd tel u
02:19:23FromGitter<timotheecour> (requires to add `—dump` as a new flag)
02:23:30*zyklon joined #nim
02:25:31*ng0_ joined #nim
02:27:39*ng0 quit (Ping timeout: 256 seconds)
02:28:35*zachk quit (Quit: Leaving)
02:31:20*rockcavera quit (Remote host closed the connection)
02:52:54*shpx joined #nim
03:00:35*banc quit (Quit: Bye)
03:16:11*banc joined #nim
03:16:11*zyklon quit (Read error: Connection reset by peer)
03:33:45*zyklon joined #nim
03:50:14*dddddd quit (Remote host closed the connection)
04:04:41*theelous3 joined #nim
04:17:34*Tyresc quit (Quit: WeeChat 2.4-dev)
04:33:39*Jesin quit (Quit: Leaving)
04:33:39*zyklon quit (Read error: Connection reset by peer)
04:50:50*zyklon joined #nim
04:52:01*vlad1777d quit (Ping timeout: 246 seconds)
04:54:02*Jesin joined #nim
05:17:33*nif quit (Read error: Connection reset by peer)
05:18:17*nif joined #nim
05:51:23*darithorn quit (Quit: Leaving)
05:55:19*xet7 quit (Ping timeout: 250 seconds)
06:07:46*theelous3 quit (Ping timeout: 268 seconds)
06:08:01*xet7 joined #nim
06:17:56*narimiran joined #nim
06:20:57*itschin joined #nim
06:22:22*Marumoto joined #nim
06:28:47*nsf joined #nim
07:05:58Araqtimotheecour: we need to cover bignum nimble packages
07:20:03*xet7 quit (Ping timeout: 252 seconds)
07:24:40*xet7 joined #nim
07:25:11*xet7 quit (Read error: Connection reset by peer)
07:28:11*xet7 joined #nim
07:37:08*skellock quit (Ping timeout: 245 seconds)
07:38:40*vlad1777d joined #nim
07:42:47*absolutejam_phon quit (Remote host closed the connection)
08:06:54*xet7 quit (Remote host closed the connection)
08:10:30*skellock joined #nim
08:16:21*Vladar joined #nim
08:17:03*skellock quit (Ping timeout: 258 seconds)
08:45:31FromGitter<timotheecour> will add ot PR
08:45:34FromGitter<timotheecour> *to PR
08:46:24FromGitter<timotheecour> btw can u please give me rights so i can add labels in https://github.com/nim-lang/RFCs ? (and maybe to whoever also has rights for adding labels in Nim repo; it just doesn’t make sense to have partial access)
08:47:56*shpx quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:52:30*Trustable joined #nim
08:52:38*salewski joined #nim
08:53:16salewskimiram, search entry is working again fine in https://nim-lang.org/docs/lib.html
08:53:24salewskigreat work, thanks!
08:56:56FromGitter<timotheecour> @araq are you here? quick question regarding your comment
09:04:30*salewski quit (Quit: WeeChat 2.3)
09:07:52FromGitter<alehander42> z
09:38:40Araqtimotheecour: here now
09:42:08*aguspiza joined #nim
09:43:00FromGitter<timotheecour> ok just updated PR see https://github.com/nim-lang/Nim/pull/10274/files#r247305369
09:43:20*baba3 joined #nim
09:46:39FromGitter<timotheecour> that solves the problem of allowing reusable helper modules in testament tests, while allowing for simple `import stdtest/myhelper`, without having to mess w relative paths, and without any possible confusion w stdlib or other modules not meant to be imported
09:53:42Araqok
10:10:42narimiransalewski: yeah, there was one misplaced file on the server. it was solved day and a half ago.
10:13:04narimiran@timotheecour if you have the time (and you have proved to have a knowledge), it would be better if you could solve some issues in the main nim repo, not spending it on putting the labels on old RFC (with some/most of them should be either rewritten or closed)
10:13:30narimirannote: i said *closing* issues, not opening new ones :D :G
10:13:31narimiran:P
10:13:35*skellock joined #nim
10:16:17*baba3 quit (Ping timeout: 268 seconds)
10:17:48*skellock quit (Ping timeout: 244 seconds)
10:19:40FromGitter<GULPF> @narimiran here's an updated list of stdlib module usage: https://gist.github.com/GULPF/dc97e5e745842138556d882c17d97718
10:20:05narimiran@GULPF great, thanks!
10:21:35itschinlow -> high, what a forward thinking choice!
10:22:07narimiranthis will be quite useful to me, and it is interesting to compare the numbers with that 9 month old list
10:23:31FromGitter<GULPF> I improved the code a bit, so the new list has a larger number for most modules (the old code missed the `from x import y` style of imports). But it should still be somewhat comparable with the old list
10:25:50FromGitter<GULPF> But some modules have changed a lot, e.g strformat is used in 133/1000 of nimble packages now instead of 26/1000 9 months ago
10:26:21narimiranthat makes sense
10:27:00narimiranbut, e.g. i'm surprised by lower number of strscans usages
10:27:34narimiranhow did you scan/include the projects? does it have to have some minimal size or number of github stars?
10:28:04narimiran" top 1000 starred GitHub projects " as before?
10:28:25FromGitter<GULPF> yes, which is essentially all Nim projects on github
10:28:51FromGitter<GULPF> a lot of them can no longer be parsed though
10:29:18*baba3 joined #nim
10:39:45aguspizanim playground is not responding :(
10:40:44aguspizai just want to test if bindUnix exists in asyncnet, because i get: m4server.nim(6, 5) Error: attempting to call undeclared routine: 'bindunix'
10:42:05aguspizaof course i am running that in linux
10:46:10*stefanos82 joined #nim
10:49:22*natrys joined #nim
10:52:30*banc quit (Quit: Bye)
10:52:56*nsf quit (Quit: WeeChat 2.3)
10:59:15*banc joined #nim
11:00:47*shpx joined #nim
11:08:44aguspizait seems is something related to nim docker images as using my nim compiler build from code works perfectly
11:14:22narimiranaguspiza: bindunix was added a month ago, and playground uses version 0.18 which is quite old
11:15:16aguspizaI have tested with 0.19.0
11:15:26aguspizawhich is the latest docker image
11:16:16narimiran0.19.0 is 4 months old, or so
11:16:26narimiranyou need nim devel (0.19.9)
11:16:33aguspizaoops
11:17:01aguspizaso that's why it works on my nim compiler built
11:17:14aguspizathx
11:17:17narimirannp
11:25:39*banc quit (Quit: Bye)
11:31:45*rokups joined #nim
11:38:14*banc joined #nim
11:39:44*absolutejam_phon joined #nim
11:54:25narimiranwhy does this `add` exist and why would you want to use it? https://nim-lang.github.io/Nim/tables.html#add%2CTable[A%2CB]%2CA%2CB
11:54:51narimiran`var a = {'a': 5, 'b': 9}.toTable; a.add('a', 99)`
11:55:00narimiranand now you have `{'a': 5, 'b': 9, 'a': 99}`
11:55:05narimiranAraq: ^
12:02:41Araqnarimiran: because it's a "multitable"
12:05:47*nsf joined #nim
12:17:23*dddddd joined #nim
12:19:18narimiranok, i can do `echo a['a']` and it will print 5. how do i reach the other `a` key?
12:19:34narimiranthis screams "shooting oneself in foot" to me
12:20:01Araqwell you iterate over the pairs()
12:20:19Araqto get all the values
12:20:34Araqmaybe don't call 'add' when you don't know what it does
12:20:36narimiranfor k in a.keys: echo a[k]
12:20:41narimiranprints: 5, 9, 5
12:20:49narimiran(and not 5, 9, 99)
12:21:22Araqseems consistent to me
12:21:35Araqa.keys and a[k] are two separate operations
12:24:00itschinwheres the 5 coming from?
12:24:19itschinoh i see
12:24:48narimiranitschin: from that crazy and dangerous `add` :)
12:25:10narimiranwell, second `a` key comes from it
12:25:37narimiranbut you cannot reach it in an usual way, so it prints again the first `a` key
12:27:01*rect0x51 joined #nim
12:27:29narimiranmy reaction seeing that `add` exists and you can have a table with two same keys: https://media.giphy.com/media/12XMGIWtrHBl5e/giphy.gif
12:29:22*baba2 joined #nim
12:30:40*baba3 quit (Ping timeout: 272 seconds)
12:34:14Araq*shrug* so deprecate it, I like it but I don't care enough
12:35:45Araqit's a smart idea because hash tables naturally give you multitables, not tables but as I said, I don't care enough. In the compiler I use my own hash tables for these reasons
12:36:46narimiranok
12:36:53baba2Is there a proc which returns all the values corresponding to key 'a'?
12:38:05narimiranbaba2: it is, if there is only one key :P :D
12:43:24rect0x51is there a (obj constructor) shorthand for myType(example: example)?
12:43:39baba2Having multitables is good. But the name `add` for hashtables has different semantics in other programming languages, and it may confuse new people.
12:46:03FromGitter<alehander42> Araq: people expect a `Table` to be just a table, so they assume the invariant `there is just one value corresponding to key`
12:46:19FromGitter<alehander42> if there is `add`, it should be actually called MultiTable
12:46:35FromGitter<alehander42> just a dict/map-like thing*
12:47:50FromGitter<alehander42> we could have MultiTable which is equivalent to Table but has `add`, but probably too late for that
13:02:05*BigEpsilon joined #nim
13:03:18*banc quit (Quit: Bye)
13:11:52*banc joined #nim
13:20:27*Cthalupa quit (Ping timeout: 240 seconds)
13:21:30*Cthalupa joined #nim
13:24:15Zevvfwiw: I do like that these tables can also be used for things like http headers which might have duplcate keys. But finding out about this was kind of surprising, as I also was just expecting Table to be a common dictionary type. I guess if the docs are more clear it should not bite anyone to have this in the same type, right?
13:25:20narimiranZevv: i'm currently working on better documentation for Tables module, and just got bitten by it
13:25:35ZevvI would *love* things like tables to be auto-initalizing, though. I've spent too many min
13:26:01Zevvutes wondering what the hell was wrong with my code, just because I forgot the initTable
13:26:17narimirani think the correct way to go is to deprecate these `add` functions, so the whole module has the least surprising behaviour for most number of users
13:26:20Zevvwhich is also noisy, given that you have to repeat the whole type in its bracket
13:26:57narimiranZevv: see this https://github.com/nim-lang/RFCs/issues/48
13:27:00Zevvnarimiran: some people will be mad for that I guess
13:27:19narimiran what is to be mad about?
13:27:59Zevvdeprications in general
13:28:10Zevvalways hits someone
13:28:29Zevv~but better now then >.0
13:28:31Zevv1.0
13:28:50*skellock joined #nim
13:29:06narimiranso it should stay for those 5% people, and confuse the hell out of 95% others who didn't expect that behaviour?
13:30:50itschinobviously not ;)
13:32:01Zevvnaaah
13:33:14Zevv48 looks great to me. Are there any obvious problems with implementing this?
13:34:55narimiran#48 looked great to many (it had many upvotes in original repo - github doesn't transfer reactions to the original post !?), i don't know where it got stuck, but i would very very much love to see that
13:39:22rect0x51question, how comes when a proc return a tuple you have to write `(field1, ...)` instead of `tuple[field1, ...]`?
13:39:54Zevvtuple[] is the type, () is the constructor
13:40:17rect0x51exactly, so in proc's signature... why we use ()?
13:40:28*Cthalupa quit (Ping timeout: 245 seconds)
13:40:38Zevvno, in the signature you use tuple[]
13:40:44Zevvproc divmod(a, b: int): tuple[res, remainder: int]
13:40:54narimiranrect0x51: you can do it both ways
13:40:55rect0x51just tried it...
13:41:42ZevvThe () is a kind if 'anynmous' tuple, but in procs I always use [] to explicitly name the fields - clarity, imho
13:42:10narimiranso both `proc a(x: int): (int, int)`, and `proc a(x: int): tuple[a, b: int]` work, but are slightly different
13:42:19narimiranwhat Zevv just said ^
13:42:30Zevvthe first one gets implicit field names Field0, Field1, ...
13:42:34*Snircle joined #nim
13:42:37Zevviirc
13:42:55rect0x51ohh, with tuple notation you have to name the fields?
13:43:00*Cthalupa joined #nim
13:43:13Zevvit is like a ad-hoc C struct
13:43:37rect0x51I see now, thanks.
13:44:04ZevvIt seems the () as return value is not even in the manual, only in one example
13:46:04rect0x51just to add my opinion regarding `add` on tables, personally (and I am a beginner) the documentation seemed clear about it
13:46:21rect0x51when I first encountered it months ago
13:46:43ZevvYeah, but it's only on the add(). The general description of Tables never mention that keys are not unique
13:47:09ZevvIMHO that's no problem - as long as you don't hit add(), you will never notice. But it might come unexpectedly to some.
13:47:22narimiranrect0x51: and what do you do with the key that you added like that (instead of using `table[key] = value`), if it is a duplicate?
13:47:30ZevvI don't mind having one data structure doing a lot of things. I lived with Lua for years, which has only one :)
13:47:40Zevv"Tables should be enough for everything"
13:47:56narimiranyou (general you) might have bugs you don't even know are there
13:49:05rect0x51not arguing against, just mentioned my experience, but maybe I was just lucky and ctrl-f'ed `add`
13:49:30*Cthalupa quit (Ping timeout: 246 seconds)
13:49:57narimiranand that's exactly the problem, if you ctrl-f'ed `add` and used it, instead of `[]=`
13:51:07rect0x51One thing though... add seems like the correct word, `include` or something is more suitable if you don't want duplicates. Nim should be slave of legacy naming conventions. Of course warnings in documentation are good, as you mentioned.
13:51:57rect0x51narimiran: what do you mean?
13:52:00*Cthalupa joined #nim
13:52:18rect0x51shouldn't*
13:52:36narimiranyou are beginner in nim and want to use tables. now you want to see how to populate it, and you stumble upon `add`
13:53:06narimiranso you use that, and you `add` key-value pairs to your table
13:53:45rect0x51the explanation of duplicates is documented under `add`, not under `[]=`
13:53:46narimiranand if you're lucky, you might realized you've just added ('a', 99) pair, but stupid buggy nim when you do `echo myTable['a']` prints `5`
13:54:03narimiranand you wonder who's crazy
13:54:08rect0x51haha
13:56:43rect0x51anyway, my opinion is that a couple more warnings in docs are enough..
13:58:54itschinnah best not to be eccentric
14:10:57*miran joined #nim
14:12:56*narimiran quit (Ping timeout: 246 seconds)
14:14:46*miran is now known as narimiran
14:34:28*nsf quit (Quit: WeeChat 2.3)
14:34:54skellockgood morning nim!
14:40:17FromGitter<zacharycarter> morning! this is off-topic, and if anyone has any feedback for me, if you could PM me on gitter or post feedback in the nim-offtopic / twitch channel, I'd be grateful - looking for feedback on my WIP webste: https://zacattack.io/
14:41:50skellockzacharycarter: do you really want to tell people you know Oracle? ;P
14:42:01FromGitter<zacharycarter> heh
14:42:28FromGitter<zacharycarter> well - I certainly wouldn't people to translate that to a desire to become a database administrator ;P
14:48:28narimiran@zacharycarter: in your CV, the most recent experience should come first, not last (you should reverse the order)
14:48:56narimirani know you want feedback about the site, but i couldn't help myself to peek in your CV :)
14:50:00FromGitter<skellock> i went straight to the CV too =)
14:50:01FromGitter<zacharycarter> ah okay - thank you I will fix that
14:50:11FromGitter<zacharycarter> I appreciate any and all feedback :) CV included
14:50:16FromGitter<zacharycarter> I'm trying to get a new job after all
14:50:23rect0x51:@ I can't resolve the "Error: complex statement requires indentation" error
14:51:54narimiranrect0x51: don't put everything on one line ;)
14:52:12rect0x51I didn't...
14:52:44narimiranshow us the code
14:53:30*BigEpsilon quit (Ping timeout: 252 seconds)
14:53:34rect0x51ok one sec
14:54:07rect0x51actually.. what's the best way to post code here?
14:54:41narimirani use ix.io, but any kind of paste-bin clone is fine
14:55:25rect0x51https://pastebin.com/E0DS6Kuq
14:58:07rect0x51zacharycarter: there is small typo, "workng" instead of "working".
14:58:34FromGitter<zacharycarter> thank you!
15:00:33*Ven`` joined #nim
15:02:46narimiranrect0x51: it works fine, both on 0.19.2 and devel
15:06:45FromGitter<bluenote10> Hello everyone! Any ideas where fsmonitor lives now? It has been removed from Nim, but according to the discussion the idea was to move it into a Nimble package. I cannot find anything and I'm trying to run old code depending on it.
15:07:33rect0x51narimiran: sorry, I am stupid
15:08:35*Ven`` quit (Ping timeout: 268 seconds)
15:16:42narimiranrect0x51: it's ok :)
15:32:52*nsf joined #nim
15:47:19*darithorn joined #nim
15:58:54*itschin quit (Ping timeout: 250 seconds)
16:11:29*rokups quit (Quit: Connection closed for inactivity)
16:15:11*natrys quit (Ping timeout: 268 seconds)
16:20:08FromGitter<Vindaar> @bluenote10 It's in the new graveyard: https://github.com/nim-lang/graveyard/tree/master/fsmonitor
16:21:01*ng0_ quit (Remote host closed the connection)
16:21:50FromGitter<kaushalmodi> @timotheecour I believe you were talking something about bignum recently here
16:22:25FromGitter<kaushalmodi> I am by no means a bignum expert but I am patching it just enough so that one toy program in my notes compiles
16:22:32FromGitter<kaushalmodi> I am patching it in my fork here: https://github.com/kaushalmodi/bignum
16:22:43FromGitter<kaushalmodi> *compiles on Nim devel
16:23:38narimiran@Vindaar @bluenote10 if it is in graveyard, it should be available via nimble
16:23:52narimiranbut now i see nimble doesn't seem to find it, hmm
16:25:41narimiranand now i see that several other packages from graveyard are not available via nimble
16:26:02narimirani'll fix it
16:52:02*Marumto_ joined #nim
16:54:12narimiran@bluenote10 fixed! `nimble update`, then `nimble search fsmonitor`
16:54:33*Marumoto quit (Ping timeout: 258 seconds)
16:55:12aguspizabluenote10: search for nimwatch
16:55:25aguspizabut there is no nimble package yet
16:56:34aguspizanimwatch seems simpler to use
17:01:58sendell[m]does choosenim now choose between 32 and 64 bits toolchains on windows?
17:03:11shashlickNo if you already have gcc, it will pick the right one
17:03:22shashlickRight version of Nim to build
17:03:36*ng0 joined #nim
17:03:52shashlickIf you install gcc thru choosenim, it will still pick 32 bit
17:05:30sendell[m]" if you already have gcc, it will pick the right one " : that's my issue then, could not find how to get the same version on two computers
17:05:30*ng0 quit (Client Quit)
17:05:57sendell[m]I probably have GCC installed on one of them
17:05:58sendell[m]thx :)
17:09:00*BigEpsilon joined #nim
17:13:27shashlickCool
17:22:56*BigEpsilon quit (Ping timeout: 268 seconds)
17:31:24*skellock quit (Quit: WeeChat 2.3)
17:31:44sendell[m]what is the GCC detection based on ? I thought that removing it from my path would be enough but then I get
17:31:59sendell[m]https://pastebin.com/ZN92Hi4P
17:32:27sendell[m]"gcc" not recognized as an external command
17:32:39sendell[m](logically since it's not in my path anymore)
17:36:14*narimiran quit (Remote host closed the connection)
17:36:25*aguspiza quit (Ping timeout: 246 seconds)
17:36:34*narimiran joined #nim
17:36:58*narimiran quit (Remote host closed the connection)
17:37:29*narimiran joined #nim
17:41:12ZevvWith a custom annotation with more then one field, how can I get other fields then the first with getCustomPragmaVal()?
17:41:28FromGitter<bluenote10> @narimiran Thanks for fixing the fsmonitor issue!
17:42:12ZevvIf I have `template msgInfo(id: int, service: string)`, I only get the `id` field, I see no way to specify how to get to the `service` field.
17:52:19FromDiscord_<Generic> afaik this is currently a limitation of getCustomPragmaVal
17:52:58ZevvJust filling in a PR
17:53:15FromDiscord_<Generic> you can retrieve all parameters by inspecting the type ast in macro yourself
17:53:28Zevvbah :)
17:53:56Zevvhttps://github.com/nim-lang/Nim/pull/10289
17:54:17ZevvDoes that make sense? Or should I return an array or seq instead of a tuple?
17:54:42ZevvNo, of course not, stupid question
17:54:49Zevvheterogenous fields
17:55:13FromDiscord_<Generic> maybe add the parameters names aswell
17:55:36FromDiscord_<Generic> or is it already included
17:55:50Zevvhm no, true, it now returns Field0 Field1
17:55:54Zevvgood point
17:57:04ZevvHm, I might need someone to hold my hand with this; the names do not seem to be available in pragmaNode
17:57:26FromDiscord_<Generic> I think you need to resolve the definition of the pragma
17:58:21FromDiscord_<Generic> if the first element of the pragma node is a sym, you could just use getImpl on that one
17:58:28ZevvThat sounds easier then it is, probably. I'll see if I can understand what is going on in customPragmaNode()
17:58:57Zevvyes, thats it. Thanks
18:04:59ZevvHm now I feel stupid. `repr result` is now (id: 1, name: "Alpha", service: "GLES2")
18:05:18Zevvbut dumping the returned table at runtime still gives me Field0/1/2
18:05:42Zevvupdated the PR
18:07:36Zevvseems to work just fine, I can now access the fields by name
18:13:13ZevvThanks Generic!
18:18:30*zyklon quit (Read error: Connection reset by peer)
18:23:17*Bob joined #nim
18:36:53*zyklon joined #nim
18:44:02ZevvYay, happy as a toddler: 60 lines of nim replacing a complicated custom IDL parser and C++ code generator, and a 8 line proc using msgpack4nim replaces a huge amount of C++ serialization code.
18:44:14ZevvThe learning curve was steap, but totally worth it
18:44:49Zevv/steep/
18:54:16*Ven`` joined #nim
19:08:41*Snircle quit (Read error: Connection reset by peer)
19:09:34*Snircle joined #nim
19:15:09shashlicksendell[m] sorry am out and about - are you using the latest choosenim release or did you build your own
19:15:17shashlickVersion info will help
19:17:32shashlickAlso what choosenim command did you run
19:23:57sendell[m]shashlick: np, thx for help mate :) I'm using the latest release choosenim v0.3.2 (2018-02-27 20:19:49) [windows/i386]
19:24:40sendell[m]and i'm running "choosenim update stable"
19:30:29*lritter joined #nim
19:35:05*zachk joined #nim
19:35:50*zachk quit (Changing host)
19:35:50*zachk joined #nim
19:52:42shashlickya looks like update doesn't check gcc again
19:52:55shashlickif you try choosenim 0.19.2 instead, it should install gcc for you
20:13:59*Tyresc joined #nim
20:20:46shashlickis it possible to detect cpu arch at runtime?
20:20:46*zyklon quit (Read error: Connection reset by peer)
20:21:36sendell[m]choosenim 0.19.2? Isn't that a nim version?
20:22:50shashlickya that's the latest stable
20:25:22sendell[m]I think latest choosenim is 0.3.2
20:25:24sendell[m]https://github.com/dom96/choosenim/releases
20:27:38shashlickI mean run the `choosenim 0.19.2` command
20:28:31sendell[m]Ohhh right, I'll give it a try :)
20:29:36shashlicki think it is worth creating an issue that running an update doesn't do CC detection anymore
20:35:53dom96Bah, we have OSX and URGENT labels now?
20:36:21dom96Do we seriously need to create a set of good labels and stick to them because people are just willy nilly creating their own?
20:36:27shashlickwhat's the meaning of this - https://github.com/ImageMagick/ImageMagick/blob/master/MagickCore/opencl.h#L42
20:36:37sendell[m]same issue with "choosenim 0.19.2" :(
20:36:57shashlickthere's a * in the typedef before the name
20:37:02shashlickwhat kind of definition is that
20:37:38shashlicksendell[m]: what's the stack trace
20:37:49sendell[m]https://pastebin.com/ZN92Hi4P
20:38:07FromGitter<timotheecour> dom96, i created osx and urgent; maybe urgent could be removed, but not osx
20:38:12*zyklon joined #nim
20:38:18sendell[m]oh no wait it's different (that was the stacktrace for update)
20:38:19dom96timotheecour: we have OS/Arch specific for that...
20:38:42FromGitter<timotheecour> things like `stdlib` is too broad, and doesn’t really help much when u have 174 issues w that label
20:38:53dom96https://github.com/nim-lang/Nim/labels/OS%2FArch%20specific
20:38:57dom96We don't need a label for each OS
20:39:27FromGitter<timotheecour> i know we do, but if someone is an OSX expert, he’ll be more likely to help if he sees an OSX tag rather than os/arch specific
20:39:32shashlicksendell[m]: are you still specifying update in the command line?
20:40:20sendell[m]²https://pastebin.com/5uk0Qv1M
20:40:28FromGitter<timotheecour> stackoverflow is a good example; they have a richer label set and it helps more than it hurts
20:40:34sendell[m]that's the stack when i'm doing "choosenim 0.19.2"
20:41:24shashlicknot sure why it isn't checking for gcc now
20:41:30dom96Fine, keep the OSX, but "URGENT" is really not necessary
20:41:37dom96We have "Showstopper" for basically that
20:41:43FromGitter<timotheecour> stuff like `osproc` as a label is much more useful (in terms of heading towards eventual resolution) than a single broad `stdlib`
20:41:53FromGitter<timotheecour> ok i am removing URGENT now
20:42:38shashlicksendell[m] - do you have clang installed?
20:42:54FromGitter<timotheecour> note: i created it as it had a different meaning than high priority (which is not urgent, for proof, we have old open bugs like it) ; likewise showstopper; urgent means basically: someone broke something that affects a lot of ppl
20:42:59FromGitter<timotheecour> and needs immediate fixing
20:43:51FromGitter<timotheecour> (as i wrote it in label description: `a regression that breaks everything and needs immediate attention`)
20:43:56dom96The labels we have are becoming messy
20:44:00dom96I really dislike that.
20:44:39FromGitter<timotheecour> as good gesture i’ve removed URGENT label; although it had its use IMO.
20:46:56*absolutejam joined #nim
20:47:09shashlickdom96 is it worth checking for clang in choosenim on windows?
20:47:19shashlickBuild.bat simply looks for gcc
20:47:40absolutejammy charger is damaged but works if i hold a certain part in a certain way
20:47:40dom96shashlick: It's not, that would require changing the Nim config
20:47:49sendell[m]shashlick: yup I have clang installed
20:48:07absolutejamso im sat trying to code 1 handed while my other hand goes numb/.
20:48:50shashlickdom96 check is being done in needsCCInstall
20:48:53FromGitter<kayabaNerve> This is starting to piss me off.
20:49:19FromGitter<kayabaNerve> https://pastebin.com/my0PpNh5
20:49:38FromGitter<kayabaNerve> I have that code. The top and bottom function are practically identical. At some point, the bottom one refused to compile.
20:50:05FromGitter<kayabaNerve> ```code paste, see link``` ⏎ ⏎ I have a single lock in my code. Removing it did not help. [https://gitter.im/nim-lang/Nim?at=5c3a52fd28513d605a174aff]
20:50:12shashlickdom96: https://github.com/dom96/choosenim/blob/master/src/choosenim/switcher.nim#L45
20:50:23FromGitter<kayabaNerve> I tried removing the raises pragma. That didn't work.
20:50:28shashlicksendell[m]: remove clang from your path for a bit and run choosenim - it should install gcc for you
20:50:33FromGitter<kayabaNerve> Does anyone know more about this error and have a few?
20:50:37shashlickthen you can add clang back
20:50:41FromGitter<kayabaNerve> I've tried 0.19, 0.19.2, and devel
20:50:50sendell[m]I'll try
20:50:56*zyklon quit (Read error: Connection reset by peer)
20:50:56dom96shashlick: hrm, yeah, might be good to disable that for Windows
20:50:57shashlicksendell[m]: also please open a defect stating that clang on windows throws off choosenim for gcc install
20:50:59FromGitter<kayabaNerve> But all talk about locks unknown and raise effects differing
20:53:01FromGitter<kayabaNerve> Also, this code did use to work. I redid a lot of my codebase but this was left untouched. I don't know why it's acting up and I can't easily revert changes until it works again.
20:55:21*rect0x51 quit (Quit: WeeChat 2.3)
21:03:46sendell[m]shashlick: it worked. thank you for help, I'll submit an issue :)
21:05:06FromGitter<kayabaNerve> So. Turns out that having `Data` as an arg type was the issue, despite having another event with a `Data` arg type. If I changed the arg list to `uint, Data`, it compiles.
21:05:36FromGitter<kayabaNerve> I'm pretty sure whether or not a uint was in the arg list shouldn't affect whether or not this compiles, right?
21:05:53FromGitter<kayabaNerve> *except I think this is too nested to create a clean GHI :(*
21:08:35FromGitter<timotheecour> @kayabaNerve the err msg says: `raise effects differ` ; wasn’t that the issue?
21:08:50*zyklon joined #nim
21:09:28FromGitter<timotheecour> maybe post more context (eg proc signature of arg and function u were calling)
21:10:06FromGitter<kayabaNerve> So
21:10:18FromGitter<kayabaNerve> I created an EventEmitter lib, akin to JS
21:10:31FromGitter<kayabaNerve> Takes in T, stores it in a table, returns it when asked
21:11:03FromGitter<kayabaNerve> That error arose when the signature was `proc (data: Data): bool {.raises: Error, Error, Error.}`
21:11:08FromGitter<kayabaNerve> Removing the raises did nothing
21:11:30FromGitter<kayabaNerve> The only way I got it to compile was by changing it to `proc (data: Data, junk: uint): bool`
21:11:36FromGitter<kayabaNerve> And I did get to keep the raises.
21:12:03FromGitter<kayabaNerve> I have another proc which takes in just Data. The Data object is basically a Send, and that data type works fine.
21:12:23FromGitter<kayabaNerve> This is a bug I have no explanation for with a weird message and a fix that makes it evident it's a compiler bug.
21:12:31FromGitter<kayabaNerve> I'll work on creating a MWE when I have some free time.
21:13:04*baba2 quit (Ping timeout: 250 seconds)
21:15:19FromGitter<timotheecour> Ya, we’d need a MWE.
21:17:17FromGitter<timotheecour> do u have 2 different types called `Data`
21:17:44FromGitter<timotheecour> (eg another one maybe from an imported module)
21:19:29absolutejammy proc is complaining that I'm giving it int literal(14) instead of int
21:19:56absolutejamwhat am I doing wrong?
21:20:03FromGitter<kayabaNerve> Nope
21:22:14absolutejamdo I have to specify a specific type of int?
21:23:07FromGitter<timotheecour> @absolutejam same answer as @kayabaNerve we need a minimal working example. Either That, or implment https://github.com/nim-lang/Nim/issues/8276
21:23:35FromGitter<timotheecour> *, or we should implement
21:24:24absolutejamsorry, just looking tosanitise it quickly
21:24:37absolutejamdoesnt make much sense if i just paste atm
21:25:01FromGitter<timotheecour> (i’ve reduced a ton of code when filing bugs and ya it takes time, but it’s necessary for filing; and the right approach is to implement smthg like dustime, but that’ll take a bit of time)
21:30:28*Cthalupa quit (Ping timeout: 245 seconds)
21:33:21*Cthalupa joined #nim
21:40:29*onionhammer quit (Quit: WeeChat 1.9.1)
21:42:55*onionhammer joined #nim
21:43:41absolutejamturns out it was a bad error because I missed a proc param
21:43:43absolutejamugh
21:44:29FromGitter<timotheecour> i think signature match errors still have room for improvement though
21:49:01FromDiscord_<exelotl> what's the recommended naming convention for binding C libraries ?
21:52:45FromDiscord_<exelotl> I wrote bindings for a library called tonclib (that goes with a book called tonc)
21:53:04FromDiscord_<exelotl> so should I call the bindings 'nim-tonc'
21:54:20FromDiscord_<exelotl> or is that convention frowned upon?
21:55:59*nsf quit (Quit: WeeChat 2.3)
21:56:18rayman22201seems fine to me. congrats on the lib. Nim on GBA is very cool.
21:57:42FromDiscord_<exelotl> thanks! :D
22:05:22FromGitter<zetashift> wait we can use Nim on GBA?
22:05:36FromGitter<zetashift> like what devkitpro bindings?
22:06:23FromDiscord_<exelotl> yeah! though I personally don't like libgba so I wrapped tonclib instead, it's very full-featured and well documented
22:07:00*absolutejam quit (Ping timeout: 272 seconds)
22:07:41FromGitter<kaushalmodi> federico3: thanks for updating the Nim planet!
22:08:22FromGitter<kaushalmodi> Though, I see my Nim notes in that feed as a problem, I believe. It inundates the beginning of the feed as that page is huge.
22:09:03FromGitter<kaushalmodi> If I remove that page from my feed, will the planet auto update?
22:24:14*NimBot joined #nim
22:27:45federico3uh?
22:27:59federico3kaushalmodi try reloading the page
22:36:12FromGitter<kaushalmodi> federico3: I mean that the planet updates fine. Just that the first post from my feed might be too long for the planet feed.
22:46:51shashlick@exelotl skip the - in the name
22:47:03shashlickI don't think nimble or Nim likes that
22:53:09*zyklon quit (Read error: Connection reset by peer)
23:08:06FromDiscord_<exelotl> yeah the package itself will just be tonc but the repo will be nim-tonc
23:08:12FromDiscord_<exelotl> does that sound good?
23:11:22*aguspiza joined #nim
23:11:27*zyklon joined #nim
23:17:13*zahary quit (Quit: Connection closed for inactivity)
23:33:54*aguspiza quit (Ping timeout: 250 seconds)
23:41:03shashlickYa that's fine
23:47:53*Vladar quit (Remote host closed the connection)
23:52:15*ng0 joined #nim
23:53:18sendell[m]what is the recommended way to get nimpretty up and running, WRT choosenim?
23:56:06*stefanos82 quit (Remote host closed the connection)
23:56:35FromDiscord_<exelotl> wtf when I use 'import' in panicoverride.nim it breaks compound operators (and probably other standard library features)
23:58:24*itschin joined #nim
23:58:40*Trustable quit (Remote host closed the connection)