<< 26-02-2019 >>

00:05:42*shashlick quit (Remote host closed the connection)
00:05:55*krux02 quit (Remote host closed the connection)
00:08:14*shashlick joined #nim
00:13:25FromDiscord<sillibird> When I use rand on an openarray, i get the same result every time?
00:15:23FromDiscord<sillibird> nevermind, got it using randomize
00:23:22*leorize joined #nim
00:27:41*V-X joined #nim
00:34:49*noeontheend quit (Ping timeout: 244 seconds)
00:38:44*m712 quit (Ping timeout: 250 seconds)
00:39:50*m712 joined #nim
00:49:05*V-X quit (Ping timeout: 255 seconds)
00:51:21*zestyr quit (Quit: WeeChat 2.3)
00:56:03*Cthalupa quit (Ping timeout: 246 seconds)
00:57:49*Cthalupa joined #nim
00:58:16*zachk quit (Quit: night)
01:01:48*V-X joined #nim
01:03:38*oculuxe joined #nim
01:04:48*oculux quit (Ping timeout: 246 seconds)
01:08:38*oculux joined #nim
01:11:14*oculuxe quit (Ping timeout: 272 seconds)
01:18:28*stefanos82 quit (Remote host closed the connection)
01:21:10*oculuxe joined #nim
01:23:07*oculux quit (Ping timeout: 246 seconds)
01:29:08*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
01:50:25*zestyr joined #nim
02:04:10*oculux joined #nim
02:06:16*oculuxe quit (Ping timeout: 244 seconds)
02:11:05*oculuxe joined #nim
02:12:07*oculux quit (Ping timeout: 245 seconds)
02:14:42*oculux joined #nim
02:15:22*oculuxe quit (Ping timeout: 250 seconds)
02:20:39V-XQuestion about how to properly use macros in sub-packages. I have a pass-through macro that I use as a pragma that adds a proc's name and parameters to a seq, from there I use the seq to generate other logic to handle for all the procs that were registered. The issue I'm having is the macro that generates the logic is inside a package called `serve
02:20:39V-Xr` and the procs that get marked with the custom pragma are in a seperate package which depends on the `server` package which causes the logic macro to fire before any procs are registered due to the dependency hierarchy. Araq suggested making a `emitRemotes` call into the `server` package but I'm not sure how that would be done in practice. Any su
02:20:40V-Xggestions?
02:24:41*oculuxe joined #nim
02:26:05ryukopostingdamn, apparently I need to get more acclimated with nim's package hierarchy cause I had to read that a few times to get it
02:26:41*oculux- joined #nim
02:26:50ryukopostingI don't think i can help much though man, sorry
02:27:11*oculux quit (Ping timeout: 255 seconds)
02:27:19V-XI may have worded it weird, sorry if it's confusing, didn't want to write a wall of text.
02:28:34ryukopostingyou're fine, I'm just not familiar enough with how nim handles namespaces and packages to know how to approach your problem, let alone solve it
02:29:12*oculuxe quit (Ping timeout: 245 seconds)
02:31:10ryukopostingmy "dumb" solution would be to just bring the macro downward in the package hierarchy, i.e. move it into a module that would force both of the other packages to get handled first
02:31:37ryukopostingbut I can imagine that isn't necessarily possible in all cases
02:38:28V-XI've created a gist that conveys my issue: `remotesImpl` is the macro that generates the logic, and `remote` is the pass through macro while server_impl.nim is the example upstream package. https://gist.github.com/ImVexed/c07c05120a87ccfbf6240a7f390451dc
02:45:21ryukopostingooooh alright, so let me make sure I have this right
02:46:10ryukopostingwhen you import the module into server_impl, remotesImpl immediately fires when it should fire after the declarations of ping, login, and status
02:46:28V-Xcorrect
02:47:04V-XAraq mentioned explicitly calling the code gen but I have no idea what that would look like in this case.
02:47:07ryukopostingokay, cool. when you described it before I thought you meant that there was a cross-package dependency causing the problem, not a module-level thing
02:51:01*flaviu joined #nim
03:02:34*banc quit (Quit: Bye)
03:21:03*mwbrown joined #nim
03:23:15*banc joined #nim
04:01:36FromDiscord<sillibird> is there a workaround for having a boolean in httpclient MultipartData?
04:20:47*nsf joined #nim
04:50:29*Jjp137 quit (Read error: Connection reset by peer)
04:51:36*Jjp137 joined #nim
04:58:15*vlad1777d quit (Ping timeout: 246 seconds)
05:17:55*leorize quit (Remote host closed the connection)
05:38:04*dddddd quit (Remote host closed the connection)
05:54:42FromGitter<viell> @FromIRC I have added but it doesn't seem to be compiled
06:08:07FromGitter<kayabaNerve> It responds if you ping it? TIL
06:18:54*vlad1777d joined #nim
06:23:44*krux02 joined #nim
06:25:37FromGitter<viell> @kayabaNerve nop
06:37:45FromGitter<kayabaNerve> @FromIRC test
06:37:55*narimiran_ joined #nim
06:38:01FromGitter<kayabaNerve> :thinking: Viell tried to betray my trust.
06:52:19*chimez joined #nim
06:56:39*chimez quit (Client Quit)
07:11:26*narimiran_ is now known as narimiran
07:37:42FromGitter<mratsim> @V-X I'(m not too sure, but if you want to make sure an identifier is present when the macro is used you might want to use bindSym instead of newIdentNode
08:00:00*gmpreussner quit (Quit: kthxbye)
08:04:34*gmpreussner joined #nim
08:17:28*sealmove joined #nim
08:17:53*PMunch joined #nim
08:25:10*Vladar joined #nim
08:29:01krux02newIdent is fine
08:30:34krux02newIdent will be an identifier that will be resolved in the context where the macro is expended, while bindSym can bind to symbols that are only avaialbe in the module where the macro is written.
08:30:50krux02so you can use bind sym to use functions that you don't want to export
08:31:28*sealmove quit (Quit: WeeChat 2.4)
08:42:34*Jjp137 quit (Quit: Leaving)
08:45:04*Jjp137 joined #nim
08:47:58*absolutejam quit (Quit: WeeChat 1.9.1)
08:57:50*neceve joined #nim
09:00:56*ng0 joined #nim
09:12:05*JustASlacker joined #nim
09:17:01*Arlenx joined #nim
09:18:54*Pisuke joined #nim
09:19:12*MyMind quit (Ping timeout: 245 seconds)
09:25:20*beaumonta joined #nim
09:25:27*abeaumont quit (Ping timeout: 245 seconds)
09:30:05*gangstacat quit (Ping timeout: 245 seconds)
09:30:50*gangstacat joined #nim
09:31:45*disruptek_ joined #nim
09:32:26*banc quit (Ping timeout: 255 seconds)
09:33:30*MightyJoe joined #nim
09:35:05*banc joined #nim
09:35:08*disruptek quit (Remote host closed the connection)
09:35:08*cyraxjoe quit (Ping timeout: 245 seconds)
09:35:28*druonysus quit (Ping timeout: 245 seconds)
09:35:49*druonysus joined #nim
09:35:49*druonysus quit (Changing host)
09:35:49*druonysus joined #nim
09:38:38*sz0 quit (Quit: Connection closed for inactivity)
09:41:47*abm joined #nim
09:48:13*floppydh joined #nim
09:59:09FromGitter<gogolxdong> How to write a nimterop file of git?
10:09:07*volkov joined #nim
10:20:39FromGitter<mratsim> you have to ping @shashlick
10:23:31FromGitter<gogolxdong> sure, I didn't see him recently.
10:29:55*theelous3 joined #nim
10:35:22FromGitter<mratsim> maybe @genotrance
10:50:47FromGitter<matrixbot> `Juan Carlos` I love Stroppings on Nim. No more klazz, cl4ss, clas, like Python, just use the same word backtick'd. :)
11:24:06*stefanos82 joined #nim
11:42:17*leorize joined #nim
11:52:34FromGitter<hfabre> Hi there, very new to nim, I justed wanted to try cross compilation with lib ui; i tried:
11:54:21FromGitter<hfabre> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c7528ed608c6f373627ca36]
11:54:29FromGitter<hfabre> but I run into this:
11:54:56FromGitter<hfabre> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c75290f608c6f373627cb7c]
11:55:10FromGitter<hfabre> any idea on how to solve this ?
12:02:30FromGitter<hfabre> Seems to work without issue with iup, i'll try this one for now. But if you have a solution I would prefer to use what might become Nim's official UI library.
12:05:03*volkov quit (Quit: volkov)
12:10:18*lritter joined #nim
12:10:19FromGitter<hfabre> Hop after try I have some issue as well with lib iup. When I compile it on my host for my host (MacOS) it works but I get:
12:10:35FromGitter<hfabre> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c752cbbc1cab53d6f3fc7bd]
12:11:37FromGitter<hfabre> compiled with `nim c -d:nimDebugDlOpen uip.nim`
12:27:26*gmpreussner_ joined #nim
12:29:21*neceve_ joined #nim
12:29:25*sknebel_ joined #nim
12:30:03FromGitter<mratsim> you need the dll neer the build binary or in your LD_LIBRARY_PATH
12:30:17FromGitter<mratsim> near*
12:30:22*arecacea1 joined #nim
12:30:23*gmpreussner quit (Ping timeout: 246 seconds)
12:30:23*kungtotte quit (Ping timeout: 246 seconds)
12:30:24*neceve quit (Ping timeout: 246 seconds)
12:30:24*V-X quit (Ping timeout: 246 seconds)
12:30:24*sknebel quit (Ping timeout: 246 seconds)
12:30:25*kungtotte joined #nim
12:30:28*banc quit (Ping timeout: 255 seconds)
12:30:29*arecaceae quit (Ping timeout: 255 seconds)
12:30:29*so quit (Ping timeout: 255 seconds)
12:30:30*zestyr quit (Ping timeout: 255 seconds)
12:30:30*masterdonx quit (Ping timeout: 255 seconds)
12:30:30*Jesin quit (Ping timeout: 255 seconds)
12:30:30*bobby quit (Ping timeout: 255 seconds)
12:30:31FromGitter<mratsim> near the built binary
12:30:39*MasterdonY joined #nim
12:30:47*so_ joined #nim
12:30:50FromGitter<mratsim> iirc most are using nimx at the moment for UI
12:30:54*zestyr joined #nim
12:31:08FromGitter<mratsim> https://github.com/yglukhov/nimx
12:31:56*Jesin joined #nim
12:32:26*bobby joined #nim
12:33:36*marcazar joined #nim
12:35:17*banc joined #nim
12:36:05*marcazar quit (Client Quit)
12:37:02*marcazar joined #nim
12:38:52*marcazar quit (Client Quit)
12:40:25*marcazar joined #nim
12:41:29livcdi have not seen any application in nimx :/
12:41:33livcdis there some in the wild ?
12:43:07*marcazar quit (Remote host closed the connection)
12:43:38*marcazar joined #nim
12:48:43leorizelivcd: I believe reel valley uses it
12:50:59PMunchhfabre, another option if you want cross platform UIs is to use wxnim
12:51:16PMunchIt also comes with a nice macro to create your UIs more easily
12:51:50narimiranhow about https://github.com/trustable-code/NiGui ?
12:51:54livcdleorize: oh yeah but i meant other than reel valley..too bad i was not able to compile it
12:52:28livcdthere's also sciter
12:55:22PMunchI really should get my lib working..
13:05:36FromDiscord<Zireael> hey guys, working on baby's first Nim program, and coming from Python, I'm trying to figure out an equivalent to the following:
13:05:36FromDiscord<Zireael> try:
13:05:36FromDiscord<Zireael> self.loop_until_terminal_exits()
13:05:36FromDiscord<Zireael> except KeyboardInterrupt:
13:05:37FromDiscord<Zireael> pass
13:05:37FromDiscord<Zireael> finally:
13:05:37FromDiscord<Zireael> terminal.close()
13:06:38FromDiscord<Zireael> I know Nim has some sort of a try/except equivalent, but is there a KeyboardInterrupt https://docs.python.org/2/library/exceptions.html#exceptions.KeyboardInterrupt equivalent?
13:08:20FromGitter<hfabre> Going to try those lib, thanks :)
13:09:02FromGitter<matrixbot> `Juan Carlos` https://github.com/juancarlospaco/nim-presentation-slides/blob/master/ejemplos/avanzado/control_c/catch_ctrl_c.nim
13:15:28*dddddd joined #nim
13:16:04*lritter quit (Ping timeout: 246 seconds)
13:18:45*lritter joined #nim
13:28:43*sknebel_ is now known as sknebel
13:29:20*lritter quit (Remote host closed the connection)
13:37:12*Snircle joined #nim
13:42:55*lritter joined #nim
13:43:46shashlick@gogolxdong do you mean pulling a repo with nimterop?
13:44:44shashlickHere's a few examples
13:44:45shashlickhttps://github.com/nimterop/nimterop/blob/master/tests/tsoloud.nim
13:45:00*gangstacat quit (Quit: Ĝis!)
13:45:02shashlickhttps://github.com/genotrance/feud/tree/master/wrappers
13:47:19shashlickWhat are you planning on wrapping?
14:02:35*beaumonta is now known as abeaumont
14:02:54FromGitter<arnetheduck> given a `Table`, what's the best way to iterate over the entries and remove some based on a condition? a bad way is to copy the keys to a separate seq and walk it, doing lookups again..
14:03:53*gangstacat joined #nim
14:08:10Zevvyeah, good question. I've been told here the latter is the only way
14:08:56Zevvhaving deletion-safe iterators would be great, but alas
14:09:27FromGitter<mratsim> Python does not have deletion safe iterators
14:09:39Zevvso what?
14:09:42ZevvLua does
14:09:50Zevvalso, so what. This is Nim, we don't have to look at others :)
14:10:17FromGitter<mratsim> what I meant was that it's not an easy problem
14:10:33FromGitter<mratsim> maybe SharedTable have something
14:11:29FromGitter<arnetheduck> well, it's an easy problem if you have powerful-enough iterators ;)
14:13:23Zevvbut is it? It probably seriously limits the implementation if you can't reorganize after a delete.
14:13:44ZevvI guess it might be more simple for ordered tables, as the 'next' is not ambigious after a delete
14:14:33FromGitter<mratsim> there is no next in table, they make no guarantee of order
14:14:43Zevvright
14:15:32FromGitter<matrixbot> `Juan Carlos` doesnt critbit has that?, Ive never tried.
14:15:51FromGitter<mratsim> isn't critbit only for strings?
14:16:17*rockcavera quit (Ping timeout: 245 seconds)
14:16:56AraqI use a seq/array when that happens and an idiom like while i < x.len: if cond: x[i] = x[x.high]; setLen(x, x.len-1) else: inc i
14:18:44AraqI don't understand how "powerful-enough iterators" make it possible, it depends on the details of the table implementation
14:18:55*aguspiza joined #nim
14:22:48FromGitter<arnetheduck> Araq, that doesn't solve the problem though.. effectively, `Table` is hobbled because while there exist ways to walk&delete tables in `O(N)` and no extra memory, there's no such api offered. "powerful-enough iterators" means that they're first-class citizens that represent the relationship between an item and its collection, and can be used for all such purposes (deleting, relative inserting etc etc) - true, they're
14:22:48FromGitter... one solution among many, but obviously a well-established one
14:24:20FromGitter<gogolxdong> @shashlick , I meant making git with Nim.
14:24:49FromGitter<mratsim> iterators are supposed to leave the original collection untouched though (like filter for seq).
14:24:59FromGitter<mratsim> in-place mutation shouldn't be called iterator
14:27:43Zevvobliterator? omiterator? revisiterative?
14:30:14FromGitter<arnetheduck> sure, find a better name if you wish, but that's kind of beside the point.. technically, it's not the iterator that mutates things - it merely serves as a placeholder to identify the position of an item in a collection.. from there, you can do what you wish with it (move in directions, use it as a pointer with other collection methods etc)
14:30:31FromGitter<mratsim> obliterator lol
14:30:40*rockcavera joined #nim
14:31:11FromGitter<mratsim> I think we call that a pointer from where I came from ;)
14:32:50AraqI don't know about these "well established" solutions, most languages don't offer them.
14:33:32*Arlenx quit (Quit: Leaving)
14:33:56Araqdatabases do but usually the overhead is so high that the goto-table implementation of a PL is better off not attempting to support these stunts
14:37:31shashlickPerhaps make a seq of keys to delete and loop thru that
14:38:03Zevvavoiding that was the original question of arnetheduck
14:38:22shashlickNo he was making a seq of all table keys
14:39:03shashlick@gogolxdong want to wrap libgit2?
14:39:14shashlickI think there was already one
14:39:22Zevvonly he can tell: "...is to copy the keys to a seperate seq...". Which keys?
14:39:34FromGitter<arnetheduck> shashlick, yeah thats's mostly the same though, O(N) extra mem and O(N log N) perf
14:40:43shashlickI see, depends how many keys you delete at a time
14:41:16Araqfwiw I would like to replace the Table implementation with BTrees because I'm tired of whale-a-mole hashing solutions where there is always some insertion order that produces O(n) results
14:41:37*rockcavera quit (Remote host closed the connection)
14:41:55Araq*whack-a-mole
14:42:42*abm quit (Read error: Connection reset by peer)
14:45:32FromGitter<mratsim> B-Trees in stdlib would be nice
14:46:23Araqthere is compiler/btrees
14:48:03FromGitter<mratsim> hash tables are such an active area of research :P benchmarks everywhere: https://attractivechaos.wordpress.com/2018/01/13/revisiting-hash-table-performance/ and https://www.tommyds.it/doc/benchmark
14:53:04AraqIn this micro-benchmark (source code here), we have N 32-bit integers with ~25% of them are distinct." -- doesn't seem to cover my use cases
14:56:52Araqand usually there is demand to throw away some performance in order to avoid exploitable worse cases
15:00:28FromGitter<Varriount> ryukoposting: Are you there? I'm doing an AWS thing too
15:01:54FromGitter<arnetheduck> so `nim` gives a nod to this problem by having a `keepIf` etc for `seq` - it's just not extended to the other collections, and the "solved problem" way of dealing with this is usually abstracting "position", and yes, calling that an iterator so that it's easy to compose.. that said, it's more a property of the collection library and not the language..
15:03:35*PMunch quit (Remote host closed the connection)
15:06:02FromGitter<mratsim> I think this should be solved by a common container concept or interface,
15:06:44FromGitter<mratsim> like we have indexable and iterable planned
15:07:24FromGitter<mratsim> so that brings consistency to whatever will be created in the future
15:08:07FromGitter<mratsim> (ideally we shouldn't design that too ahead of any implementation to not paint ourself in a corner)
15:08:33Zevvand having an explict api will make clear to the users which iteratables allow delete-while-iterating -> less confusion
15:09:17Zevvaraq's idiom might be efficient, but its not obvious
15:10:38FromGitter<arnetheduck> Zevv, Araq's idiom is "don't use `Table`" - not sure if that falls within the scope of a "not obvious" discussion
15:12:40Zevvtrue
15:12:53FromGitter<mratsim> allocating extra space is often slow
15:22:35FromGitter<gogolxdong> @shashlick, not exactly, I am going to update git with QUIC protocol, need to know a quicker way.
15:24:05*noeontheend joined #nim
15:24:12*Trustable joined #nim
15:27:04FromGitter<slomp> Is there a way to have `passC` pragmas only affect the module in which it's being used, instead of latching through all other modules?
15:27:20FromGitter<mratsim> no documented way ;)
15:27:26FromGitter<mratsim> but I have an undocumented one
15:27:49FromGitter<mratsim> you can use a nim.cfg like so - https://github.com/numforge/laser/blob/master/nim.cfg
15:27:50FromGitter<slomp> would you be so kind as to please elaborate :)
15:28:19FromGitter<mratsim> your_file.always = "-yourflag"
15:28:28FromGitter<mratsim> and it will pass the C flag to the compiler
15:28:48FromGitter<mratsim> your_file should be replaced by your nim file name (without .nim)
15:29:11FromGitter<mratsim> if it's a nimble module it should be prefixed with your nimblepackage_your_file.always
15:29:26FromGitter<mratsim> (because the C file produced will have the nimble package name as prefix)
15:29:51FromGitter<mratsim> (and the .cfg is looking doing matching rule with C file)
15:30:14*waleee joined #nim
15:30:24FromGitter<mratsim> @Araq thoughts on having a "local" passC?
15:30:31FromGitter<slomp> Ah, interesting. Thanks! ⏎ It's a bit cumbersome, but good to know. ⏎ Would be nice if we could simply `{.push.}` and `{.pop.}` things like `passC`.
15:30:47FromGitter<mratsim> that would be super helpful for me for SIMD and also Cuda compilation.
15:31:28FromGitter<mratsim> also I wouldn't need to distributed my nim.cfg to others that want to use my library
15:33:22FromGitter<slomp> Yeap. ⏎ Not only local to a nim file, but local at the pragma level: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c755c41d2d62067b70d915d]
15:35:52*neceve_ quit (Remote host closed the connection)
15:40:52*krux02 quit (Remote host closed the connection)
15:46:24*federico3 quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
15:48:12*federico3 joined #nim
15:55:44FromDiscord<Zireael> weird, "for i .. < width"
15:55:44FromDiscord<Zireael> I am getting a deprecation warning for < on all such lines
15:55:44FromDiscord<Zireael> writing for i .. width-1 is annoying... really, why deprecation?
15:55:59FromDiscord<Zireael> nim 0.19.4 btw
15:56:03narimiran@Zireael `..<`
15:56:08narimiranwithout space
15:56:57FromDiscord<Zireael> weird, but ok, thanks
15:57:35narimiranwe have `..` and `..<`. one is inclusive, other one is not. what is weird there?
15:58:00FromDiscord<Zireael> weird is that the spacing matters
15:58:21narimirancan you call `foo` like `fo o`?
16:00:35FromDiscord<Zireael> < is just a mathematical operator, though
16:08:26*JustASlacker quit (Remote host closed the connection)
16:10:41FromGitter<matrixbot> `Juan Carlos` Space wont matter, is the space between the symbols chars that matter: https://wandbox.org/permlink/KxzTTi19StCyeEsQ
16:11:10FromGitter<matrixbot> `Juan Carlos` Not NEP1 but illustrates the idea.
16:14:01FromGitter<gogolxdong> That's to say I have to translate chrome first, if anyone think it's viable and got interested in , please let me know, we really need to leverage the power of our community member to make some fundamental tools in Nim. The piece of my effort is so limited that I felt weak when facing to such idea since so much code and knowledge involved that beyond my scope. QUIC provides a strategy step to make Nim popular, I
16:14:01FromGitter... call on anyone who is capable to work as a whole to make it come true. This matters Nim and everyone who loves Nim.
16:14:56shashlick@gogolxdong: so you want git to talk over QUIC instead of ssh/https?
16:17:49FromGitter<gogolxdong> yes
16:18:12shashlicki guess you could write a dll/so that git loads and uses perhaps
16:20:05FromGitter<gogolxdong> still need extract QUIC code from chrome source code or implement QUIC by IETF Draft .
16:24:05shashlickbetter to leverage - do you have links to the chrome code
16:25:11FromGitter<gogolxdong> https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md
16:25:38FromGitter<gogolxdong> and https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md
16:27:19FromGitter<gogolxdong> I studied Chrome gn makefile, the demo quic_server and quic_client dependences as follows: ⏎ "//base", ⏎ "//net", ⏎ "//url:url_features", ⏎ "//url", ... [https://gitter.im/nim-lang/Nim?at=5c7568e7608c6f373629952d]
16:28:53FromGitter<gogolxdong> takes one half hour to fetch code at 10MB/s
16:29:51FromGitter<gogolxdong> need to go to sleep, good luck!
16:30:57FromGitter<matrixbot> `Juan Carlos` dat flooding tho
16:32:47shashlick@gogolxdong - if you can point me to the specific files, will be interesting to see if we can use nimterop to wrap the relevant procs
16:36:47shashlickit's all C++ so forget nimterop for now
16:37:18shashlickhttps://github.com/chromium/chromium/tree/master/net/quic
16:51:37Araqmratsim: what's a local passc? a pragma?
16:55:48shashlickfile specific
16:55:59shashlicksend a flag for just one file
16:56:35Araqah
17:02:26*aguspiza quit (Ping timeout: 255 seconds)
17:02:45*Arlenx joined #nim
17:09:16*icebattle joined #nim
17:20:14*rockcavera joined #nim
17:45:21FromGitter<slomp> @mratsim @Araq I created a simple issue thread in case people want to discuss the idea in more depth: https://github.com/nim-lang/RFCs/issues/137
17:46:21narimiranthank you for using RFCs repo :)
17:50:19*natrys joined #nim
17:51:58*zachk joined #nim
17:55:11*seerix quit (Remote host closed the connection)
17:58:49FromGitter<kaushalmodi> I probably missed out some development on devel in last 2-3 weeks
17:58:54FromGitter<kaushalmodi> `nim c --app:lib --out:libdpi.so libdpi.nim` used to work
17:59:10FromGitter<kaushalmodi> now that is creating a `libdpi` binary, not libdpi.so
18:00:35*zachk quit (Changing host)
18:00:36*zachk joined #nim
18:05:01FromGitter<Varriount> @kaushalmodi What OS are you on?
18:07:12FromGitter<kaushalmodi> RHEL 6.8 (GNU/Linux)
18:07:18FromGitter<kaushalmodi> opened issue at https://github.com/nim-lang/Nim/issues/10747
18:13:46*ldlework quit (Quit: co'o ro do)
18:19:42*ldlework joined #nim
18:21:41*ldlework quit (Quit: co'o ro do)
18:23:18*ldlework joined #nim
18:31:12*abm joined #nim
18:38:08*V-X joined #nim
18:48:05*noeontheend quit (Ping timeout: 244 seconds)
18:55:23*Vladar quit (Read error: Connection reset by peer)
18:58:51*rockcavera quit (Remote host closed the connection)
19:18:35FromGitter<coocheenin> Hi, all! I will wonder if choosenim support i386 on Linux?
19:19:11FromGitter<coocheenin> choosenim-init: Error: Sorry, your platform (linux_i386) is not supported by choosenim
19:19:33Araqinteresting, wasn't aware
19:19:56Araqyou can follow our official installation instructions then, no choosenim, but Nim does work on 32bit linux
19:20:29*kungtott1 joined #nim
19:20:37*kungtotte quit (Ping timeout: 246 seconds)
19:20:39*so_ quit (Ping timeout: 246 seconds)
19:20:48*zestyr quit (Ping timeout: 255 seconds)
19:20:48*V-X quit (Quit: Ping timeout (120 seconds))
19:20:56*so joined #nim
19:20:56*zestyr joined #nim
19:21:00*Jesin quit (Ping timeout: 246 seconds)
19:21:02*lritter quit (Ping timeout: 255 seconds)
19:21:26*Jesin joined #nim
19:21:29*dddddd quit (Ping timeout: 255 seconds)
19:21:58*dddddd joined #nim
19:22:00*lritter joined #nim
19:22:33FromGitter<coocheenin> @Araq Ok, I will try to install from source...
19:24:54*nsf quit (Quit: WeeChat 2.4)
19:29:03*Jesin quit (Quit: Leaving)
19:33:26FromGitter<coocheenin> Sad, CentOS is not to see in package managers list. The only way is installation from source. I'm curious about choosenim init script error
19:41:31*Jesin joined #nim
19:45:11*rockcavera joined #nim
19:52:55*waleee quit (Quit: WeeChat 2.4)
20:20:59FromGitter<coocheenin> The last step (koch execution) has finished with failure. ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c759fab4a65f754733091df]
20:21:20FromGitter<coocheenin> Maybe somebody knows what exactly goes wrong?
20:22:29Araquse a GCC from this century
20:23:22FromGitter<matrixbot> `Juan Carlos` Centos tend too have super old GCC, SSL, PCRE libs.
20:24:18CalinouI'm not sure if there are official 32-bit Linux binaries available too
20:24:38*marcazar_ joined #nim
20:25:42FromGitter<coocheenin> Folks, which version of GCC will require?
20:26:15AraqC++11 has atomics
20:26:35Araqany GCC from the last 8 years could do it, maybe
20:27:17*marcazar quit (Ping timeout: 244 seconds)
20:30:53FromGitter<coocheenin> I've checked thus version ⏎ `gcc version 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) `
20:32:13FromGitter<matrixbot> `Juan Carlos` GCC 8.2 here.
20:34:40Calinouis there a CentOS repository that contains an up-to-date toolchain?
20:34:59FromGitter<matrixbot> `Juan Carlos` If you can get a Docker, because upgrading the GCC on Centos may be more work, and even if you can update the version you will find problems with SSL and PCRE too.
20:38:20Araqdunno, use an OS where you can update programs independently from the OS or something. I thought "operating" kinda implies that it actually works
20:38:48CalinouFlatpaks can't be used for low-level system tools or development toolchains :(
20:38:55FromGitter<coocheenin> > *<Calinou>* is there a CentOS repository that contains an up-to-date toolchain? ⏎ I try to find it. Thanks All.
20:40:35FromGitter<coocheenin> By the way: Can I cross-compile on Mac to Linux?
20:41:55Calinouthat's possible, I've never done it though
20:45:47*floppydh quit (Quit: WeeChat 2.3)
20:48:26*icebattle quit (Quit: leaving)
20:58:06*Senketsu_ quit (Quit: WeeChat 2.3)
20:58:15shashlickcoocheenin: you could build a binary that works for you with holy build box
20:58:27*icebattle joined #nim
20:59:05shashlickI have a script I can share once I get back home to my linux box
20:59:33*Senketsu joined #nim
20:59:34shashlickhttps://github.com/phusion/holy-build-box
21:00:03shashlicka binary built using that should work on centos 6.8 per their docs
21:00:44shashlicki can also build and post a binary if you want to trust an unofficial build
21:12:30FromGitter<brentp> holy build box doesn't work with choosenim
21:12:34FromGitter<brentp> same error as above.
21:12:51FromGitter<brentp> before 0.19, it worked, not after
21:13:38*Arlenx quit (Quit: Leaving)
21:13:41*Trustable quit (Remote host closed the connection)
21:14:25FromGitter<coocheenin> @shashlick I will check it out. Thanks.
21:17:05*marcazar_ quit (Remote host closed the connection)
21:17:17FromGitter<coocheenin> @brentp thanks for a notice! I will try to install from sources (with holy bb), without choosenim
21:20:02FromGitter<coocheenin> Additionally I will try to cross-compile to Linux with clang
21:20:14FromGitter<brentp> I think hbb is centos5, I had to update to centos6. those binaries work for most users, IME
21:22:46FromGitter<Varriount> We should just build all our binaries with musl
21:25:47*narimiran quit (Ping timeout: 240 seconds)
21:27:07FromGitter<matrixbot> `Juan Carlos` A comparation of hbb Vs musl would be cool.
21:30:53*natrys quit (Quit: natrys)
21:46:23FromGitter<brentp> a good solutoin for this would be nice. I am currently trying to get a static build for stuff that depends on ssl, libcurl, lzma, bz2, etc.
21:52:32*carlosmmiranda[m joined #nim
22:03:53shashlickholy build box won't work for choosenim - you can build choosenim in it if you want, but there's no ready choosenim binary for 32-bit linux
22:14:45*tiorock joined #nim
22:14:45*tiorock quit (Changing host)
22:14:45*tiorock joined #nim
22:14:45*rockcavera is now known as Guest21846
22:14:46*tiorock is now known as rockcavera
22:18:44*Guest21846 quit (Ping timeout: 250 seconds)
22:47:03*rockcavera quit (Remote host closed the connection)
22:57:07*thomasross joined #nim
23:14:42FromGitter<deech> When Nim export a reference to an object that is not exported (eg. `NonTerminal` https://nim-lang.org/docs/pegs.html#NonTerminal) it seems that client code is able to access the underlying object's fields. For example, `eventParser` (https://nim-lang.org/docs/pegs.html#eventParser.t%2Cuntyped%2Cuntyped) is able to call `p.nt.name` which is the `name`field of the unexported `NonTerminalObj` object. In this case it should
23:14:42FromGitter... be an error for `NonTerminalObj` to be private because you can access it but confusingly the docs hide it. Thoughts?
23:27:51rayman22201It's more of a doc bug. Technically, NonTerminalObj is exported, but only in ref form. The module is designed to only allow the creation of / usage of refs to NonTerminalObj's. This is a common pattern in the stdlib, but the docs don't deal with it well.
23:29:18*noeontheend joined #nim
23:51:22FromGitter<deech> Interesting. When I see a function or object without an `*` I assumed it was private and that I could mess with the internals without breaking client code. Guess not. Maybe a `-` or even a `{.private.} pragma next to the to ensure privacy would be nice: ⏎ ⏎ ```type ⏎ Foo- = object ⏎ ... ⏎ Bar {.private.} = object ⏎ ...``` [https://gitter.im/nim-lang/Nim?at=5c75d0f9608c6f37362c5fea]
23:57:01shashlickI already have hbb working, just need to integrate into travis/nightlies
23:57:07shashlickmusl isn't as trivial
23:57:46shashlickcoocheenin: am building an x32 build of 0.19.4, once script is working, I'll post online
23:59:30*lritter quit (Ping timeout: 258 seconds)
23:59:33*leorize quit (Quit: WeeChat 2.3)