00:21:10 | * | stefanos82 joined #nim |
00:22:18 | FromGitter | <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:05 | zacharycarter | kayabaNerve: 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:23 | FromGitter | <kayabaNerve> Got it |
00:40:29 | FromGitter | <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:18 | FromDiscord | <emekoi> can `new` raise an exception? |
05:13:01 | FromDiscord | <awr> nim supports two pragma orders for type declarations and i feel like it should abandon one of them for consistency |
05:13:29 | FromDiscord | <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:56 | FromDiscord | <awr> probably the second as the first form is used all over the place |
05:17:00 | FromDiscord | <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:48 | FromGitter | <mratsim> yeah I agree |
07:11:21 | * | ng0 joined #nim |
07:11:31 | FromGitter | <mratsim> the {.acyclic.} works only on the right iirc, and the {.shallow.} works on both side |
07:11:37 | FromGitter | <mratsim> or make it a key word |
07:11:47 | FromGitter | <mratsim> type foo = acyclic ref object |
07:11:54 | FromGitter | <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:22 | livcd | i 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:43 | euantor | IIRC 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:06 | livcd | nice forum post mratsim |
10:24:11 | endragor | there is nothing like `defer` but which inserts `try/except` instead of `try/finally`, or is there? |
10:32:49 | FromDiscord | <awr> not really but i would imagine thatwould not be very difficult to implement using a template |
10:34:59 | endragor | not sure how you'd do that if you don't want to add an indent |
10:36:16 | leorize | endragor: what do you mean? |
10:37:41 | endragor | I 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:07 | endragor | er, I mean `try: body except: statement`, but you got the point. |
10:38:46 | FromDiscord | <awr> how would you define the try region? |
10:39:11 | FromDiscord | <awr> just the current lexical scope? |
10:39:28 | endragor | awr: with template? just pass it as a block |
10:39:49 | FromDiscord | <awr> no i mean in the would-be keyword you want |
10:40:20 | FromDiscord | <awr> i guess you would want `try` to be the entirety of the current scope like `defer` |
10:40:49 | endragor | awr: 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:22 | FromGitter | <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:22 | FromGitter | ... [https://gitter.im/nim-lang/Nim?at=5b62e2de79bfdf5c998a9bb5] |
11:01:22 | stefanos82 | and how is this related to Nim? |
11:01:42 | FromGitter | <Bennyelg> I am creating some website in nim |
11:01:47 | FromGitter | <Bennyelg> which display statistics |
11:01:56 | FromGitter | <Bennyelg> so I was thinking to ask here :) |
11:04:55 | stefanos82 | how about caching your returned results in memcached or redis? |
11:09:01 | FromGitter | <Bennyelg> thought about it, but I think its an overkill |
11:09:29 | FromGitter | <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:51 | FromGitter | <mratsim> doesn’t your database cache rencently used/frequent requests already? |
12:09:25 | FromGitter | <mratsim> if not, maybe add one or 2 indexes to it, it will change query time from linear to logarithmic |
12:10:08 | FromGitter | <Bennyelg> mm, interesting, I'll check thanks |
12:10:20 | FromGitter | <mratsim> otherwise here is an LRU cache in Nim: https://github.com/niv/neverwinter.nim/blob/master/src/neverwinter/lru.nim |
12:10:43 | FromGitter | <mratsim> but really, optimize your database, it’s much easier, more maintainable and there is a lot of docs for that |
12:12:17 | FromGitter | <mratsim> if you’re using sqlite, you can check the cache pragmas: https://www.sqlite.org/pragma.html#pragma_cache_size |
12:13:56 | FromGitter | <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:27 | FromGitter | <Bennyelg> cool |
12:14:49 | FromGitter | <Bennyelg> I'll take this option using the pragma cache size |
12:14:51 | FromGitter | <Bennyelg> thanks |
12:15:36 | FromGitter | <mratsim> don’t forget about indexes, that’s the easiest way to get higher performance |
12:15:59 | FromGitter | <mratsim> https://medium.com/@JasonWyatt/squeezing-performance-from-sqlite-indexes-indexes-c4e175f3c346 |
12:16:21 | FromGitter | <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:55 | crem | I'm late to nim community survey?? :-( Wow, i was away only for a month. |
13:21:50 | crem | How did questions differ at least?.. |
13:22:10 | crem | I tried to use nim like 10 times during last year, I had something to say. :) |
13:25:00 | livcd | tell us more :) |
13:27:38 | FromGitter | <zetashift> "only for a month" ;P |
13:28:12 | crem | Last 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:35 | crem | It 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:03 | FromGitter | <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:30 | dom96 | Three months? I don't think so :) |
13:44:36 | dom96 | I actually extended this year's survey |
13:44:48 | dom96 | I don't believe I extended any of the previous year's |
13:47:06 | dom96 | OllieBerzs: If you only have one object type then why are you using methods? |
13:47:08 | dom96 | Use a proc |
13:51:20 | FromGitter | <kayabaNerve> @Bennyelg Make an object of the database and mirror it? That's a way. |
13:53:50 | * | strengthen joined #nim |
13:54:56 | livcd | can 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:24 | Perkol | Hello. 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:53 | FromDiscord | <Mindrage> So what IDEs are mostly developed for Nim? |
14:15:37 | FromGitter | <mratsim> @Mindrage: Visual Studio Code |
14:15:52 | FromGitter | <mratsim> @Perkol: Threadpool or OpenMP |
14:16:00 | krux02 | there is no "IDE" only editor support |
14:16:12 | krux02 | but editor support has IDE features. |
14:16:44 | krux02 | For 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:57 | krux02 | (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:41 | FromGitter | <kayabaNerve> Aporia |
14:32:57 | * | couven92 joined #nim |
14:33:22 | FromGitter | <kayabaNerve> Aporia is a IDE written in Nim for Nim. That said, it was abandoned apparently :( |
14:33:30 | FromGitter | <kayabaNerve> I use Atom with a Nim plugin. |
14:36:53 | FromGitter | <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:25 | dom96 | It is abandoned :P |
14:41:31 | Perkol | https://bpaste.net/show/ea7e8c3ee981 Why is error happening there? |
14:44:15 | FromGitter | <kayabaNerve> Lol |
14:46:30 | * | xylef quit (Ping timeout: 265 seconds) |
14:47:02 | FromGitter | <mratsim> @Perkol -1, opening the file didn’t work? Is it locked? |
14:50:42 | Perkol | No 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:35 | zacharycarter[m] | HRM |
15:05:46 | zacharycarter[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:37 | zacharycarter[m] | I'm using a thread var of type int as an array element accessor |
15:17:35 | zacharycarter[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:09 | dom96 | https://twitter.com/pcwalton/status/1025041259776241664 |
15:40:47 | FromGitter | <mratsim> #discard |
15:40:52 | dom96 | indeed |
15:40:53 | FromGitter | <mratsim> \#discard |
15:44:01 | FromGitter | <kayabaNerve> `discard` hasn't harmed my workflow at all, and is incredibly useful. |
15:44:33 | stefanos82 | dom96: you know what would be hilarious? to add an easter egg behind Nim that takes place only every April 1st |
15:44:47 | dom96 | It's funny that pcwalton organically decided to use `drop` for this in his Rust code |
15:45:16 | stefanos82 | yeah, the let _ = ...; suggestion looks a lot clearer to me :/ |
15:45:27 | stefanos82 | so, as I was saying |
15:46:10 | stefanos82 | when 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:12 | stefanos82 | and so forth |
15:46:21 | stefanos82 | that would drive developers crazy! hahahaha |
15:46:50 | FromGitter | <kayabaNerve> stefanos82 That stuff breaks tests though |
15:47:16 | FromGitter | <kayabaNerve> https://www.theregister.co.uk/2017/11/22/gimme_gimme_gimme_in_linux_breaks_automated_tests/ |
15:48:03 | FromGitter | <kayabaNerve> Here. https://unix.stackexchange.com/questions/405783/why-does-man-print-gimme-gimme-gimme-at-0030 |
15:48:07 | FromGitter | <mratsim> after 15 years ;) |
15:48:12 | FromGitter | <kayabaNerve> That's the actual conversation. |
15:48:30 | FromGitter | <kayabaNerve> 6 years? |
15:48:44 | FromGitter | <kayabaNerve> https://twitter.com/marnanel/status/132280557190119424 |
15:48:51 | FromGitter | <kayabaNerve> That's the tweet behind it. |
15:48:57 | FromGitter | <mratsim> yeah 6 |
15:49:11 | FromGitter | <kayabaNerve> "after 15" |
15:49:16 | FromGitter | <kayabaNerve> *doubt* |
15:53:27 | FromGitter | <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:55 | stefanos82 | @kayabaNerve: you took my suggestion seriously? come on man, it was a joke to lighten up a bit lol |
15:59:38 | krux02 | I 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:50 | krux02 | then Nim can make breaking changes without breaking such projects |
15:59:52 | * | Vladar quit (Quit: Leaving) |
16:00:07 | FromGitter | <mratsim> It’s called Nix |
16:00:19 | * | GeekDude23 joined #nim |
16:00:21 | krux02 | nixos? |
16:00:48 | * | GeekDude23 quit (Remote host closed the connection) |
16:01:04 | FromGitter | <kayabaNerve> stefanos82 A `man` dev took it seriously :/ |
16:01:06 | FromGitter | <mratsim> And there is Guix as well, we discussed with maintainers from both at Fossdem |
16:01:25 | stefanos82 | @kayabaNerve: back in the '70s |
16:01:29 | * | nortoh quit (Ping timeout: 260 seconds) |
16:02:31 | FromGitter | <mratsim> @krux02, not sure why whey call themselves on OS, but their number 1 goal is reproducibility. |
16:03:34 | FromGitter | <kayabaNerve> stefanos82: Back in 2011. |
16:03:58 | krux02 | mratsim: sounds cool |
16:04:02 | FromGitter | <kayabaNerve> Nix is a package manager; NixOS is a Linux distro that uses Nix. |
16:04:03 | stefanos82 | chill kayabaNerve, don't take things so seriously |
16:04:07 | FromGitter | <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:29 | FromGitter | <Bennyelg> @kayabaNerve Didnt got your Idea |
17:29:12 | FromGitter | <kayabaNerve> @Bennyelg Is your Nim app the only thing editing data? |
17:29:38 | FromGitter | <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:58 | FromGitter | <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:08 | dom96 | We desperately need some ORM packages for Nim |
17:34:20 | livcd | Ormin was abandoned ? :D |
17:34:33 | * | yglukhov[i] joined #nim |
17:37:31 | zacharycarter[m] | I have a int marked with the threadvar pragma |
17:37:53 | zacharycarter[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:19 | Araq | livcd: 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:02 | Araq | Ormin gets most things right but needs to support 'create table' and model generation in general |
17:39:04 | zacharycarter[m] | any ideas? |
17:39:05 | dom96 | We 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:28 | dom96 | zacharycarter[m]: Consider sending single lines: https://irclogs.nim-lang.org/02-08-2018.html#17:38:05 |
17:39:36 | dom96 | It's a pain to open so many links |
17:40:00 | zacharycarter[m] | oh sorry |
17:40:01 | zacharycarter[m] | not used to riot still |
17:47:25 | zacharycarter[m] | I don't understand why the threadvar inside the array accessor is expanding to - |
17:47:26 | zacharycarter[m] | `workThreadQueues_2fRZEsFjPBn1duGEE25ymA[(NimTV_->numWorkerThread_0fmnyMUT8VK7kFKBM0LotA)- 0]` |
17:47:28 | zacharycarter[m] | in the C code |
17:47:55 | * | Demos joined #nim |
17:52:07 | zacharycarter[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:23 | zacharycarter[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:47 | FromGitter | <mratsim> I found a deserter: https://github.com/Skrylar/skspring-rs @skrylar |
18:31:52 | zacharycarter[m] | I don't think so |
18:31:55 | zacharycarter[m] | I'm pretty sure he's still active in here |
18:32:06 | zacharycarter[m] | maybe not |
18:32:42 | zacharycarter[m] | didn't see the commit time |
18:33:05 | FromGitter | <mratsim> I’m joking of course :) |
18:33:33 | zacharycarter[m] | I know haha |
18:38:55 | * | yglukhov[i] joined #nim |
18:39:36 | FromGitter | <kayabaNerve> I've seen Skrylar decently recently. |
18:43:39 | * | yglukhov[i] quit (Ping timeout: 260 seconds) |
18:53:46 | zacharycarter[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:54 | zacharycarter[m] | but now I have another collection of threads |
18:54:23 | zacharycarter[m] | `var workerThreads* : RtArray[Thread[ThreadInitInfo]]` |
18:54:34 | zacharycarter[m] | `type |
18:54:34 | zacharycarter[m] | DynArray* {.unchecked.}[T] = array[0..ArrayDummySize, T] |
18:54:35 | zacharycarter[m] | RtArray*[T] = ptr Dynarray[T]` |
18:54:57 | zacharycarter[m] | `error: subscript of pointer to incomplete type 'tyObject_Thread_oaa5Y0MwB0RZJYQYrNKJ7A' (aka 'struct tyObject_Thread_oaa5Y0MwB0RZJYQYrNKJ7A') |
18:54:58 | zacharycarter[m] | ... thread = (&workerThreads_3ZbdFAZap5rC9bA9cJD7Tw3Q[(i)- 0]);` |
18:57:32 | zacharycarter[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:34 | Araq | zacharycarter[m]: because the compiler thinks not more is necessary. bug report please |
19:25:12 | zacharycarter[m] | araq - sure I just created a minimal repo - https://github.com/zacharycarter/minimal |
19:25:15 | zacharycarter[m] | I'll create an issue now |
19:25:37 | zacharycarter[m] | and I'll boil this minimal repo down |
19:29:54 | Araq | ty |
19:31:27 | zacharycarter[m] | np! |
19:32:04 | * | Vladar quit (Ping timeout: 260 seconds) |
19:33:39 | zacharycarter[m] | https://github.com/nim-lang/Nim/issues/8517 |
19:39:32 | Araq | btw does --tlsEmulation:off make a difference? |
19:39:54 | zacharycarter[m] | let me try |
19:40:13 | zacharycarter[m] | negative |
19:41:12 | * | Trustable quit (Remote host closed the connection) |
19:42:46 | stefanos82 | zacharycarter[m]: btw, your rtarray.nim should be named rtArray.nim to compile |
19:43:16 | zacharycarter[m] | maybe that's the problem |
19:43:20 | zacharycarter[m] | why is that? |
19:43:54 | stefanos82 | because that's the name of your module |
19:43:58 | * | xet7 quit (Quit: Leaving) |
19:44:12 | zacharycarter[m] | yeah but I want to name it rtarray |
19:44:20 | zacharycarter[m] | the type is named RTArray |
19:44:25 | zacharycarter[m] | but the module can be all lowercase I think |
19:44:32 | stefanos82 | http://paste.debian.net/1036465/ |
19:44:52 | stefanos82 | it wouldn't let me compile it with rtarray |
19:44:59 | * | yglukhov[i] joined #nim |
19:45:04 | stefanos82 | I had to rename it to rtArray to let me do so |
19:45:09 | zacharycarter[m] | weird - it compiles fine for me with rtarray |
19:45:15 | zacharycarter[m] | well |
19:45:16 | zacharycarter[m] | until that error |
19:45:37 | zacharycarter[m] | it's probably because the import statement in scheduler.nim refers to it as rtArray |
19:45:43 | zacharycarter[m] | so it's a mismatch |
19:45:57 | stefanos82 | what nim version are you using? |
19:46:15 | zacharycarter[m] | devel from yesterday |
19:46:36 | stefanos82 | I use devel as well, but of this version: git hash: 8b638ae59991009d6b0b08af2bcf48c11a04eaa2 |
19:47:00 | zacharycarter[m] | I just pushed an update - please try again stefanos82 |
19:47:10 | stefanos82 | ok |
19:48:46 | stefanos82 | the same error isseu with unknown_schedulerInit000 type |
19:48:50 | stefanos82 | *issue |
19:48:57 | zacharycarter[m] | this is a regression btw Araq |
19:49:03 | zacharycarter[m] | this works fine in 18.0 |
19:49:27 | * | yglukhov[i] quit (Ping timeout: 240 seconds) |
19:51:12 | zacharycarter[m] | at least the minimal example compiles with 0.18.0 |
19:59:28 | FromGitter | <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:28 | FromGitter | <kaushalmodi> @deech It's a known issue with nimsuggest. Quick and easy "fix" is to remove nimsuggest from PATH |
20:01:35 | FromGitter | <deech> Oh so nim completion in Spacemacs is currently completely broken? |
20:02:04 | FromGitter | <kaushalmodi> I don't use Spacemacs, neither any completion engine |
20:02:11 | FromGitter | <kaushalmodi> hippy-expand works for me |
20:02:30 | FromGitter | <kaushalmodi> s/hippy/hippie |
20:26:23 | * | xylef joined #nim |
20:28:59 | krux02 | kaushalmodi: I think that is currently the best setup for Nim. |
20:31:12 | FromGitter | <deech> krux02: Is it an issue with Spacemacs or nim-mode itself? |
20:32:21 | krux02 | nim-mode |
20:32:25 | krux02 | specifically nimsuggest |
20:32:53 | krux02 | nimsuggest sometimes just ends up in an infinite loop and never returns |
20:33:02 | krux02 | also it makes everything sluggish |
20:33:43 | krux02 | I 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:13 | FromGitter | <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:05 | krux02 | Araq: I just got aware of this test here: https://github.com/nim-lang/Nim/blob/devel/tests/macros/tforloop_macro1.nim |
20:47:25 | krux02 | I mean great a macro that has full control over a for loop |
20:47:50 | krux02 | but honestly, where does ``ForLoopStmt`` come from? |
20:48:50 | krux02 | that seems very arbitrary to me, since that symbol is introduced nowhere |
20:51:30 | Araq | my system.nim has it |
20:52:23 | krux02 | ah I see it |
20:52:50 | krux02 | very arbitrary and also not very consistent with the case-of macro |
20:55:11 | * | cryptocat1094 quit (Quit: gtg) |
20:56:03 | FromGitter | <kayabaNerve> Who here can do me a testing favor? |
20:56:10 | Araq | whatever that means. |
20:56:36 | FromGitter | <kayabaNerve> Install https://github.com/emekoi/BN as a Nimble package |
20:56:53 | FromGitter | <kayabaNerve> The actual package is `BN` but on my GitHub; that's a fork. |
20:57:43 | FromGitter | <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:57 | FromGitter | <kayabaNerve> Then respond with your OS, Nim version, and C compiler version. |
21:00:00 | Araq | krux02, but indeed we'll also get CaseStmt so that user definable types can work with 'case' and also introduce pattern matching |
21:00:10 | FromGitter | <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:53 | krux02 | Araq: https://github.com/nim-lang/Nim/blob/devel/tests/macros/tmacrostmt.nim |
21:03:03 | krux02 | case statements do already exist |
21:03:36 | Araq | as if I don't know. |
21:07:24 | krux02 | Araq: 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:59 | krux02 | so I could leave out the colon in this line https://github.com/nim-lang/Nim/blob/devel/tests/macros/tmacrostmt.nim#L7 |
21:08:00 | krux02 | ? |
21:08:52 | * | smt_ joined #nim |
21:10:28 | Araq | macro tupleMatcher(x: tuple; body: CaseStmt) = ... |
21:10:33 | Araq | case myTuple |
21:10:50 | Araq | of (x, y): echo "omg, pattern matching", x, y |
21:11:20 | Araq | # uses 'tupleMatcher' for the transformation |
21:11:31 | Araq | but it's just a vague idea at this point |
21:12:27 | * | smt` quit (Ping timeout: 240 seconds) |
21:13:33 | Araq | case 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:49 | zacharycarter[m] | Hrm - another possible compiler bug? |
21:22:10 | zacharycarter[m] | `var jobAllocator* {.threadvar.}: CircAlloc[MaxJobCount,Job]` |
21:22:38 | zacharycarter[m] | `proc workerThreadProc(info: ThreadInitInfo) {.thread.} =jobAllocator.init() |
21:22:38 | * | nsf quit (Quit: WeeChat 2.2) |
21:22:52 | zacharycarter[m] | `proc workerThreadProc(info: ThreadInitInfo) {.thread.} = jobAllocator.init()` |
21:23:01 | Araq | stop it, gist it |
21:23:06 | zacharycarter[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:42 | krux02 | zacharycarter[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:44 | FromGitter | <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:06 | FromGitter | <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:35 | FromGitter | <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:58 | FromGitter | <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) |