<< 02-08-2018 >>

00:21:10*stefanos82 joined #nim
00:22:18FromGitter<kayabaNerve> zacharycarter: You might do better if you post the cause.
00:26:53*thumbs5 joined #nim
00:27:06*thumbs5 quit (Killed (Sigyn (Spam is off topic on freenode.)))
00:32:05zacharycarterkayabaNerve: good point - but I figured it out, I was just copying very old macro syntax
00:35:33*BitPuffin quit (Remote host closed the connection)
00:40:23FromGitter<kayabaNerve> Got it
00:40:29FromGitter<kayabaNerve> Happy to hear you've fixed it
00:46:00*Shrooms12 joined #nim
00:46:22*Shrooms12 quit (Killed (Unit193 (Spam is not permitted on freenode.)))
00:52:19*xylef quit (Quit: WeeChat 2.2)
01:08:01*Corvus`6 joined #nim
01:08:47*Corvus`6 quit (Remote host closed the connection)
01:11:51*zacharycarter quit (Ping timeout: 252 seconds)
01:36:43*earlz13 joined #nim
01:41:21*earlz13 quit (Ping timeout: 248 seconds)
01:46:50*yglukhov[i] joined #nim
01:53:37*yglukhov[i] quit (Ping timeout: 248 seconds)
01:54:41*abm quit (Ping timeout: 268 seconds)
02:01:05*dddddd quit (Remote host closed the connection)
02:20:38*therock247uk3 joined #nim
02:20:46*therock247uk3 quit (Remote host closed the connection)
02:27:01*anderson27 joined #nim
02:28:47*anderson27 quit (Read error: Connection reset by peer)
02:43:28*barq29 joined #nim
02:44:07*barq29 quit (Killed (Sigyn (Spam is off topic on freenode.)))
02:48:56*wgma joined #nim
02:54:12*arecaceae quit (Remote host closed the connection)
02:54:30*arecaceae joined #nim
02:55:03*wgma quit (Remote host closed the connection)
03:07:29*cholcombe5 joined #nim
03:08:46*cholcombe5 quit (Remote host closed the connection)
03:17:02*nope__ joined #nim
03:17:31*nope__ quit (Killed (Sigyn (Spam is off topic on freenode.)))
03:30:41*EvanR19 joined #nim
03:34:57*EvanR19 quit (Ping timeout: 248 seconds)
03:42:26*endragor joined #nim
03:44:19*MartesZibellina joined #nim
03:44:49*MartesZibellina quit (Remote host closed the connection)
03:46:21*grubles12 joined #nim
03:50:57*grubles12 quit (Ping timeout: 240 seconds)
03:53:47*yglukhov[i] joined #nim
03:56:04*captainkraft quit (Ping timeout: 256 seconds)
03:58:34*yglukhov[i] quit (Ping timeout: 264 seconds)
04:09:45*stefanos82 quit (Quit: Quitting for now...)
04:11:22*tomek5 joined #nim
04:11:51*tomek5 quit (Remote host closed the connection)
04:37:27*voiceftp joined #nim
04:37:33*voice_ftp joined #nim
04:37:48*voice_ftp quit (Remote host closed the connection)
04:40:11*captainkraft joined #nim
04:42:13*smt` quit (Read error: Connection reset by peer)
04:42:38*smt` joined #nim
05:01:37*nsf joined #nim
05:07:18FromDiscord<emekoi> can `new` raise an exception?
05:13:01FromDiscord<awr> nim supports two pragma orders for type declarations and i feel like it should abandon one of them for consistency
05:13:29FromDiscord<awr> `type A {.pragma.} = object` and `type A = object {.pragma.}`
05:14:47*l33tn00b joined #nim
05:14:53*l33tn00b left #nim ("Leaving")
05:14:56FromDiscord<awr> probably the second as the first form is used all over the place
05:17:00FromDiscord<awr> this may be a matter of style permissiveness though
05:33:45*Demos quit (Ping timeout: 260 seconds)
05:38:00*opi quit (Quit: ZNC - http://znc.in)
05:44:22*Vladar joined #nim
05:47:40*hammer06513 joined #nim
05:48:49*opi joined #nim
05:52:06*hammer06513 quit (Ping timeout: 256 seconds)
05:59:03*yglukhov[i] joined #nim
06:03:57*yglukhov[i] quit (Ping timeout: 264 seconds)
06:04:17*amosbird_ left #nim ("WeeChat 2.1")
06:13:20*yglukhov[i] joined #nim
06:20:09*yglukhov[i] quit (Remote host closed the connection)
06:20:25*yglukhov[i] joined #nim
06:34:38*danmackay5 joined #nim
06:34:49*danmackay5 quit (Remote host closed the connection)
06:48:29*cottongin26 joined #nim
06:48:50*cottongin26 quit (Remote host closed the connection)
06:49:24*Guest29805 joined #nim
06:54:57*Guest29805 quit (Ping timeout: 248 seconds)
06:56:53*yglukhov_ joined #nim
06:56:53*yglukhov[i] quit (Read error: Connection reset by peer)
07:10:48FromGitter<mratsim> yeah I agree
07:11:21*ng0 joined #nim
07:11:31FromGitter<mratsim> the {.acyclic.} works only on the right iirc, and the {.shallow.} works on both side
07:11:37FromGitter<mratsim> or make it a key word
07:11:47FromGitter<mratsim> type foo = acyclic ref object
07:11:54FromGitter<mratsim> type bar = shallow object
07:13:13*ng0 quit (Client Quit)
07:24:55*salamanderrake joined #nim
07:26:48*salamanderrake quit (Remote host closed the connection)
07:45:18*gmpreussner_ joined #nim
07:45:21*gsgx quit (Ping timeout: 256 seconds)
07:45:45*gmpreussner quit (Read error: Connection reset by peer)
07:46:08*zama quit (Ping timeout: 256 seconds)
07:47:29*gsingh93 joined #nim
07:51:32*zama joined #nim
08:04:39*gmpreussner joined #nim
08:05:16*gmpreussner_ quit (Ping timeout: 256 seconds)
08:14:58*dddddd joined #nim
08:37:05*thejoecarroll23 joined #nim
08:37:45*thejoecarroll23 quit (Killed (Sigyn (Spam is off topic on freenode.)))
08:39:29*channels joined #nim
08:40:02*thomas27 joined #nim
08:40:48*thomas27 quit (Remote host closed the connection)
08:44:21*r00t9 joined #nim
08:45:20*channels quit (Ping timeout: 244 seconds)
08:49:00*r00t9 quit (Ping timeout: 245 seconds)
08:59:18*yglukhov_ quit (Remote host closed the connection)
09:00:22livcdi think we discussed this already but why does not choosenim support 64bit on windows ? :D
09:02:12*yglukhov[i] joined #nim
09:08:12*yglukhov[i] quit (Ping timeout: 268 seconds)
09:16:23*ng0 joined #nim
09:17:43euantorIIRC because nobody has built it for 64 bit windows yet
09:17:47*Guest41286 joined #nim
09:17:48*xet7 joined #nim
09:18:50*Guest41286 quit (Remote host closed the connection)
09:24:02*matti2 joined #nim
09:24:48*matti2 quit (Remote host closed the connection)
09:49:59*joycepao joined #nim
09:54:37*janus13 joined #nim
09:54:51*janus13 quit (Remote host closed the connection)
09:55:44*joycepao quit (Ping timeout: 260 seconds)
09:56:02*stefanos82 joined #nim
09:57:15*tzekid joined #nim
09:57:45*tzekid quit (Client Quit)
09:59:10*Namarrgon19 joined #nim
09:59:40*yglukhov[i] joined #nim
10:00:48*Namarrgon19 quit (Remote host closed the connection)
10:24:06livcdnice forum post mratsim
10:24:11endragorthere is nothing like `defer` but which inserts `try/except` instead of `try/finally`, or is there?
10:32:49FromDiscord<awr> not really but i would imagine thatwould not be very difficult to implement using a template
10:34:59endragornot sure how you'd do that if you don't want to add an indent
10:36:16leorizeendragor: what do you mean?
10:37:41endragorI mean you can implement a template that would wrap `try: statement except: body`, but you would have to pass the body as a block, indented. Nice thing of `defer` is that you don't have to indent what goes below. It's a part of compiler and not a template/macro for a reason
10:38:07endragorer, I mean `try: body except: statement`, but you got the point.
10:38:46FromDiscord<awr> how would you define the try region?
10:39:11FromDiscord<awr> just the current lexical scope?
10:39:28endragorawr: with template? just pass it as a block
10:39:49FromDiscord<awr> no i mean in the would-be keyword you want
10:40:20FromDiscord<awr> i guess you would want `try` to be the entirety of the current scope like `defer`
10:40:49endragorawr: yes, it would work exactly as `defer`, but with `except` instead of `finally`
10:48:06*APLU12 joined #nim
10:54:02*APLU12 quit (Ping timeout: 276 seconds)
10:54:22FromGitter<Bennyelg> Hey, I have a question :) ⏎ Since I am not a 'backend' developer nor 'frondend' I am not familiar with some methods of work or bad / good practices. ⏎ My question is: ⏎ If I want that some parts of my site (the statistics part) will be cached the result returned from the database and not fetch them every each user request with some interval to be cached refresh. ⏎ What is the best way to do it ?
10:54:22FromGitter... [https://gitter.im/nim-lang/Nim?at=5b62e2de79bfdf5c998a9bb5]
11:01:22stefanos82and how is this related to Nim?
11:01:42FromGitter<Bennyelg> I am creating some website in nim
11:01:47FromGitter<Bennyelg> which display statistics
11:01:56FromGitter<Bennyelg> so I was thinking to ask here :)
11:04:55stefanos82how about caching your returned results in memcached or redis?
11:09:01FromGitter<Bennyelg> thought about it, but I think its an overkill
11:09:29FromGitter<Bennyelg> at least redis. because it's just few statistic queries
11:32:48*gildarts13 joined #nim
11:32:52*gildarts13 quit (Remote host closed the connection)
11:38:56*surfist10 joined #nim
11:40:06*surfist10 quit (Killed (Sigyn (Spam is off topic on freenode.)))
11:55:45*captainkraft quit (Ping timeout: 248 seconds)
12:02:34*abm joined #nim
12:08:51FromGitter<mratsim> doesn’t your database cache rencently used/frequent requests already?
12:09:25FromGitter<mratsim> if not, maybe add one or 2 indexes to it, it will change query time from linear to logarithmic
12:10:08FromGitter<Bennyelg> mm, interesting, I'll check thanks
12:10:20FromGitter<mratsim> otherwise here is an LRU cache in Nim: https://github.com/niv/neverwinter.nim/blob/master/src/neverwinter/lru.nim
12:10:43FromGitter<mratsim> but really, optimize your database, it’s much easier, more maintainable and there is a lot of docs for that
12:12:17FromGitter<mratsim> if you’re using sqlite, you can check the cache pragmas: https://www.sqlite.org/pragma.html#pragma_cache_size
12:13:56FromGitter<mratsim> I’m currently doing Machine learning with 3.3 GBs SQLite database, and a couple dozen millions of row, many of my queries take from a second to 20 seconds on a i5-5227U mobile dual core.
12:14:27FromGitter<Bennyelg> cool
12:14:49FromGitter<Bennyelg> I'll take this option using the pragma cache size
12:14:51FromGitter<Bennyelg> thanks
12:15:36FromGitter<mratsim> don’t forget about indexes, that’s the easiest way to get higher performance
12:15:59FromGitter<mratsim> https://medium.com/@JasonWyatt/squeezing-performance-from-sqlite-indexes-indexes-c4e175f3c346
12:16:21FromGitter<Bennyelg> Awesome! thanks Mamy!!
12:39:40*captainkraft joined #nim
12:50:52*endragor quit (Remote host closed the connection)
13:08:12*Vladar quit (Quit: Leaving)
13:08:49*endragor joined #nim
13:13:38*endragor quit (Ping timeout: 268 seconds)
13:14:36*jcline23 joined #nim
13:14:40*Jesin quit (Ping timeout: 265 seconds)
13:14:49*jcline23 quit (Remote host closed the connection)
13:16:20*cryptocat1094 joined #nim
13:19:54*wildlander joined #nim
13:20:55cremI'm late to nim community survey?? :-( Wow, i was away only for a month.
13:21:50cremHow did questions differ at least?..
13:22:10cremI tried to use nim like 10 times during last year, I had something to say. :)
13:25:00livcdtell us more :)
13:27:38FromGitter<zetashift> "only for a month" ;P
13:28:12cremLast year that survey was up for three months maybe. And then half a year to get results. :-P
13:29:53*floppydh quit (Quit: WeeChat 2.1)
13:30:35cremIt has a bias, it will tell much more about what people who use it like, rather than what people who don't use it dislike. E.g. it won't correctly show next thing to improve. :)
13:31:03FromGitter<OllieBerzs> Why do i get the error: use {.base.} for base methods? I don't really understand what a base method is. From what i've read it is something to do with inheritance, but have only one object type.
13:32:18*Jesin joined #nim
13:32:21*floppydh joined #nim
13:39:10*TriangleSausage joined #nim
13:40:53*TriangleSausage quit (Remote host closed the connection)
13:44:30dom96Three months? I don't think so :)
13:44:36dom96I actually extended this year's survey
13:44:48dom96I don't believe I extended any of the previous year's
13:47:06dom96OllieBerzs: If you only have one object type then why are you using methods?
13:47:08dom96Use a proc
13:51:20FromGitter<kayabaNerve> @Bennyelg Make an object of the database and mirror it? That's a way.
13:53:50*strengthen joined #nim
13:54:56livcdcan anyone compile the odbc pkg ?
13:55:18*Perkol joined #nim
13:59:03*Vladar joined #nim
13:59:53*strengthen quit (Ping timeout: 268 seconds)
14:03:34*Richard_Cavell joined #nim
14:09:24PerkolHello. I have a pretty heavy on resource multithreaad application, but it don't utilise my cpu fully. any tips?
14:09:29*Richard_Cavell quit (Ping timeout: 260 seconds)
14:10:28*Hijiri joined #nim
14:10:53*Hijiri quit (Remote host closed the connection)
14:11:12*nsf quit (Quit: WeeChat 2.2)
14:13:15*armyriad joined #nim
14:14:49*armyriad quit (Killed (Sigyn (Spam is off topic on freenode.)))
14:14:53FromDiscord<Mindrage> So what IDEs are mostly developed for Nim?
14:15:37FromGitter<mratsim> @Mindrage: Visual Studio Code
14:15:52FromGitter<mratsim> @Perkol: Threadpool or OpenMP
14:16:00krux02there is no "IDE" only editor support
14:16:12krux02but editor support has IDE features.
14:16:44krux02For me personally I turned them all off, because they were often too broken and to hard to setup correctly (not worth the hassle)
14:16:57krux02(I use emacs)
14:20:51*xylef joined #nim
14:21:12*mancha3 joined #nim
14:22:17*mancha3 quit (Killed (Sigyn (Spam is off topic on freenode.)))
14:32:41FromGitter<kayabaNerve> Aporia
14:32:57*couven92 joined #nim
14:33:22FromGitter<kayabaNerve> Aporia is a IDE written in Nim for Nim. That said, it was abandoned apparently :(
14:33:30FromGitter<kayabaNerve> I use Atom with a Nim plugin.
14:36:53FromGitter<mratsim> I’m sure dom96 will say that it’s not abandoned, but he just didn’t have the time to resync it to latest Nim
14:38:25dom96It is abandoned :P
14:41:31Perkolhttps://bpaste.net/show/ea7e8c3ee981 Why is error happening there?
14:44:15FromGitter<kayabaNerve> Lol
14:46:30*xylef quit (Ping timeout: 265 seconds)
14:47:02FromGitter<mratsim> @Perkol -1, opening the file didn’t work? Is it locked?
14:50:42PerkolNo it opens, file, but it doesnt work for big files for some reason
15:00:23*circle joined #nim
15:00:36*circle quit (Read error: Connection reset by peer)
15:05:35zacharycarter[m]HRM
15:05:46zacharycarter[m]does threadvar create a tuple now or something?
15:07:40*zacharycarter[m] sent a long message: < https://matrix.org/_matrix/media/v1/download/matrix.org/FfCOADnyfJiDBvLetnVaBVOf >
15:10:37zacharycarter[m]I'm using a thread var of type int as an array element accessor
15:17:35zacharycarter[m]hrm I don't think the threadvar is the problem - I think it's my collection type
15:19:05*Trustable joined #nim
15:40:09dom96https://twitter.com/pcwalton/status/1025041259776241664
15:40:47FromGitter<mratsim> #discard
15:40:52dom96indeed
15:40:53FromGitter<mratsim> \#discard
15:44:01FromGitter<kayabaNerve> `discard` hasn't harmed my workflow at all, and is incredibly useful.
15:44:33stefanos82dom96: you know what would be hilarious? to add an easter egg behind Nim that takes place only every April 1st
15:44:47dom96It's funny that pcwalton organically decided to use `drop` for this in his Rust code
15:45:16stefanos82yeah, the let _ = ...; suggestion looks a lot clearer to me :/
15:45:27stefanos82so, as I was saying
15:46:10stefanos82when we use discard, it would be hilarious to throw random messages, such as "la la la la...I'm not hearing you!", "speak to the hand 'cause the face ain't listening!"
15:46:12stefanos82and so forth
15:46:21stefanos82that would drive developers crazy! hahahaha
15:46:50FromGitter<kayabaNerve> stefanos82 That stuff breaks tests though
15:47:16FromGitter<kayabaNerve> https://www.theregister.co.uk/2017/11/22/gimme_gimme_gimme_in_linux_breaks_automated_tests/
15:48:03FromGitter<kayabaNerve> Here. https://unix.stackexchange.com/questions/405783/why-does-man-print-gimme-gimme-gimme-at-0030
15:48:07FromGitter<mratsim> after 15 years ;)
15:48:12FromGitter<kayabaNerve> That's the actual conversation.
15:48:30FromGitter<kayabaNerve> 6 years?
15:48:44FromGitter<kayabaNerve> https://twitter.com/marnanel/status/132280557190119424
15:48:51FromGitter<kayabaNerve> That's the tweet behind it.
15:48:57FromGitter<mratsim> yeah 6
15:49:11FromGitter<kayabaNerve> "after 15"
15:49:16FromGitter<kayabaNerve> *doubt*
15:53:27FromGitter<mratsim> a new approach to fast parser combinator library: https://semantic-domain.blogspot.com/2018/07/a-typed-algebraic-approach-to-parsing.html. Well like most papers, no repo but it uses OCaml in the paper with code that looks runnable.
15:55:17*nortoh joined #nim
15:57:55stefanos82@kayabaNerve: you took my suggestion seriously? come on man, it was a joke to lighten up a bit lol
15:59:38krux02I think for real future proof reproducable builds, we need a package manager thatgathers all dependencies as subtrees in the repository including the actual nim compiler itself.
15:59:50krux02then Nim can make breaking changes without breaking such projects
15:59:52*Vladar quit (Quit: Leaving)
16:00:07FromGitter<mratsim> It’s called Nix
16:00:19*GeekDude23 joined #nim
16:00:21krux02nixos?
16:00:48*GeekDude23 quit (Remote host closed the connection)
16:01:04FromGitter<kayabaNerve> stefanos82 A `man` dev took it seriously :/
16:01:06FromGitter<mratsim> And there is Guix as well, we discussed with maintainers from both at Fossdem
16:01:25stefanos82@kayabaNerve: back in the '70s
16:01:29*nortoh quit (Ping timeout: 260 seconds)
16:02:31FromGitter<mratsim> @krux02, not sure why whey call themselves on OS, but their number 1 goal is reproducibility.
16:03:34FromGitter<kayabaNerve> stefanos82: Back in 2011.
16:03:58krux02mratsim: sounds cool
16:04:02FromGitter<kayabaNerve> Nix is a package manager; NixOS is a Linux distro that uses Nix.
16:04:03stefanos82chill kayabaNerve, don't take things so seriously
16:04:07FromGitter<kayabaNerve> *of sorts
16:06:26*Guest8729 joined #nim
16:06:50*Guest8729 quit (Remote host closed the connection)
16:18:29*smt` quit (Read error: Connection reset by peer)
16:18:41*smt` joined #nim
16:20:07*nsf joined #nim
16:33:14*Perkol quit (Quit: Leaving)
16:34:03*Guest47439 joined #nim
16:34:49*Guest47439 quit (Remote host closed the connection)
16:41:32*xylef joined #nim
16:49:30*lebster3 joined #nim
16:49:39*lebster3 quit (Read error: Connection reset by peer)
17:02:45*couven92 quit (Quit: Leaving)
17:11:28*yglukhov[i] quit (Remote host closed the connection)
17:12:03*yglukhov[i] joined #nim
17:12:14*Demos joined #nim
17:13:35*xylef quit (Ping timeout: 240 seconds)
17:15:42*leorize quit (Quit: WeeChat 2.2)
17:15:53*leorize joined #nim
17:16:44*yglukhov[i] quit (Ping timeout: 260 seconds)
17:23:29FromGitter<Bennyelg> @kayabaNerve Didnt got your Idea
17:29:12FromGitter<kayabaNerve> @Bennyelg Is your Nim app the only thing editing data?
17:29:38FromGitter<kayabaNerve> @Bennyelg Load the DB into a Nim object; as you make edits, save them to the DB, but always work off the Nim object.
17:29:58FromGitter<kayabaNerve> Sorry for the double ping. It's a simple solution; the offered ones are much better.
17:30:28*Pisuke joined #nim
17:30:33*MyMind quit (Ping timeout: 260 seconds)
17:32:05*Vladar joined #nim
17:32:57*Demos quit (Remote host closed the connection)
17:34:08dom96We desperately need some ORM packages for Nim
17:34:20livcdOrmin was abandoned ? :D
17:34:33*yglukhov[i] joined #nim
17:37:31zacharycarter[m]I have a int marked with the threadvar pragma
17:37:53zacharycarter[m]and then I have a template where I'm using that int to access an element inside of an array
17:38:05*zacharycarter[m] sent a long message: < https://matrix.org/_matrix/media/v1/download/matrix.org/BNzpUIcvIZZKOiEhmTrdfboP >
17:38:19Araqlivcd: not abandoned but I am working on Nim's core instead
17:38:37*zacharycarter[m] sent a long message: < https://matrix.org/_matrix/media/v1/download/matrix.org/aAVxwxKZgWcjbJVAyZOTrRAo >
17:39:02AraqOrmin gets most things right but needs to support 'create table' and model generation in general
17:39:04zacharycarter[m]any ideas?
17:39:05dom96We desperately need packages created by people who aren't already deep in Nim ;)
17:39:05*zacharycarter[m] sent a long message: < https://matrix.org/_matrix/media/v1/download/matrix.org/YwbMwwFbIZFYGOsQePaemHxk >
17:39:28dom96zacharycarter[m]: Consider sending single lines: https://irclogs.nim-lang.org/02-08-2018.html#17:38:05
17:39:36dom96It's a pain to open so many links
17:40:00zacharycarter[m]oh sorry
17:40:01zacharycarter[m]not used to riot still
17:47:25zacharycarter[m]I don't understand why the threadvar inside the array accessor is expanding to -
17:47:26zacharycarter[m]`workThreadQueues_2fRZEsFjPBn1duGEE25ymA[(NimTV_->numWorkerThread_0fmnyMUT8VK7kFKBM0LotA)- 0]`
17:47:28zacharycarter[m]in the C code
17:47:55*Demos joined #nim
17:52:07zacharycarter[m]but because it's creating a tuple, I keep getting the error - `error: subscript of pointer to incomplete type 'tyTuple_Ynko5S7XwBkl4LMl36u3rg' (aka 'struct tyTuple_Ynko5S7XwBkl4LMl36u3rg')`
17:53:23zacharycarter[m]actually - the only thing assigned that type is the workThreadQueues variable
18:14:58*wildlander quit (Quit: Konversation terminated!)
18:23:13*yglukhov[i] quit (Remote host closed the connection)
18:28:47FromGitter<mratsim> I found a deserter: https://github.com/Skrylar/skspring-rs @skrylar
18:31:52zacharycarter[m]I don't think so
18:31:55zacharycarter[m]I'm pretty sure he's still active in here
18:32:06zacharycarter[m]maybe not
18:32:42zacharycarter[m]didn't see the commit time
18:33:05FromGitter<mratsim> I’m joking of course :)
18:33:33zacharycarter[m]I know haha
18:38:55*yglukhov[i] joined #nim
18:39:36FromGitter<kayabaNerve> I've seen Skrylar decently recently.
18:43:39*yglukhov[i] quit (Ping timeout: 260 seconds)
18:53:46zacharycarter[m]Okay interesting - if I import the module that has the collection type defined in it - the incomplete tuple type errors go away
18:53:54zacharycarter[m]but now I have another collection of threads
18:54:23zacharycarter[m]`var workerThreads* : RtArray[Thread[ThreadInitInfo]]`
18:54:34zacharycarter[m]`type
18:54:34zacharycarter[m] DynArray* {.unchecked.}[T] = array[0..ArrayDummySize, T]
18:54:35zacharycarter[m] RtArray*[T] = ptr Dynarray[T]`
18:54:57zacharycarter[m]`error: subscript of pointer to incomplete type 'tyObject_Thread_oaa5Y0MwB0RZJYQYrNKJ7A' (aka 'struct tyObject_Thread_oaa5Y0MwB0RZJYQYrNKJ7A')
18:54:58zacharycarter[m] ... thread = (&workerThreads_3ZbdFAZap5rC9bA9cJD7Tw3Q[(i)- 0]);`
18:57:32zacharycarter[m]why is it creating this incomplete struct?
19:00:57*yglukhov[i] joined #nim
19:05:05*yglukhov[i] quit (Ping timeout: 248 seconds)
19:10:53*ng0 quit (Ping timeout: 250 seconds)
19:13:53*ng0 joined #nim
19:21:34Araqzacharycarter[m]: because the compiler thinks not more is necessary. bug report please
19:25:12zacharycarter[m]araq - sure I just created a minimal repo - https://github.com/zacharycarter/minimal
19:25:15zacharycarter[m]I'll create an issue now
19:25:37zacharycarter[m]and I'll boil this minimal repo down
19:29:54Araqty
19:31:27zacharycarter[m]np!
19:32:04*Vladar quit (Ping timeout: 260 seconds)
19:33:39zacharycarter[m]https://github.com/nim-lang/Nim/issues/8517
19:39:32Araqbtw does --tlsEmulation:off make a difference?
19:39:54zacharycarter[m]let me try
19:40:13zacharycarter[m]negative
19:41:12*Trustable quit (Remote host closed the connection)
19:42:46stefanos82zacharycarter[m]: btw, your rtarray.nim should be named rtArray.nim to compile
19:43:16zacharycarter[m]maybe that's the problem
19:43:20zacharycarter[m]why is that?
19:43:54stefanos82because that's the name of your module
19:43:58*xet7 quit (Quit: Leaving)
19:44:12zacharycarter[m]yeah but I want to name it rtarray
19:44:20zacharycarter[m]the type is named RTArray
19:44:25zacharycarter[m]but the module can be all lowercase I think
19:44:32stefanos82http://paste.debian.net/1036465/
19:44:52stefanos82it wouldn't let me compile it with rtarray
19:44:59*yglukhov[i] joined #nim
19:45:04stefanos82I had to rename it to rtArray to let me do so
19:45:09zacharycarter[m]weird - it compiles fine for me with rtarray
19:45:15zacharycarter[m]well
19:45:16zacharycarter[m]until that error
19:45:37zacharycarter[m]it's probably because the import statement in scheduler.nim refers to it as rtArray
19:45:43zacharycarter[m]so it's a mismatch
19:45:57stefanos82what nim version are you using?
19:46:15zacharycarter[m]devel from yesterday
19:46:36stefanos82I use devel as well, but of this version: git hash: 8b638ae59991009d6b0b08af2bcf48c11a04eaa2
19:47:00zacharycarter[m]I just pushed an update - please try again stefanos82
19:47:10stefanos82ok
19:48:46stefanos82the same error isseu with unknown_schedulerInit000 type
19:48:50stefanos82*issue
19:48:57zacharycarter[m]this is a regression btw Araq
19:49:03zacharycarter[m]this works fine in 18.0
19:49:27*yglukhov[i] quit (Ping timeout: 240 seconds)
19:51:12zacharycarter[m]at least the minimal example compiles with 0.18.0
19:59:28FromGitter<deech> Not sure if this is the right channel for this but is anyone using Spacemacs with nim-mode and having the editor totally freeze up after typing a couple of characters?
20:00:28FromGitter<kaushalmodi> @deech It's a known issue with nimsuggest. Quick and easy "fix" is to remove nimsuggest from PATH
20:01:35FromGitter<deech> Oh so nim completion in Spacemacs is currently completely broken?
20:02:04FromGitter<kaushalmodi> I don't use Spacemacs, neither any completion engine
20:02:11FromGitter<kaushalmodi> hippy-expand works for me
20:02:30FromGitter<kaushalmodi> s/hippy/hippie
20:26:23*xylef joined #nim
20:28:59krux02kaushalmodi: I think that is currently the best setup for Nim.
20:31:12FromGitter<deech> krux02: Is it an issue with Spacemacs or nim-mode itself?
20:32:21krux02nim-mode
20:32:25krux02specifically nimsuggest
20:32:53krux02nimsuggest sometimes just ends up in an infinite loop and never returns
20:33:02krux02also it makes everything sluggish
20:33:43krux02I use compile-mode to compile nim files and then I use the normal error messages from Nim.
20:36:24*yglukhov[i] joined #nim
20:37:51*yglukhov[i] quit (Read error: Connection reset by peer)
20:38:00*yglukhov[i] joined #nim
20:45:13FromGitter<deech> Digging through `nim-suggest.el` I noticed that it only freezes up Emacs completely if the file you're working on is inside the `compiler` directory. For a normal Nim program it works but as you say it's sluggish.
20:45:19*beatmox_ left #nim (#nim)
20:46:04*beatmox joined #nim
20:47:05krux02Araq: I just got aware of this test here: https://github.com/nim-lang/Nim/blob/devel/tests/macros/tforloop_macro1.nim
20:47:25krux02I mean great a macro that has full control over a for loop
20:47:50krux02but honestly, where does ``ForLoopStmt`` come from?
20:48:50krux02that seems very arbitrary to me, since that symbol is introduced nowhere
20:51:30Araqmy system.nim has it
20:52:23krux02ah I see it
20:52:50krux02very arbitrary and also not very consistent with the case-of macro
20:55:11*cryptocat1094 quit (Quit: gtg)
20:56:03FromGitter<kayabaNerve> Who here can do me a testing favor?
20:56:10Araqwhatever that means.
20:56:36FromGitter<kayabaNerve> Install https://github.com/emekoi/BN as a Nimble package
20:56:53FromGitter<kayabaNerve> The actual package is `BN` but on my GitHub; that's a fork.
20:57:43FromGitter<kayabaNerve> ```code paste, see link``` ⏎ ⏎ Test this. It should either: ⏎ A) Not have a memory leak. ⏎ B) Crash due to stack corruption. [https://gitter.im/nim-lang/Nim?at=5b637047c79ebc1ae79c605d]
20:57:57FromGitter<kayabaNerve> Then respond with your OS, Nim version, and C compiler version.
21:00:00Araqkrux02, but indeed we'll also get CaseStmt so that user definable types can work with 'case' and also introduce pattern matching
21:00:10FromGitter<kayabaNerve> And just to be absolutely clear: `import BN` should load BN through Nimble, not through being in the same folder or something. Just trying to be clear.
21:02:53krux02Araq: https://github.com/nim-lang/Nim/blob/devel/tests/macros/tmacrostmt.nim
21:03:03krux02case statements do already exist
21:03:36Araqas if I don't know.
21:07:24krux02Araq: so I guess with the CaseStmt object I can do case of statements and leave out the : in the line of the case?
21:07:59krux02so I could leave out the colon in this line https://github.com/nim-lang/Nim/blob/devel/tests/macros/tmacrostmt.nim#L7
21:08:00krux02?
21:08:52*smt_ joined #nim
21:10:28Araqmacro tupleMatcher(x: tuple; body: CaseStmt) = ...
21:10:33Araqcase myTuple
21:10:50Araqof (x, y): echo "omg, pattern matching", x, y
21:11:20Araq# uses 'tupleMatcher' for the transformation
21:11:31Araqbut it's just a vague idea at this point
21:12:27*smt` quit (Ping timeout: 240 seconds)
21:13:33Araqcase tupleMatcher(myTuple): ... would be consistent with for loop macros...
21:19:11*stefanos82 feels like a 6-year old kid that stares at a group of adults while discussing sophisticated conversations and all he says is "WOW! They are all geniuses!"
21:20:15*NimBot joined #nim
21:21:49zacharycarter[m]Hrm - another possible compiler bug?
21:22:10zacharycarter[m]`var jobAllocator* {.threadvar.}: CircAlloc[MaxJobCount,Job]`
21:22:38zacharycarter[m]`proc workerThreadProc(info: ThreadInitInfo) {.thread.} =jobAllocator.init()
21:22:38*nsf quit (Quit: WeeChat 2.2)
21:22:52zacharycarter[m]`proc workerThreadProc(info: ThreadInitInfo) {.thread.} = jobAllocator.init()`
21:23:01Araqstop it, gist it
21:23:06zacharycarter[m]okay
21:27:43*Jesin quit (Remote host closed the connection)
21:30:20*a_b_m joined #nim
21:30:45*a_b_m quit (Client Quit)
21:33:21*abm quit (Ping timeout: 248 seconds)
21:34:22*Jesin joined #nim
21:50:52*xylef quit (Quit: WeeChat 2.2)
22:05:42krux02zacharycarter[m], I have installed a script in my editor that allows me to automatically upload the selection or the entire file to a hoster and put the link in the clipboard, super handy for conversations here
22:15:44FromGitter<kayabaNerve> Bounty fulfilled :D
22:42:14*thomasross joined #nim
22:44:12*yglukhov[i] quit (Remote host closed the connection)
22:45:01*yglukhov[i] joined #nim
22:45:04*yglukhov[i] quit (Remote host closed the connection)
22:45:55*yglukhov[i] joined #nim
22:45:59*yglukhov[i] quit (Remote host closed the connection)
22:46:52*yglukhov[i] joined #nim
22:46:53*yglukhov[i] quit (Read error: Connection reset by peer)
22:48:38*yglukhov[i] joined #nim
22:48:41*yglukhov[i] quit (Remote host closed the connection)
22:49:32*yglukhov[i] joined #nim
22:49:35*yglukhov[i] quit (Remote host closed the connection)
22:50:27*yglukhov[i] joined #nim
22:50:29*yglukhov[i] quit (Remote host closed the connection)
22:51:20*yglukhov[i] joined #nim
22:51:23*yglukhov[i] quit (Remote host closed the connection)
22:52:16*yglukhov[i] joined #nim
22:52:17*yglukhov[i] quit (Remote host closed the connection)
22:53:10*yglukhov[i] joined #nim
22:53:11*yglukhov[i] quit (Remote host closed the connection)
22:54:01*yglukhov[i] joined #nim
22:54:05*yglukhov[i] quit (Remote host closed the connection)
22:54:57*yglukhov[i] joined #nim
22:55:00*yglukhov[i] quit (Remote host closed the connection)
22:55:51*yglukhov[i] joined #nim
22:55:53*yglukhov[i] quit (Remote host closed the connection)
22:56:47*yglukhov[i] joined #nim
22:56:48*yglukhov[i] quit (Remote host closed the connection)
22:57:41*yglukhov[i] joined #nim
22:57:41*yglukhov[i] quit (Remote host closed the connection)
22:58:35*yglukhov[i] joined #nim
22:58:36*yglukhov[i] quit (Remote host closed the connection)
22:59:27*yglukhov[i] joined #nim
22:59:29*yglukhov[i] quit (Remote host closed the connection)
23:01:16*yglukhov[i] joined #nim
23:01:17*yglukhov[i] quit (Remote host closed the connection)
23:02:10*yglukhov[i] joined #nim
23:02:12*yglukhov[i] quit (Remote host closed the connection)
23:03:57*yglukhov[i] joined #nim
23:04:00*yglukhov[i] quit (Remote host closed the connection)
23:04:53*yglukhov[i] joined #nim
23:04:54*yglukhov[i] quit (Read error: Connection reset by peer)
23:07:33*yglukhov[i] joined #nim
23:07:36*yglukhov[i] quit (Remote host closed the connection)
23:08:28*yglukhov[i] joined #nim
23:08:30*yglukhov[i] quit (Remote host closed the connection)
23:09:23*yglukhov[i] joined #nim
23:09:24*yglukhov[i] quit (Remote host closed the connection)
23:10:18*yglukhov[i] joined #nim
23:10:19*yglukhov[i] quit (Remote host closed the connection)
23:11:13*yglukhov[i] joined #nim
23:11:14*yglukhov[i] quit (Remote host closed the connection)
23:13:04*Pisuke quit (Read error: Connection reset by peer)
23:13:57*yglukhov[i] joined #nim
23:14:02*yglukhov[i] quit (Remote host closed the connection)
23:14:11*Pisuke joined #nim
23:15:43*yglukhov[i] joined #nim
23:15:46*yglukhov[i] quit (Remote host closed the connection)
23:16:38*yglukhov[i] joined #nim
23:16:41*yglukhov[i] quit (Remote host closed the connection)
23:17:32*yglukhov[i] joined #nim
23:17:35*yglukhov[i] quit (Remote host closed the connection)
23:18:28*yglukhov[i] joined #nim
23:18:30*yglukhov[i] quit (Remote host closed the connection)
23:19:06FromGitter<kaushalmodi> I don't understand Rust nor C. I'd be curious how someone would implement the Rust fastcat in Nim :) https://matthias-endler.de/2018/fastcat/
23:19:22*yglukhov[i] joined #nim
23:19:24*yglukhov[i] quit (Remote host closed the connection)
23:19:35FromGitter<kaushalmodi> s/don't/neither
23:20:24*yglukhov[i] joined #nim
23:20:24*yglukhov[i] quit (Remote host closed the connection)
23:21:56*dddddd quit (Remote host closed the connection)
23:22:57*yglukhov[i] joined #nim
23:23:01*yglukhov[i] quit (Remote host closed the connection)
23:23:53*yglukhov[i] joined #nim
23:23:56*yglukhov[i] quit (Remote host closed the connection)
23:27:29*yglukhov[i] joined #nim
23:27:32*yglukhov[i] quit (Remote host closed the connection)
23:27:58FromGitter<rayman22201> @kaushalmodi, it would be pretty similar to how Rust is doing it.... it's just calling that C splice function, nothing really special. You should try to implement it ;-)
23:28:22*yglukhov[i] joined #nim
23:28:26*yglukhov[i] quit (Remote host closed the connection)
23:29:18*yglukhov[i] joined #nim
23:29:20*yglukhov[i] quit (Remote host closed the connection)
23:30:14*yglukhov[i] joined #nim
23:30:14*yglukhov[i] quit (Read error: Connection reset by peer)
23:32:00*yglukhov[i] joined #nim
23:32:02*yglukhov[i] quit (Remote host closed the connection)
23:32:53*yglukhov[i] joined #nim
23:32:56*yglukhov[i] quit (Remote host closed the connection)
23:33:47*yglukhov[i] joined #nim
23:33:50*yglukhov[i] quit (Remote host closed the connection)
23:34:43*yglukhov[i] joined #nim
23:34:44*yglukhov[i] quit (Remote host closed the connection)
23:35:35*yglukhov[i] joined #nim
23:35:38*yglukhov[i] quit (Remote host closed the connection)
23:37:24*yglukhov[i] joined #nim
23:37:27*yglukhov[i] quit (Remote host closed the connection)
23:38:18*yglukhov[i] joined #nim
23:38:22*yglukhov[i] quit (Remote host closed the connection)
23:39:16*yglukhov[i] joined #nim
23:39:16*yglukhov[i] quit (Read error: Connection reset by peer)
23:40:08*yglukhov[i] joined #nim
23:40:11*yglukhov[i] quit (Remote host closed the connection)
23:41:02*yglukhov[i] joined #nim
23:41:05*yglukhov[i] quit (Remote host closed the connection)
23:41:59*yglukhov[i] joined #nim
23:42:00*yglukhov[i] quit (Remote host closed the connection)
23:43:46*yglukhov[i] joined #nim
23:43:49*yglukhov[i] quit (Remote host closed the connection)
23:44:43*yglukhov[i] joined #nim
23:44:44*yglukhov[i] quit (Read error: Connection reset by peer)
23:45:35*yglukhov[i] joined #nim
23:45:38*yglukhov[i] quit (Remote host closed the connection)
23:46:32*yglukhov[i] joined #nim
23:46:33*yglukhov[i] quit (Remote host closed the connection)
23:47:26*yglukhov[i] joined #nim
23:47:27*yglukhov[i] quit (Read error: Connection reset by peer)
23:48:19*yglukhov[i] joined #nim
23:48:21*yglukhov[i] quit (Remote host closed the connection)
23:49:13*yglukhov[i] joined #nim
23:49:15*yglukhov[i] quit (Remote host closed the connection)
23:50:07*yglukhov[i] joined #nim
23:50:09*yglukhov[i] quit (Remote host closed the connection)
23:51:02*yglukhov[i] joined #nim
23:51:03*yglukhov[i] quit (Remote host closed the connection)
23:51:55*yglukhov[i] joined #nim
23:51:57*yglukhov[i] quit (Remote host closed the connection)
23:52:47*yglukhov[i] joined #nim
23:52:51*yglukhov[i] quit (Remote host closed the connection)
23:53:42*yglukhov[i] joined #nim
23:53:45*yglukhov[i] quit (Remote host closed the connection)
23:54:37*yglukhov[i] joined #nim
23:54:39*yglukhov[i] quit (Read error: Connection reset by peer)
23:55:32*yglukhov[i] joined #nim
23:55:33*yglukhov[i] quit (Remote host closed the connection)
23:57:19*yglukhov[i] joined #nim
23:57:21*yglukhov[i] quit (Remote host closed the connection)
23:58:12*yglukhov[i] joined #nim
23:58:15*yglukhov[i] quit (Remote host closed the connection)
23:59:07*yglukhov[i] joined #nim
23:59:09*yglukhov[i] quit (Remote host closed the connection)
23:59:32*krux02 quit (Remote host closed the connection)