<< 30-08-2019 >>

00:20:17*snooptek joined #nim
00:25:02*actuallybatman quit (Ping timeout: 245 seconds)
00:26:22*actuallybatman joined #nim
00:41:56*wildtrees quit (Quit: Leaving)
00:45:00*krux02_ quit (Remote host closed the connection)
01:22:49FromDiscord_<Shield> I don't think it's working like I think it works, it detects possible leaks for loaded libraries, but allocating a bunch of memory in pointers without freeing it isn't detected at all
02:03:42*owl joined #nim
02:03:57*owl quit (Client Quit)
02:04:37*nif quit (Quit: ...)
02:04:46*nif joined #nim
02:07:58*nif quit (Client Quit)
02:08:07*nif joined #nim
02:11:19*nif quit (Client Quit)
02:11:28*nif joined #nim
02:20:29rayman22201"1.) Memory that is still reachable by the application. This is NOT considered a leak. It is reported as "still-reachable allocation(s)" in Dr. Memory's summary. Many applications do not explicitly free memory whose lifetime matches the process lifetime and this is not considered an error by Dr. Memory." http://drmemory.org/docs/page_leaks.html
02:20:46rayman22201same for valgrind
02:21:20rayman22201Do you just want to get amount of memory your program got from the OS?
02:21:38rayman22201something like this might do what you want: https://docs.microsoft.com/en-us/sysinternals/downloads/pslist
02:23:50rayman22201or the powershell Get-Process command maybe? https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-process?view=powershell-6
02:25:06*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
02:27:16*leorize quit (Ping timeout: 260 seconds)
02:27:29*laaron joined #nim
02:28:37*laaron quit (Remote host closed the connection)
02:32:27*leorize joined #nim
02:32:52*laaron joined #nim
02:36:10*endragor joined #nim
02:42:30FromDiscord_<Shield> I wanted to know if getOccupiedMem and other memory functions work with newruntime
02:42:37FromDiscord_<Shield> I also found a funny bug?
02:46:19FromDiscord_<Shield> https://play.nim-lang.org/#ix=1TO4
02:46:40FromDiscord_<Shield> removing sink or reordering function calls make it work
02:51:35*owl_000 joined #nim
03:08:10leorizeI don't think those will work in newruntime, there aren't any GC to keep track of things anymore
03:15:33*actuallybatman quit (Ping timeout: 244 seconds)
03:15:57*laaron quit (Remote host closed the connection)
03:17:51*laaron joined #nim
03:22:40*actuallybatman joined #nim
03:27:22*pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
03:27:55*pbb joined #nim
03:30:49FromDiscord_<Shield> keeping track of object count and allocations/deallocations in general would still be nice, for debug purpose
03:31:17*actuallybatman quit (Ping timeout: 245 seconds)
03:38:23*actuallybatman joined #nim
03:39:38*theelous3 quit (Ping timeout: 245 seconds)
03:43:52*chemist69 quit (Ping timeout: 276 seconds)
03:45:31*chemist69 joined #nim
03:50:56*Jjp137 quit (Read error: Connection reset by peer)
03:51:21*Jjp137 joined #nim
03:57:03*owl_000 quit (Ping timeout: 264 seconds)
04:16:48*fjellfras joined #nim
04:24:07*owl_000 joined #nim
04:58:39*nsf joined #nim
05:06:39*owl_000 quit (Ping timeout: 264 seconds)
05:36:22*narimiran_ joined #nim
05:37:50*absolutejam1 joined #nim
05:40:22*Hideki_ joined #nim
05:42:11*juturnas quit (Ping timeout: 260 seconds)
05:45:24Hideki_Hi! Greeting from Japan. I just started to study Nim with Nim in Action.
05:45:57*narimiran_ is now known as narimiran
05:50:11AraqHi! welcome!
05:53:10*alexander92 joined #nim
05:53:42alexander92hm araq
05:53:49alexander92when will async work with newruntime
05:54:26alexander92just asking how much more work is (if there are blocker)
05:57:08*solitudesf- joined #nim
06:03:31*solitudesf- quit (Ping timeout: 246 seconds)
06:05:02AraqI work in tick-tock-cycles, roughly
06:05:22AraqI'm in tick now, which means bugfixes and minor improvements everywhere
06:05:38Araqtock means working on the two elephants
06:05:54Araqwhich are IC and newruntime
06:08:01AraqI don't know when async will be ready but I have a plan B for a free weekend
06:08:05*sagax joined #nim
06:10:41*solitudesf- joined #nim
06:12:09alexander92interesting: is the async stuff just needing a newruntime-aware group of fixes of the async modules
06:12:43alexander92or would it require additional changes to the internal pointer checking stuff
06:15:42*absolutejam1 quit (Ping timeout: 272 seconds)
06:15:56FromDiscord_<Shield> araq: did you see my snippet?
06:17:13Araqreport it properly
06:18:59FromDiscord_<Shield> i'm still trying to learn how to use newruntime properly so I don't know if it's a bug or not
06:20:53Araqit should be a compile-time error
06:21:09Araq(yes, this is actually covered by the allmighty spec)
06:24:37*fjellfras quit (Ping timeout: 245 seconds)
06:27:33*fjellfras joined #nim
06:32:10FromDiscord_<Shield> it also appears that you cannot forward declare the destroy proc to solve it
06:33:33*Virxes quit (Remote host closed the connection)
06:35:34Zevvhttps://forum.nim-lang.org/t/5146: good question, but no answer yet. Is there any way to inspect ownership from the code with the newruntime?
06:37:19*Hideki_ quit (Remote host closed the connection)
06:37:33*solitudesf- quit (Ping timeout: 245 seconds)
06:38:00*Hideki_ joined #nim
06:42:13FromDiscord_<Shield> https://github.com/nim-lang/Nim/issues/12092
06:42:22*Hideki_ quit (Ping timeout: 246 seconds)
06:43:18*PMunch joined #nim
06:45:16FromDiscord_<Shield> btw how do you debug newruntime? I guess you can add an echo or a counter to destroy, anything else?
06:48:33alexander92you can use gdb/rr imho: with e.g. breakpoints/watchpoints
06:49:01*Hideki_ joined #nim
06:52:37AraqZevv: I replied, it's a very interesting case
06:52:53Zevvit is
06:53:23*alexander92 quit (Ping timeout: 245 seconds)
06:53:47AraqI think the solution is that conversions from 'owned ref T' to 'ref T' are not applicable for 'sink' parameters :-)
06:55:55Zevvmy earlier question, is there some way to inspect ownership at runtime, or should there be if not? Its hard to figure these things out by reasoning only, and somehow getting feedback about what is happening would be very helpful for adaption of the newruntime imho
06:56:42Araqactually that's wrong, the seq can be a view into the owned pointers
06:56:48Araqtough nut
06:57:14Araqbut if ownership is not passed, X's destructor should have been injected
06:57:35Araqwell that doesn't help either since it was moved
06:57:37Araqlol
06:57:59Araqyou cannot inspect ownership at runtime, it has no bit representation
06:58:37Araqyou can wait for static analysis to catch up though, we are already do more checking that the original B/D does
06:59:48AraqShield: I use -d:useMalloc and valgrind
07:00:00*gmpreussner quit (Quit: kthxbye)
07:03:51Zevvaraq: right, thanks
07:04:01*krux02 joined #nim
07:04:32*gmpreussner joined #nim
07:09:26*dddddd quit (Remote host closed the connection)
07:13:34*damuz joined #nim
07:19:37FromDiscord_<Shield> is debugger:on broken? I get "debugger.nim(193, 9) Error: undeclared field: 'kind' "
07:22:57*actuallybatman quit (Ping timeout: 268 seconds)
07:25:38*absolutejam1 joined #nim
07:32:10Araq--debugger:native ?
07:32:28AraqENDB is not supported anymore, since quite some time
07:40:34FromDiscord_<Shield> nvm, gdb is working
07:43:26Zevvshouldnt we throw out endb then?
07:49:15*owl_000 joined #nim
07:50:27AraqI think I did?
07:56:12*Hideki_ quit (Remote host closed the connection)
07:56:53*Hideki_ joined #nim
07:57:06*Vladar joined #nim
08:01:48*Hideki_ quit (Ping timeout: 268 seconds)
08:03:15*sagax quit (Read error: Connection reset by peer)
08:15:47*Hideki_ joined #nim
08:16:41*Hideki_ quit (Remote host closed the connection)
08:20:23*floppydh joined #nim
08:22:44*Hideki_ joined #nim
08:22:44*ng0 joined #nim
08:27:01*Hideki_ quit (Ping timeout: 246 seconds)
08:30:06*sagax joined #nim
08:36:06*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
08:36:58*laaron joined #nim
08:45:22FromGitter<mratsim> is there a makeOwned or toOwned magic to transform a ptr T to an owned ref T?
08:45:44*owl joined #nim
08:47:44owlthough i am new to nim. today i tried gui in nim out of curiosity. i fall in love with nigui. super easy, small exe size and fast to compile.
08:48:03*owl_000 quit (Ping timeout: 264 seconds)
08:53:09*Hideki_ joined #nim
08:57:55*owl is now known as owl_000
09:01:28owl_000the exe size of "button click change hello world label text by predefined texts" is 142KB, and upx compressor make it 56kb only. a gui program!!!
09:05:48PMunchOh wow, that's actually pretty impressive
09:07:26owl_000i never thought programing gui in a compiled language will be this easy.
09:08:02*laaron quit (Remote host closed the connection)
09:11:11Araqwhat's nigui? :-)
09:11:32owl_000https://github.com/trustable-code/NiGui
09:12:06FromGitter<mratsim> did you also try ui? How does it compare? https://github.com/nim-lang/ui/blob/master/examples/controllgallery2.nim
09:12:45owl_000i can't compile ui
09:13:33owl_000then i tried nigui and absolutely fall in love. on the other hand ui take longer time to compile
09:13:50*laaron joined #nim
09:14:23FromGitter<mratsim> since nigui uses raw GTK, it benefits from dead code elimination while with ui, you need to also compile the whole libui binary
09:15:09FromGitter<mratsim> btw, you should now about nigui Araq, it's part of the important packages: https://github.com/nim-lang/Nim/blame/25581c796f519cb41d8b40b48bf160678339b87f/testament/important_packages.nim#L45
09:15:29owl_000in windows it uses winapi as far as i understood. (i am newbie i don't understand computer that much)
09:15:49FromGitter<mratsim> yes
09:15:53Araqmratsim: good to know :P
09:16:01FromGitter<mratsim> everyone starts as a beginner, don't worry
09:16:18FromGitter<mratsim> ui is not part of the important packages though ;)
09:18:10owl_000please add more feauture in nigui. so easy just like python tkinter. lol
09:18:26*laaron quit (Remote host closed the connection)
09:18:50*laaron joined #nim
09:18:55FromGitter<mratsim> the best way to add the features you need is to do-it-yourself ;)
09:19:20owl_000lol
09:20:27FromGitter<mratsim> For example, maybe you know about the x264 video encoder / H264 standard. Only one guy is working on it and it's used by everyone for videos from Youtube to Twitch, this is how he started: https://news.ycombinator.com/item?id=320102
09:28:40owl_000wow, great article. thanks.
09:29:58PMunchWait, there's only one guy working on H264?!
09:33:16def-the x264 codec, not the standard itself
09:33:40def-and that seems to be out of date, Jason's site has disappeared and I haven't seen any commits by him in the last years: https://code.videolan.org/videolan/x264/commits/master
09:44:06*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
09:44:13def-(apparently they rewrote their git history and Jason is now Fiona, but my point still stands)
09:44:59*laaron joined #nim
09:48:55*alexander92 joined #nim
10:13:01*absolutejam1 quit (Ping timeout: 244 seconds)
10:18:11*fjellfras quit (Ping timeout: 244 seconds)
10:18:49*Hideki_ quit (Remote host closed the connection)
10:19:16*Hideki_ joined #nim
10:21:14*abm joined #nim
10:24:16*NimBot joined #nim
10:25:00*mal`` joined #nim
10:26:38*xet7 joined #nim
10:27:00*nif quit (Quit: ...)
10:27:10*nif joined #nim
10:27:34*blackbeard420 joined #nim
10:27:37*Lord_Nightmare joined #nim
10:27:52*absolutejam1 joined #nim
10:28:04FromGitter<arnetheduck> Araq, btw, it would be nice if nim disallowed functions that don't return anything, when they're supposed to.. basically, if a function returns a non-empty type, the body should be forced to be an expression (just like you have to consume a return value or discard it)..
10:28:12*Kaivo joined #nim
10:28:53*jfoutaise joined #nim
10:29:00*WilhelmVonWeiner joined #nim
10:29:02Araqwhat do you mean? 'func bar() = ...' is invalid?
10:29:10*xace joined #nim
10:29:24*WilhelmVonWeiner is now known as Guest3396
10:29:31FromGitter<arnetheduck> `func f(): int = discard` disallowed because there's no result
10:29:32*ldlework joined #nim
10:29:41Araqaha
10:29:45*acidx joined #nim
10:29:56Araqsneaking the better default(T) handling into 'func'
10:30:24FromGitter<arnetheduck> which is?
10:30:35AraqI wrote an RFC ...
10:32:49*Guest3396 quit (Client Quit)
10:33:10*WilhelmV1nWeiner joined #nim
10:33:32*absolutejam1 quit (Quit: WeeChat 2.5)
10:34:21*WilhelmV1nWeiner quit (Client Quit)
10:34:27*kungtotte joined #nim
10:34:34*WilhelmV1nWeiner joined #nim
10:34:44*clyybber joined #nim
10:37:13Araqhttps://github.com/nim-lang/RFCs/issues/49
10:38:24*WilhelmV1nWeiner is now known as WilhelmVonWeiner
10:40:30*tribly joined #nim
10:41:46*mfiano joined #nim
10:49:29clyybberAraq: Can I remove endb? Or at least change debugger:on to mean gdb not endb
10:51:57Araqmaybe move it to the graveyard
10:52:00Araqbut sure
10:53:22Araq --debugger:native Use native debugger (gdb) # see? not documented anymore :P
10:55:26clyybberIf I move it to the graveyard, should system/except/etc. still include it?
10:55:31*solitudesf- joined #nim
10:55:39clyybberOr is graveyard more like an archive?
10:56:27Araqmeh, just remove it
10:56:42clyybberk
10:56:44Araqwe have a git history where stuff is kept for eternity
10:57:14Araquntil we migrate to Fossil and lose the history (just kiddin)
10:57:40clyybberlol
11:00:17FromGitter<mratsim> btw Araq: ⏎ ⏎ > is there a makeOwned or toOwned magic to transform a ptr T to an owned ref T?
11:00:38Araqowned ref T has a refcount header
11:01:13FromGitter<mratsim> ah mmmh
11:01:16Araqbut if you emulate that, you can cast it
11:02:24FromGitter<mratsim> Basically I want to do an object pool, but like in C++ with unique pointer, I want the recycling to the pool to be automatic
11:03:51FromGitter<mratsim> and for memory locality/fragmentation reason, I'd like a custom allocator for the underlying buffer
11:06:00clyybberAraq: Will it break bootstrapping if I remove magics?
11:06:52Araqno. but it means a new Nim cannot compile an old system.nim that has these magics
11:08:51clyybberAfaict system.nim doesnt use {.breakpoint.} or {.watchpoint.} so I think we are fine.
11:09:10Araqaww my old watchpoints
11:09:23Araqwatchpoints that actually worked
11:09:40FromGitter<awr1> hello all
11:09:49FromGitter<awr1> question: is there a reason implicit return doesn't always work
11:09:50AraqI'll miss them :-/
11:10:10Araqawr1: works for me
11:10:26ZevvdelGenWatchPoint()
11:10:27FromGitter<awr1> i mean it works but there are a lot of cases where the compiler demands `return`
11:10:45Araqlike?
11:11:03Araqmratsim: look at runtime_v2.nim for the details
11:14:02FromGitter<awr1> agh wait hold on
11:14:08FromGitter<awr1> i swear this wasn't working before
11:16:37Araqyou're probably better off with a custom object and the 3 =hooks
11:17:08Araquniqueness is just a '=' with the .error pragma away
11:17:39FromGitter<mratsim> yeah that's what I'll do
11:17:44FromGitter<awr1> found it
11:18:27FromGitter<mratsim> I wanted a generic object pool, but I guess either I use a template that create the `=` `=destroy` `=moce` stuff
11:18:42FromGitter<mratsim> or I use type Poolable = concept x
11:18:56FromGitter<mratsim> or maybe both
11:19:14FromGitter<awr1> i had this strangeness when i was doing my PR and it's like not the first time i've run into this
11:19:15FromGitter<awr1> https://play.nim-lang.org/#ix=1TP7
11:19:57FromGitter<mratsim> strange
11:19:58FromGitter<awr1> oops
11:20:02FromGitter<awr1> wrong proc but you get the idea
11:20:03FromGitter<mratsim> but I often use result
11:20:05*absolutejam joined #nim
11:20:53*endragor quit (Remote host closed the connection)
11:23:18FromGitter<awr1> it's not consistent why this happens
11:24:03FromGitter<awr1> because if you `let` in just a variable set to `true` or w/e, it works
11:24:42Zevvawr: do you have a complete working example then?
11:24:47Zevvor non-working, that is :)
11:25:05FromGitter<awr1> i'm trying to minimize it
11:29:35*abm quit (Quit: Leaving)
11:30:21*Hideki_ quit (Remote host closed the connection)
11:30:31FromGitter<gogolxdong> Does https://github.com/niv/websocket.nim support wss?
11:31:02*Hideki_ joined #nim
11:31:48FromGitter<awr1> OH
11:31:49FromGitter<awr1> i found why
11:32:30Zevvdo tell!
11:32:45FromGitter<awr1> no wait
11:33:00FromGitter<awr1> it still is flaky what on earth
11:34:38FromGitter<awr1> https://gist.github.com/awr1/68b9db87e357243dad342271ba072569
11:35:34*Hideki_ quit (Ping timeout: 258 seconds)
11:35:37FromGitter<awr1> it compiles if the doc comment is before the implicit, but not before. but when i reduce this a minimal example, nim compiles in any case
11:36:13*Hideki_ joined #nim
11:36:30Zevvcan reproduce
11:36:32FromGitter<awr1> ahhh no wait it does work when i reduce it to minimal
11:37:04FromGitter<awr1> https://play.nim-lang.org/#ix=1TPb
11:37:40Araqlooks like a feature to me, get your doc comments right
11:37:54Araqthey come before the other statements after the =
11:38:12FromGitter<awr1> yeah i suppose
11:38:44FromGitter<awr1> i was just doing that for single-liners so it was more readable buuuut i guess that's not valid
11:38:53Zevvstill worth an issue to get better error messages I guess :)
11:39:31narimiranyay, another issue :P
11:40:07ZevvWell, only 18.2% of the issues are open, that's not bed is it
11:43:43FromGitter<gogolxdong> How to specify custom https certs to make websocket works in wss ?
11:44:54FromGitter<awr1> meh https://github.com/nim-lang/Nim/issues/12093
11:47:10FromGitter<awr1> if it is a feature than it shouldn't allow itself to be fixed with explicit return IMO, it should just require an immediate doc comment if there's gonna be a doc comment
12:01:04clyybberAraq: Should I make {.push debugger:off.} a noop or remove it?
12:01:41clyybberOr map it to optCDebug (dunno if that works)
12:05:08FromGitter<gogolxdong> I'm launching a overwritten production in Karax with both https and websocket server, https enforce wss, setting wss as following, and client cannot connect to this address. ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d6910f4b4d82940749ecae9]
12:05:29FromGitter<gogolxdong> rewritten
12:13:22FromDiscord_<aolko> do you ever plan to make an IDE similar to delphi? (not as bad as lazarus tho)
12:13:36*vivus joined #nim
12:14:09*laaron quit (Remote host closed the connection)
12:14:43*laaron joined #nim
12:19:47Araqaolko: maybe eventually I'll continue to work on NimEdit but not anytime soon
12:20:46clyybberAraq: ping
12:23:21Araqwhat?
12:24:39clyybberSee message above, should I make {.push debugger:off.} a noop, remove it or map it to optCDebug
12:25:06Araqmake it a noop
12:25:17clyybberAlright
12:27:13FromDiscord_<aolko> __not__ a text editor, a full ide
12:27:18FromDiscord_<aolko> with forms
12:27:20FromDiscord_<aolko> and ui
12:27:34FromDiscord_<aolko> and small compiled exe size
12:27:45narimiran...and it should make you a coffee
12:27:46FromDiscord_<aolko> like, literally, delphi
12:27:54FromDiscord_<aolko> not, that's coffeescript
12:28:01FromDiscord_<aolko> no, that's coffeescript
12:32:50alexander92hm, i wonder how many people actually do write native ui apps these days
12:35:47clyybbertoo few
12:37:06FromDiscord_<aolko> *laughs in c#*
12:37:29FromDiscord_<aolko> same goes for delphi and lazarus
12:40:25*rec joined #nim
12:40:29PMunchalexander92, quite a few I'd guess
12:40:33recHi
12:40:36PMunchBut not for cross platform stuff
12:40:40PMunchHi rec
12:41:29recIs the devel branch benchmarked after each commit?
12:42:05Zevvas soon as compiling nim takes 100ms more then usual, 95% of the developers start complaining. So I guess yes
12:42:21recMaybe its nothing, but I see 5% of perf drop and 20% raise in memory usage
12:42:41recThe difference from 2 days ago
12:42:49Zevvwe should bisect that
12:43:04*rokups joined #nim
12:43:48*alexander92 quit (Ping timeout: 245 seconds)
12:47:08*narimiran quit (Ping timeout: 245 seconds)
12:47:35clyybberrec: Do you mean compile time or runtime?
12:48:02recRuntime, i dont even bother with compile time :D
12:48:37clyybberOk, we should definitely investigate that.
12:48:55clyybberIs your project open source?
12:50:10recYap
12:50:10rechttps://bitbucket.org/DraganJanushevski/qutils-nim/src/master/
12:50:45recyou can test it with one of the se maps http://bigfoot.quake1.net/maps/
12:51:01rec*these
12:51:49clyybberCan you use a profiler to see where the impact is stemming from?
12:54:25*solitudesf- quit (Ping timeout: 246 seconds)
12:57:25recIt's in the raycasting `proc TestLine`
12:59:30recHold down a sec...
12:59:43FromDiscord_<Shield> native ui should be easy imo, other solutions tend to have annoying small bugs
13:00:11FromDiscord_<Shield> like not maximizing the app properly or you can click behind the app if you click on the very edge
13:00:42FromDiscord_<Shield> the only non native ui I enjoyed was sunvox's
13:01:09FromDiscord_<aolko> one example would be VLC
13:01:11FromDiscord_<aolko> one example would be VCL
13:01:14FromDiscord_<aolko> one example would be VCL*
13:01:22FromDiscord_<aolko> *from delphi
13:01:33*theelous3 joined #nim
13:01:51FromGitter<mratsim> youe edits on discord are sending a new message each time
13:02:15FromDiscord_<aolko> you can also consider something like http://ultralig.ht/ as an alternative to electron
13:02:56clyybberI recently found out you can use s/mistype/word on discord to edit the last message
13:03:18FromGitter<mratsim> works on Gitter as well
13:03:33clyybberThats cool
13:04:07FromGitter<mratsim> @aolko: you can also use raw webviews: https://github.com/zserge/webview
13:04:21FromGitter<mratsim> and there is no license issue
13:04:48FromDiscord_<Shield> that's great aolko, I'm still puzzled why does discord uses electron, when the android app is ironically very light unless I'm wrong
13:04:56FromDiscord_<aolko> webview doesn't work on windows very well, if at all
13:05:12Araqaolko: I would consider a Karax UI builder
13:05:24FromDiscord_<aolko> > why does discord uses electron
13:05:24FromDiscord_<aolko> because furries' paws are too big
13:06:24FromGitter<zetashift> discord app on android is very nice, drains battery like no other though
13:09:06FromGitter<mratsim> pretty sure Facebook is worse
13:09:11FromGitter<mratsim> Slack improved a lot
13:10:09recok, discard my comment about the performance, its the same as 2 days ago
13:10:12FromGitter<kaushalmodi> Hello, I am trying to understand a regression in the use of `hint` in `config.nims`
13:10:29FromGitter<kaushalmodi> this in config.nims used to work: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d6920450d4b1f5d8885da5e]
13:10:54clyybberrec: Cool, would have been really puzzling
13:10:54FromGitter<kaushalmodi> now I get: ⏎ ⏎ > config.nims(18, 1) Error: undeclared identifier: 'hint'
13:11:21FromDiscord_<Shield> yeah, facebook and messenger are worse, I just don't understand why these apps feel that it's ok to have multiple services forever filling ram
13:11:23*solitudesf joined #nim
13:13:00Araqkaushalmodi: I dunno
13:13:07Araqwe'll fix it?
13:14:08FromGitter<kaushalmodi> This regression happened in this range: https://github.com/nim-lang/Nim/compare/a25d43ca6b5b9a918a7e...170cb4f4cbe734d6fa30
13:14:34FromGitter<mratsim> to be fair: nimsuggest fills the RAM, your diskspace with logs and also your CPU :p
13:16:43FromDiscord_<aolko> discord mobile app is react native
13:16:47FromDiscord_<aolko> iirc
13:16:59FromGitter<kaushalmodi> Araq: Looks like `nim check` used to work for config.nims files, but now it does not
13:17:46FromGitter<kaushalmodi> In my repo containing config.nims, I have `nim check config.nims` running in Travis. That used to pass, but started failing in that git commit range I linked above
13:18:05Araqyeah, we changed that
13:18:31Araqyou can only check .nim files
13:18:47Araqand I don't see the point in your travis check
13:18:56Araqif Nim reads the config, it will check it, what else
13:19:20FromGitter<kaushalmodi> ok.. I was just going through a backlog of my Travis cron failures and found this
13:21:55PMunchShield, I use Facebook in the browser, with notifications turned on. Works pretty well
13:22:06PMunchBut for the past couple of days I haven't been able to send images in chats..
13:24:21FromDiscord_<Shield> facebook in browser is both slow and buggy, I got used to mbasic.facebook, it just werks(TM) that I started using it on pc too, I forgot how ugly their desktop layout was
13:24:34*nsf quit (Quit: WeeChat 2.5)
13:24:43FromGitter<arnetheduck> it's really not that strange, systems generally get used up to their capacity, no matter what that capacity is and how efficiently you're using the system...
13:25:40FromGitter<mratsim> The term is "nature abhors a vacuum and finds a way to fill them"
13:26:11FromGitter<mratsim> Oh is that RAM I see, nom nom nom ... -- Electron
13:27:20FromDiscord_<aolko> there was a Thrust alternative, but it died
13:27:35FromDiscord_<aolko> https://github.com/breach/thrust
13:27:46FromDiscord_<aolko> maybe someone ressurects it?
13:31:53FromGitter<awr1> have any of you seen this
13:31:53FromGitter<awr1> https://github.com/revery-ui/revery
13:32:50FromGitter<zetashift> yeah!
13:33:12FromGitter<zetashift> It's used in onivim2 which I'm really liking it starts up instantly
13:33:16FromDiscord_<aolko> reason? That lisp camel barf?
13:34:11FromGitter<zetashift> wouldn't call it a lisp more like JS-syntax flavored OCaml
13:35:00FromGitter<mratsim> so Reason is Ocaml?
13:35:30FromDiscord_<aolko> yup
13:35:32FromGitter<zetashift> yeah and OCaml is Reason it's just a syntax change
13:35:34FromGitter<mratsim> does that mean that we need the ocaml compiler if we want to do nimble install reverie?
13:35:57FromGitter<zetashift> yea and some C deps
13:36:13FromGitter<mratsim> what are those lock folders in github :?
13:36:35FromGitter<awr1> @kaushalmodi fwiw the `hint("Processing", false)` is sometime after commit `15e681c`
13:36:44FromGitter<awr1> did a test
13:37:12FromGitter<zetashift> I think it uses esy so it uses a package.json workflow: https://github.com/revery-ui/revery/blob/master/package.json
13:37:24FromGitter<zetashift> The uh..native development OCaml workflow is a WIP
13:37:43FromGitter<zetashift> on Linux and Mac it should be fine to work with but on Windows it's not great yet
13:38:27FromGitter<kaushalmodi> @awr1 I didn't follow.. the `hint` in config.nims works, but doing `nim check` of a config.nims containing `hint` failes
13:38:31FromGitter<kaushalmodi> *fails
13:39:06FromGitter<kaushalmodi> So I have now removed from my nim config's Travis: https://github.com/kaushalmodi/nim_config/commit/bda6f591a0cdd1ff2f158882a31dcc921eb103ba
13:39:32FromGitter<awr1> ohhh nim check
13:39:36FromGitter<awr1> hm
13:40:56FromGitter<awr1> still works, so it's after that commit
13:41:24livcdbummer so i found out that when i use chronicles with the windows service functions my service wont start
13:41:30livcdit just timeouts
13:42:20livcdalso how can I get around winim's converter & when I want to use strformat's & ?
13:43:00shashlickAny no Nim check for nims
13:43:02shashlickWhy
13:43:30FromGitter<awr1> OH i didn't see araq's post
13:43:31FromGitter<awr1> nvm
13:43:33FromGitter<awr1> im stupid
13:46:30*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
13:46:49*hoijui joined #nim
13:46:49*laaron joined #nim
13:49:14FromDiscord_<Shield> btw, does newruntime remove the need for nimrtl? as in having it as a shared library
13:50:31*floppydh quit (Quit: WeeChat 2.5)
13:50:45Araqif you're hand-wavy about it
13:52:06Araqin other words: not really, but if you don't look close you could think that it does
13:53:35*clyybber quit (Quit: WeeChat 2.5)
13:53:45FromDiscord_<Shield> if so, I just want to know what mechanism would prevent object destruction if they get passed between dlls
13:55:35FromDiscord_<adokitkat> hi, is variant of this C syntax available in Nim?
13:55:35FromDiscord_<adokitkat> ```
13:55:35FromDiscord_<adokitkat> (true) ? 'true' : 'false'
13:55:35FromDiscord_<adokitkat> ```
13:57:30FromDiscord_<Shield> https://github.com/nim-lang/Nim/wiki/Nim-for-C-programmers
14:01:00FromDiscord_<adokitkat> thanks
14:01:06disruptek!eval echo if true: "yes" else: "no"
14:01:09NimBotyes
14:02:03disruptekdunno how i never saw that wiki before. i was confused by `%%` upon first blush.
14:02:55FromDiscord_<Shield> the nimbot is cute
14:03:12FromDiscord_<aolko> mmm...guys
14:03:25FromDiscord_<aolko> #RecognizeJetbrainsIDEs
14:03:33*PMunch quit (Remote host closed the connection)
14:12:24livcdAnyone using chronicles?
14:12:43*gangstacat joined #nim
14:15:05FromGitter<arnetheduck> us :)
14:17:46livcdCan you think of something that could cause my windows service to time out while using chronicles?
14:22:00FromGitter<arnetheduck> nothing I recognise from our usage, but then we don't run as a service.. if I was debugging it, I'd compile with `--debuginfo` and grab a call stack of the process when it happens
14:23:03livcdok ill try
14:23:37livcdi have basically just smh like this: https://play.nim-lang.org/#ix=1TPD. When i replace the debug at the end it "works". If i leave it there it wont start and timeouts immediately
14:25:06FromGitter<arnetheduck> well, probably you want to redirect the output to a file, there are options for that - so that it doesn't log to stdout
14:25:36FromGitter<arnetheduck> it's documented in the readme
14:26:09livcdthat sounds promising thanks
14:32:07livcdand yeah that of course works :O
14:38:07livcdhmm interesting. It creates a log in the cwd and also in C:\Windows\system32
14:47:07*absolutejam quit (Ping timeout: 245 seconds)
14:53:06FromGitter<gogolxdong> Anyone knows how to get wss work?
14:55:05*abm joined #nim
14:57:13*absolutejam joined #nim
15:09:13*owl_000 quit (Ping timeout: 245 seconds)
15:11:17*absolutejam quit (Ping timeout: 245 seconds)
15:12:26*alexander92 joined #nim
15:13:29*dddddd joined #nim
15:22:52*vivus quit (Remote host closed the connection)
15:33:39*actuallybatman joined #nim
15:36:21*rec quit (Remote host closed the connection)
15:47:20*Hideki_ quit (Remote host closed the connection)
15:48:40*Hideki joined #nim
15:48:42*Hideki quit (Remote host closed the connection)
15:49:19*Hideki joined #nim
15:49:31*abm quit (Quit: Leaving)
15:51:35*Hideki quit (Remote host closed the connection)
15:51:50*Hideki joined #nim
16:04:43*Hideki quit (Remote host closed the connection)
16:07:48*Hideki joined #nim
16:12:07*Hideki quit (Ping timeout: 245 seconds)
16:12:13FromGitter<gogolxdong> Ok, get it work
16:13:30FromGitter<gogolxdong> It's code problem, should be ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d694b2a2efeca1df520f034]
16:13:44FromGitter<gogolxdong> if it helps anyone else.
16:27:15FromGitter<gogolxdong> A rewritten Nim full stack project has been launched https://www.cloudfastnet.com
16:31:11FromGitter<iffy> I'm in a situation where `proc prepare_call(r: var JsonRPC, call:Call):tuple[fut:Future[JsonNode], payload:JsonNode] =` compiles, but `proc prepare_call(r: var JsonRPC, call:Call):tuple[fut:Future, payload:JsonNode] =` segfaults during compilation (without any error message)
16:31:39FromGitter<iffy> The difference is the first returns a `Future[JsonNode]` and the second just returns `Future` (without `[JsonNode]`)
16:32:19FromGitter<iffy> Trying to make a simple reproducible snippet isn't working so well
16:34:35disruptekif you want a Future with an empty value, use Future[void]
16:42:27FromGitter<iffy> right; I'm wondering why the compiler segfaulted instead of telling me that
16:44:54FromDiscord_<DeltaPHC> Worth reporting I think. The compiler itself shouldn't segfault regardless
16:47:53FromGitter<iffy> k, I'll see if I can shrink my failing code
16:51:04disruptekgogolxdong: that's pretty cool, grats! also, you can save at least 400k of payload by minifying your nim js output.
16:51:22disruptekll
16:55:49rayman22201Gogolxdong congratulations! You should announce on the forum too.
16:57:57Zevvwe should bisect that
16:58:12Zevv(wrongwin, sorry)
17:07:09*Hideki joined #nim
17:08:00*hoijui quit (Quit: Leaving)
17:09:23*laaron quit (Remote host closed the connection)
17:14:40*laaron joined #nim
17:16:34*Hideki quit (Ping timeout: 246 seconds)
17:35:35livcdgogolxdong: What should this be about ?
17:53:03*absolutejam joined #nim
17:58:17*MarderIII joined #nim
18:02:21*absolutejam quit (Ping timeout: 258 seconds)
18:09:56*laaron quit (Remote host closed the connection)
18:11:54*laaron joined #nim
18:13:49*Ven`` joined #nim
18:14:52*Ven`` quit (Client Quit)
18:16:37*solitudesf- joined #nim
18:17:02*narimiran joined #nim
18:17:28lqdev[m]why does parseopt strip spaces from options like `-c:" hello world "`?
18:19:23*solitudesf- quit (Client Quit)
18:19:43*solitudesf quit (Ping timeout: 244 seconds)
18:19:58*solitudesf joined #nim
18:20:42*wildtrees joined #nim
18:21:35*wildtrees quit (Remote host closed the connection)
18:22:02*wildtrees joined #nim
18:23:43*wildtrees quit (Max SendQ exceeded)
18:24:16*wildtrees joined #nim
18:40:42FromGitter<mratsim> @gogolxdong nice! if you have time I'm sure narimiran would be open to have a blog post on nim-lang.org or link to your blog post on your website (and you can do one for the Chinese community)
18:41:36*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
18:41:39narimiranyes please
18:42:05*laaron joined #nim
18:47:36*ng0 quit (Quit: Alexa, when is the end of world?)
18:52:02*Tyresc joined #nim
18:59:48Zevvoh yeah narimiran, do you also have room for this thing maybe? http://zevv.nl/nim-memory/
19:01:07narimiranZevv: if the link to that is not on nim/learn in the next 15 hours, please ping me again
19:01:19Zevvtakk!
19:01:56Zevvsweet, check the header of https://www.cloudfastnet.com/cloudfast.js
19:02:31*rokups quit (Quit: Connection closed for inactivity)
19:02:36Zevv /* Generated by the Nim Compiler v0.20.99 */
19:03:04narimirandamn it, we should have made it 0.20.19
19:03:07*Tyresc quit (Ping timeout: 244 seconds)
19:03:39*gangstacat quit (Quit: Ĝis!)
19:04:36FromDiscord_<exelotl> this article is really nice
19:05:08FromDiscord_<exelotl> though I've never seen the origin of the stack referred to as the 'top'
19:05:18*gangstacat joined #nim
19:06:18*Tyresc joined #nim
19:08:05FromDiscord_<exelotl> I get that they're often drawn top-down but is the use of the terms top/bottom correct here?
19:08:47*wildtrees quit (Ping timeout: 245 seconds)
19:11:13*damuz quit (Quit: Lost terminal)
19:11:58*Kaivo quit (Quit: WeeChat 2.5)
19:12:13*Kaivo joined #nim
19:12:25*Tyresc quit (Ping timeout: 244 seconds)
19:25:50FromGitter<mratsim> I use top for the last
19:26:45FromGitter<mratsim> but in CS courses they often represent the stack growing from the end at the top and the heap from the bottom
19:26:57FromGitter<mratsim> Or maybe Zevv lives in Australia
19:34:27FromGitter<mratsim> in the mem representation of 9 just before compound types, you use big-endian repr but you say "on my machine"
19:35:07FromGitter<mratsim> also regarding arena, I thought arena = pool, is it actual more generic and equal to region?
19:37:05FromGitter<mratsim> very nice read otherwise
19:37:48*Ven`` joined #nim
19:45:16FromGitter<brentp> does Nim have a splice(-like) function for seq? I'm using `S = S[0..<lo] & S[hi..S.hi]`
19:46:22FromGitter<brentp> I guess I can use mem_move
19:51:59*actuallybatman quit (Ping timeout: 258 seconds)
19:52:59*Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:04:43*narimiran quit (Remote host closed the connection)
20:05:41FromGitter<iffy> How do I write async unittests?
20:07:03FromDiscord_<aolko> so, anyone gonna write a nice intellij/clion plugin?
20:11:57*arecaceae quit (Read error: Connection reset by peer)
20:12:28*arecaceae joined #nim
20:19:01*nsf joined #nim
20:20:29Zevvexolotl: well, the stack really grows down, so "top" is a very common term here afaik
20:22:30ZevvFor historical reasons - before VM and operatingsystems - the heap and the top would typically grow up and down respectively, so you can optimally use all of the memory before they clash. And then all hell breaks loose, of course. Still the standard way of doing memory layout on bare metal embedded systems.
20:25:29FromGitter<brentp> it there some limit on how deeply one can nest iterators? I am getting a codegen error on 3 (I think) levels.
20:27:19FromGitter<brentp> seems so. I just set the innermost iterator to return `seq[T]` intstead and no compilation error.
20:27:33*wildtrees joined #nim
20:32:40FromGitter<mratsim> 3 seems low
20:32:57FromGitter<mratsim> Arraymancer has tests with 3 level of iterator nesting
20:33:17FromGitter<iffy> Are you recursively calling iterators? Am I remembering right that that's not allowed
20:34:08FromGitter<brentp> yeah. I can't recreate with 4 deep iterators. must be something peculiar about my code.
20:34:14FromGitter<mratsim> iirc there was a thread with in-depth discussion on that
20:34:27FromGitter<mratsim> recursive calling
20:34:41FromGitter<mratsim> somehow my iterators dodge all the pitfalls :p
20:34:56Zevvso if I would make a readdir() iterator, I could not traverse my fs with that? Sounds not plausible?
20:36:03FromGitter<mratsim> Timothee has the solution: https://github.com/nim-lang/Nim/pull/11992
20:36:26FromGitter<mratsim> 22 files changed though :/
20:36:33Zevvtimothee has the solution to everything \o/
20:37:05*laaron quit (Remote host closed the connection)
20:37:15FromGitter<iffy> https://nim-lang.org/docs/manual.html#iterators-and-the-for-statement-first-class-iterators ⏎ ⏎ > Neither inline nor closure iterators can be recursive.
20:37:24Zevvwow this is a badass PR, *real* 1st class everything!
20:38:37*actuallybatman joined #nim
20:39:03*laaron joined #nim
20:39:47FromGitter<mratsim> @iffy: it seems like there are exceptions :P https://github.com/mratsim/Arraymancer/blob/bde79d2f73b71ece719526a7b39f03bb100784b0/src/private/nested_containers.nim#L22-L30
20:40:13FromGitter<mratsim> but it's unrolled at compile-time so that might be the trick
20:41:58disrupteki just hate the idea of aliases.
20:43:23*actuallybatman quit (Ping timeout: 268 seconds)
20:57:06*Vladar quit (Remote host closed the connection)
20:58:57*actuallybatman joined #nim
21:00:56FromGitter<iffy> Can I safely run `runForever()` in a thread?
21:05:03*Ven`` joined #nim
21:06:29shashlick@Araq - this is a problem https://github.com/nim-lang/nimble/issues/695
21:06:41shashlickpeople cannot `koch boot` anymore without sqlite
21:10:47*Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:11:24shashlickmaybe use @arnetheduck's wrapper and compile it in instead - https://github.com/arnetheduck/nim-sqlite3-abi
21:14:10*Hideki joined #nim
21:15:16*absolutejam joined #nim
21:18:23*Hideki quit (Ping timeout: 245 seconds)
21:19:35FromGitter<arnetheduck> that wrapper is probably not ready for prime time yet - I remember we were discussing some nimterop features to get it to soar, but I haven't looked at it in a while.. that said, I'd say if you have a dep on sqlite, the only sane way to distribute it is with the source c file
21:21:56shashlickya nim probably has the wrapper anyway, just need the .c file in the repo and compile it in
21:22:44*ng0 joined #nim
21:24:21FromGitter<arnetheduck> ... which is a lot of fun, with the batteries included approach :)
21:26:33*actuallybatman quit (Ping timeout: 268 seconds)
21:30:43shashlickwell, it will get arm builds working again - i couldn't get it working and have run out of disk space for docker images
21:30:52shashlickwish getting VMs was free
21:33:28FromGitter<mratsim> I wish paying taxes was free :P (and rent as well)
21:36:23*abm joined #nim
22:03:55*Tyresc joined #nim
22:04:36*nsf quit (Quit: WeeChat 2.5)
22:06:32*solitudesf quit (Ping timeout: 244 seconds)
22:08:40FromGitter<kayabaNerve> ... seqs should be passable to varargs, right?
22:10:20*Tyresc quit (Ping timeout: 268 seconds)
22:10:56*Kaivo quit (Quit: WeeChat 2.5)
22:11:55*jxy quit (Quit: leaving)
22:12:56FromGitter<kayabaNerve> `varargs[A], varargs[B]`; `call(a, seqOfBs)` fails. `call(@[a], seqOfBs)` works. Is this a bug? :thinking:
22:13:33FromGitter<kayabaNerve> I want to say yes but I do have pause for some reason.
22:25:43FromDiscord_<Shield> nice article Zevv, very interested in using nim without gc and newruntime
22:42:11FromGitter<gogolxdong> @disruptek How?
22:42:43disruptekgogolxdong: use uglifyjs or similar.
22:44:07FromGitter<gogolxdong> @mratsim I will write one in both English and Chinese.
22:46:14*vesper quit (Quit: ZNC 1.7.3 - https://znc.in)
22:46:43*theelous3 quit (Ping timeout: 268 seconds)
22:46:59*Hideki joined #nim
22:47:35*vesper11 joined #nim
22:55:21*Hideki quit (Remote host closed the connection)
22:56:01FromGitter<gogolxdong> use [email protected] and cmp@8square to login for further explore and suggestions.
22:56:05*Hideki joined #nim
22:57:43*Hideki quit (Remote host closed the connection)
22:57:59*Hideki joined #nim
22:59:01*theelous3 joined #nim
23:04:02*absolutejam quit (Ping timeout: 258 seconds)
23:05:02*theelous3 quit (Ping timeout: 245 seconds)
23:11:00*abm quit (Quit: Leaving)
23:31:36*MarderIII quit (Quit: Leaving)
23:37:32FromGitter<gogolxdong> @livcd it's about cloud interconnection.
23:42:49*wildtrees quit (Quit: Leaving)
23:45:36*owl_000 joined #nim
23:51:39*krux02_ joined #nim
23:54:39*krux02 quit (Ping timeout: 264 seconds)