00:00:13 | * | yglukhov[i] joined #nim |
00:07:18 | * | dddddd quit (Remote host closed the connection) |
00:20:17 | * | gokr quit (Ping timeout: 252 seconds) |
00:43:37 | * | ahmed___ quit (Quit: Connection closed for inactivity) |
00:59:37 | * | skellock quit (Quit: Textual IRC Client: www.textualapp.com) |
01:23:09 | subsetpark | What should I use for terminal layout these days? Like making a text editor? |
01:28:26 | * | MyMind joined #nim |
01:28:32 | * | Sembei quit (Ping timeout: 245 seconds) |
01:29:23 | * | FuntDobra joined #nim |
01:32:52 | * | sramsay joined #nim |
01:33:07 | * | sramsay quit (Client Quit) |
01:35:09 | * | asound joined #nim |
01:35:29 | * | FuntDobra quit (Ping timeout: 248 seconds) |
01:36:15 | FromDiscord | <Aearnus> how can I tell nimble to build a certain project as JS? |
01:37:23 | * | asound quit (Client Quit) |
01:37:52 | FromDiscord | <Aearnus> I have my whole `bin` setting set up correctly but it just builds using the c backend |
01:41:00 | * | athenot joined #nim |
01:44:49 | * | yglukhov[i] quit (Ping timeout: 260 seconds) |
01:48:20 | * | athenot_ joined #nim |
01:49:57 | * | athenot quit (Ping timeout: 260 seconds) |
01:51:04 | FromGitter | <aboisvert> use `backend = "js"` in your nimble file |
01:52:20 | * | yglukhov[i] joined #nim |
01:54:03 | FromDiscord | <Aearnus> ah, thanks |
01:54:11 | FromDiscord | <Aearnus> how do I choose an install path? |
01:57:25 | FromDiscord | <Aearnus> in fact -- there are a lot of things that are confusing. how do you define submodules? why does nimble insist on there being no folders in the package with a strange parent folder name? |
02:02:45 | * | athenot_ quit (Ping timeout: 245 seconds) |
02:08:06 | leorize | Aearnus: https://github.com/nim-lang/nimble#project-structure |
02:09:56 | FromDiscord | <Aearnus> will read it -- thanks |
02:16:32 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
02:30:44 | * | asound joined #nim |
02:41:39 | * | ahmed___ joined #nim |
03:06:03 | * | endragor joined #nim |
03:14:05 | * | asound quit (Quit: leaving) |
03:16:03 | * | max3 quit (Quit: Connection closed for inactivity) |
03:51:33 | * | ARCADIVS joined #nim |
04:01:05 | * | leorize quit (Ping timeout: 260 seconds) |
04:02:12 | * | skrylar joined #nim |
04:07:31 | * | CodeVance quit (Read error: Connection reset by peer) |
04:28:48 | * | sz0 quit (Quit: Connection closed for inactivity) |
04:39:46 | * | leorize joined #nim |
04:51:28 | * | ahmed___ quit (Quit: Connection closed for inactivity) |
04:52:30 | * | FuntDobra joined #nim |
04:56:52 | FromGitter | <Varriount> Araq: Do you know the best way to get in touch with zahary? I need to ask him some questions regarding his recent logging code concept |
05:03:30 | skrylar | arrange a series of candles on an empty desk, then adjust a small crystal prism to deflect the light towards the sky where it bounces off a butterfly in to the gitter clouds and lands on his head |
05:05:15 | * | FuntDobra quit (Ping timeout: 245 seconds) |
05:09:25 | * | yglukhov[i] quit (Ping timeout: 245 seconds) |
05:20:38 | skrylar | so i tested asynchttpserver on linux |
05:20:55 | skrylar | it did work, just don't write any code that doesn't. the error messages with async are very strange |
05:21:00 | * | nsf joined #nim |
05:21:15 | * | yglukhov[i] joined #nim |
05:23:28 | * | gokr joined #nim |
05:25:33 | * | yglukhov[i] quit (Ping timeout: 260 seconds) |
05:32:41 | * | gokr quit (Ping timeout: 252 seconds) |
05:39:08 | * | xet7 joined #nim |
05:47:08 | * | yglukhov[i] joined #nim |
05:56:52 | * | leorize quit (Ping timeout: 245 seconds) |
06:02:10 | * | gokr joined #nim |
06:04:28 | * | gokr quit (Client Quit) |
06:10:47 | livcd | i wanted to play with karax on friday and instead i ended up in a hospital :D..cant be a coincidence |
06:18:03 | * | leorize joined #nim |
06:58:11 | FromGitter | <diegogub> helloo |
06:58:30 | FromGitter | <diegogub> someone using maxmind lib with nim? |
07:08:07 | * | FuntDobra joined #nim |
07:13:15 | FromDiscord | <Aearnus> https://github.com/nim-lang/nimble#project-structure suggests that the inner folder to build your package is named `<packagename>` |
07:13:47 | FromDiscord | <Aearnus> whereas actually running nimble tells you that it should be named `<packagename>pkg` |
07:15:02 | FromDiscord | <Aearnus> is there something i'm missing or is this an error in documentation |
07:19:09 | * | PMunch joined #nim |
07:22:10 | FromGitter | <Varriount> @diegogub What is maxmind? |
07:23:04 | FromGitter | <Varriount> Aearnus: Probably a documentation error. What do the other libraries made by dom96 follow? |
07:32:43 | * | gokr joined #nim |
07:37:48 | * | SenasOzys joined #nim |
07:50:15 | * | xet7 quit (Ping timeout: 245 seconds) |
07:50:23 | * | xet7_ joined #nim |
07:55:00 | * | Vladar joined #nim |
07:57:13 | * | FuntDobra quit (Ping timeout: 260 seconds) |
08:01:52 | * | floppydh joined #nim |
08:02:42 | * | gmpreussner quit (Ping timeout: 245 seconds) |
08:05:01 | * | gmpreussner joined #nim |
08:05:03 | * | FuntDobra joined #nim |
08:11:37 | FromGitter | <diegogub> @Varriount its geo location IP db I use..I want to avoid keeping a golang service to do just that.. |
08:11:58 | FromGitter | <diegogub> It has a C lib but I never wrap something with nim.. |
08:19:17 | ehmry | is it possible to include C header files with a nimble package? how would I include a nim.cfg? |
08:20:18 | FromGitter | <Varriount> @diegogub Let me take a quick look |
08:20:31 | FromGitter | <Varriount> ehmry: I believe you would just include it in the repository. |
08:20:56 | FromGitter | <diegogub> @Varriount thanks, https://github.com/maxmind/libmaxminddb this is the library I would need to wrap |
08:21:50 | ehmry | Varriount: thats what I'm doing |
08:22:20 | FromGitter | <Varriount> @diegogub It looks fairly simple to wrap. C2Nim or Nimgen should handle it. |
08:22:27 | FromDiscord | <Aearnus> Varriount: all of the other libs I've seen use the documentation's format. maybe I have an old version of nimble |
08:22:59 | FromGitter | <Varriount> @diegogub You'll still likely need to make some changes to the header before feeding it into C2Nim, but you shouldn't need too many. |
08:23:06 | * | sendell joined #nim |
08:23:27 | ehmry | i don't think nim.cfg's included in nimble packages have an effect |
08:23:58 | FromDiscord | <Aearnus> also, I'm running into some trouble trying to compile a file that uses `pegs` with the JS backend. it requires a few symbols that don't exist, such as `readFile`. I tried writing a little shim that just made dummy functions but it doesn't seem to be picking up on that |
08:25:34 | FromGitter | <diegogub> @Varriount I will try it, thanks! |
08:27:13 | FromGitter | <Varriount> @diegogub Looking through the file, the tricky bits I can see are: using a configure header, some sort of special uint128-bit type, ifdefs and unions inside structure typedefs, and 'extern' |
08:27:36 | FromGitter | <Varriount> Oh, and anonymous structs. |
08:28:24 | FromGitter | <Varriount> The ifdefs, anonymous structs and anonymous unions will need to be 'lifted' out of the type definitions. extern can be removed by using `#def extern` |
08:29:04 | * | skrylar quit (Remote host closed the connection) |
08:32:21 | FromGitter | <Varriount> Oh, wait, it looks like c2nim has gotten better |
08:37:52 | FromDiscord | <Aearnus> hmm, is there any way for you to shadow identifiers in packages you import |
08:39:17 | FromGitter | <Varriount> Aearnus: Well, if you really must, you can use `except`: https://nim-lang.org/docs/manual.html#modules-import-statement |
08:39:33 | FromGitter | <Varriount> @diegogub https://gist.github.com/Varriount/efb5a15a646917e076ac42bae3f43350 |
08:39:55 | FromGitter | <Varriount> @diegogub If you search for "WARNING", you will find the section that I couldn't figure out how to translate. |
08:40:30 | FromDiscord | <Aearnus> Varriount: I need to shadow the method within the scope of the package -- so that I can provide a dummy version of `readFile` |
08:40:33 | FromGitter | <Varriount> You can probably access __int128 via an importc statement or an emit statement |
08:41:20 | FromGitter | <diegogub> @Varriount I will check it. Thank you so much |
08:42:05 | FromGitter | <Varriount> Aearnus: Can I see the source code? |
08:43:13 | FromDiscord | <Aearnus> pasting the relevant part, 1 second. the gist is that i'm importing the pegs library and trying to compile to js |
08:44:18 | FromDiscord | <Aearnus> Varriount: https://gist.github.com/Aearnus/31fb7e10123d5455dbe4b695c3e5f474 |
08:45:21 | FromDiscord | <Aearnus> (that doesn't compile with the error `lib/nim/pure/pegs.nim(1015, 11) Error: undeclared identifier: 'readFile'`) |
08:46:13 | * | CodeVance joined #nim |
08:49:22 | FromGitter | <Varriount> Hm, there's patchFile, which I believe is used to virtually replace a file with another. That's used in Nim |
08:49:25 | FromGitter | <Varriount> scrip |
08:49:35 | FromGitter | <Varriount> Nimscript |
08:50:02 | FromGitter | <Varriount> I need to get to bed, sorry. |
08:50:54 | FromDiscord | <Aearnus> it's no problem! |
08:58:42 | FromDiscord | <Aearnus> i fixed it by including the file (and just pulling it in on a text replacement basis) after doing the JS shinm |
08:58:44 | FromDiscord | <Aearnus> i fixed it by including the file (and just pulling it in on a text replacement basis) after doing the JS shim |
09:11:58 | FromGitter | <Varriount> Aearnus: https://nim-lang.org/docs/nimscript.html#patchFile,string,string,string |
09:16:23 | FromDiscord | <Aearnus> nah, it can't find `nimscript` |
09:16:25 | FromDiscord | <Aearnus> which is strange |
09:20:01 | * | FuntDobra quit (Ping timeout: 252 seconds) |
09:27:54 | ehmry | dom96: is it possible to include C/C++ headers in a nimble library package, to be included during compilation of another project? |
09:29:18 | * | FuntDobra joined #nim |
09:34:47 | * | PMunch quit (Ping timeout: 245 seconds) |
09:39:34 | * | FuntDobra quit (Quit: Leaving) |
09:40:16 | yglukhov | ehmry: it is possible with {.header.} pragma on types/procs |
09:40:53 | * | endragor quit (Remote host closed the connection) |
09:41:48 | * | endragor joined #nim |
09:42:30 | ehmry | yglukhov: yes, but the issue is finding the right directory for the header |
09:45:09 | ehmry | i think this is a case for {.emit.} |
09:49:50 | dom96 | Aernus: You may as well create a PR for Nim to fix this :) |
09:52:01 | * | Vladar quit (Read error: Connection reset by peer) |
09:54:39 | * | leorize quit (Ping timeout: 260 seconds) |
09:54:53 | * | PMunch joined #nim |
10:06:23 | * | CodeVance quit (Read error: Connection reset by peer) |
10:16:16 | * | skrylar joined #nim |
10:16:35 | * | skrylar covers mratsim in paper labeled "could not import: cblas_sscal" |
10:19:31 | yglukhov | ehmry: here's a sample: https://github.com/status-im/nim-ttmath/blob/master/src/ttmath.nim#L1-L11 |
10:20:19 | yglukhov | ehmry: note `currentSourcePath` |
10:20:57 | ehmry | yglukhov: perfect, thank you! |
10:30:51 | federico3 | diegogub: there are few geoip packages in Nimble |
10:43:11 | * | Cthalupa quit (Ping timeout: 255 seconds) |
10:46:25 | * | Cthalupa joined #nim |
10:49:08 | * | skrylar quit (Quit: Leaving) |
11:11:24 | * | xkapastel quit (Quit: Connection closed for inactivity) |
11:29:40 | * | dddddd joined #nim |
11:40:57 | * | CodeVance joined #nim |
11:49:00 | FromGitter | <diegogub> yeah, but outdated, and do not support current maxmind db |
12:01:21 | * | yglukhov[i] quit (Read error: Connection reset by peer) |
12:01:57 | * | yglukhov[i] joined #nim |
12:10:04 | FromGitter | <mratsim> @skrylar what blas are you using? try passing -d:openblas or -d:blas=libopenblas |
12:11:36 | * | leorize joined #nim |
12:15:14 | Notkea | hello, I have a compilation error from gcc when trying to call an anonymous function refered from a table |
12:15:39 | Notkea | error: ‘eventDeserialisers_SgM0JGNiOCFZXR5Tz9b7LbA’ undeclared (first use in this function) T3_ = X5BX5D__MPSR0pkHEVH1jMQrAYh2Pw((&eventDeserialisers_SgM0JGNiOCFZXR5Tz9b7LbA), T2_); |
12:17:19 | Notkea | call comes from here: https://github.com/pacien/nim-matrix-client-lib/blob/914046ca934012b24eefbc97b6a6f8724caea8ac/src/matrixclient/events.nim#L40 |
12:17:35 | * | CodeVance quit (Ping timeout: 240 seconds) |
12:27:45 | * | BitPuffin joined #nim |
12:28:44 | FromGitter | <diegogub> how can I do a sync http request from jester http request? |
12:29:58 | * | athenot joined #nim |
12:31:07 | * | gokr quit (Ping timeout: 256 seconds) |
12:32:31 | * | SenasOzys quit (Ping timeout: 252 seconds) |
12:35:48 | federico3 | diegogub: I can update my package then |
12:36:48 | FromGitter | <diegogub> that would be amazing, current module us .dat database right? |
12:37:00 | FromGitter | <diegogub> I have the mmdb database, for comercial use |
12:39:27 | * | Vladar joined #nim |
12:39:44 | federico3 | are you saying that the commercial database cannot be used with libgeoip1 ? |
12:47:10 | FromGitter | <diegogub> No, just the .mmdb format |
12:47:44 | FromGitter | <diegogub> commercial or not |
12:48:16 | * | nsf quit (Quit: WeeChat 2.1) |
12:49:11 | federico3 | according to https://qa.debian.org/popcon-graph.php?packages=libmaxminddb0%2Clibgeoip1&show_installed=on&want_legend=on&want_ticks=on&from_date=&to_date=&hlght_date=&date_fmt=%25Y-%25m&beenhere=1 the old library is still very popular and the new one is almost unused |
12:53:55 | * | SenasOzys joined #nim |
13:00:06 | * | Vladar quit (Remote host closed the connection) |
13:00:33 | * | fvs left #nim ("ERC (IRC client for Emacs 25.3.1)") |
13:06:01 | endragor | are there constants within system.nim for detecting compiler version? |
13:06:54 | endragor | ah, yes, there are, missed them the first time... |
13:07:08 | Araq | ok :-) |
13:08:12 | * | athenot quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
13:10:46 | * | jjido joined #nim |
13:11:23 | Notkea | how can I turn a compileTime variable into a const, having some side effects building it? |
13:13:54 | FromGitter | <krux02> Notkea: with block ;) |
13:14:05 | FromGitter | <krux02> or with a proc |
13:14:30 | * | Vladar joined #nim |
13:15:03 | Notkea | hmm… I don't see how to achieve that |
13:16:05 | FromGitter | <krux02> well I don't know your exact use case so I cant exactly tell you how to do that |
13:16:08 | Notkea | I want user components to be able to register their module at compile time |
13:16:11 | FromGitter | <krux02> (post your code) |
13:16:31 | FromGitter | <krux02> I tried that, too. |
13:16:38 | FromGitter | <krux02> was not very satisfying |
13:16:45 | FromGitter | <krux02> you can have a static variables |
13:16:49 | Notkea | code is here https://github.com/pacien/nim-matrix-client-lib/blob/master/src/matrixclient/events.nim#L33 |
13:16:51 | FromGitter | <krux02> (a var in a static block) |
13:16:57 | FromGitter | <krux02> a macro can append to that variables |
13:17:01 | * | Vladar quit (Client Quit) |
13:17:14 | Notkea | and module register using the template just below |
13:17:18 | FromGitter | <krux02> then you can call a macro at the end of the program that does something with each element of that list |
13:17:29 | FromGitter | <krux02> and that is exactly the problem why I didn't like the solution |
13:17:49 | FromGitter | <krux02> the statement that collects the modules has to be at the end of the user code |
13:17:49 | Notkea | i see, how do you make the macro execute only at the end? |
13:18:07 | FromGitter | <krux02> you put it at the end |
13:18:15 | Notkea | :/ |
13:18:24 | FromGitter | <krux02> yea |
13:18:25 | Notkea | I cannot define the end because of all the imports :/ |
13:19:03 | FromGitter | <krux02> you can define the macro whereever you want, but you have to put the instanciation at the end |
13:19:18 | FromGitter | <krux02> the last line of your root module of the project |
13:19:50 | FromGitter | <krux02> so you can't put the macro invocation in a library/module |
13:20:39 | FromGitter | <krux02> the module has to have something like this is the documentation "put ``executeMagicMacro()`` at the end of your program when you are using this module" |
13:20:56 | * | athenot joined #nim |
13:21:03 | Notkea | :/ |
13:21:12 | Notkea | I can't see another solution/pattern :/ |
13:21:31 | FromGitter | <krux02> well I worked around it with lazy initialization |
13:21:45 | FromGitter | <krux02> I wanted to generate an init procedure |
13:22:05 | FromGitter | <krux02> that initializes several things. |
13:22:57 | FromGitter | <krux02> then I ended up generating a lot of "if not initialized: { <initilization code> } invocation code" |
13:23:57 | FromGitter | <krux02> maybe it is a good idea now to ask for a feature request in the issues list for the macros module |
13:24:10 | FromGitter | <krux02> well let me do it now, you can vote that you would need it, too |
13:24:11 | Notkea | hmm… I come from the java world, I used to search everywhere for some annotations at runtime |
13:24:51 | FromGitter | <krux02> yea but in java you can't even ask for all subclasses of a class because reasons |
13:25:26 | FromGitter | <krux02> lazy loading of classes, you never know if there might be another subclass dynamically loaded |
13:25:33 | Notkea | indeed, hence the need of putting annotations everywhere, then you end up with things like spring :D |
13:26:15 | FromGitter | <krux02> I hate java. |
13:26:28 | * | Vladar joined #nim |
13:26:46 | Notkea | ;) |
13:33:41 | * | endragor quit (Remote host closed the connection) |
13:37:53 | * | CodeVance joined #nim |
13:41:08 | enthus1ast | Notkea: maybe try static: |
13:42:17 | Notkea | I'm registering outside components with static actually |
13:42:30 | enthus1ast | around var eventDeserialiser |
13:44:41 | Notkea | then eventFromJson is unable to see the variable |
13:45:03 | * | yglukhov[i] quit (Read error: Connection reset by peer) |
13:45:46 | * | yglukhov[i] joined #nim |
13:46:07 | Notkea | I think I'll run all this registration thing at runtime, it can be done in my case, but I'd have loved it at compile time :) |
13:48:44 | enthus1ast | nim compiles it but gcc complains |
13:49:04 | PMunch | Notkea, haven't looked at what you've tried. But couldn't you create a macro that runs your compileTime stuff and then outputs a const statement for you? |
13:50:19 | Notkea | it's basically a central module to which other module can register. I would need to control when the macro would execute to output the const only once every module has registered |
13:50:59 | Notkea | this would require the user to call the macro at "the end" of the whole program, as krux02 suggested |
13:52:48 | PMunch | Well |
13:52:51 | PMunch | There is another way |
13:56:52 | PMunch | You can keep a global counter. Then for each call update the counter and return your actual macro call. The compiler will then do a second pass and run all the new macro calls. These then decrement the counter again, and when the counter is 0 you output. |
13:57:44 | PMunch | Or if you want the declaration to appear at the top you could keep a boolean instead of a counter. So register all and return a "if first: <output code>" |
13:58:08 | PMunch | Or rather "when first: <output code>; first = false" |
13:58:43 | Notkea | neat! that could be wrapped in a library |
13:58:53 | * | endragor joined #nim |
14:03:24 | * | endragor quit (Remote host closed the connection) |
14:04:01 | * | leorize quit (Ping timeout: 260 seconds) |
14:04:57 | * | endragor joined #nim |
14:13:44 | PMunch | Hmm, I'm sure this used to work |
14:13:48 | PMunch | But I can't get it working now.. |
14:21:58 | * | leorize joined #nim |
14:30:09 | * | endragor quit (Remote host closed the connection) |
14:36:36 | FromGitter | <Varriount> PMunch: What about term rewriting macros? Could those help at all? |
14:37:43 | PMunch | What're you thinking? |
14:49:41 | FromGitter | <krux02> How did I debig Nim again? |
14:49:51 | FromGitter | <krux02> I tried --debugger:native but it doesn't seem to work |
14:51:05 | FromGitter | <krux02> gdb tells me "no source available" |
14:52:45 | PMunch | Hmm, --debuginfo perhaps? |
14:55:07 | PMunch | Seems to work with --debuginfo and --debugger:native here |
14:55:15 | FromGitter | <krux02> well it works now |
14:55:28 | FromGitter | <krux02> it don't know what I did do wrong |
15:01:34 | * | xkapastel joined #nim |
15:01:48 | * | BitPuffin quit (Remote host closed the connection) |
15:03:36 | shashlick | data-man: the filter fix now eats up all empty lines |
15:09:56 | * | gokr joined #nim |
15:12:44 | * | PMunch quit (Quit: Leaving) |
15:18:51 | * | leorize quit (Quit: WeeChat 2.1) |
15:20:00 | * | endragor joined #nim |
15:21:52 | * | endragor quit (Remote host closed the connection) |
15:29:14 | * | floppydh quit (Quit: WeeChat 2.1) |
15:32:36 | * | BitPuffin joined #nim |
15:36:26 | * | yglukhov[i] quit (Remote host closed the connection) |
15:36:51 | * | yglukhov[i] joined #nim |
15:38:57 | * | yglukhov[i] quit (Read error: Connection reset by peer) |
15:39:31 | * | yglukhov[i] joined #nim |
15:41:53 | FromGitter | <data-man> Vote, please: https://github.com/nim-lang/Nim/pull/7836#issuecomment-391038946 |
15:45:19 | Yardanico | lol :D |
15:45:49 | Yardanico | You could just make one comment and then ask other people to use "thumbs up" or "thumbs down" github reaction :) |
15:50:50 | * | cavariux joined #nim |
15:54:00 | * | gokr quit (Ping timeout: 245 seconds) |
15:54:02 | FromGitter | <Varriount> @data-man While it's true that the two functions are similar for the common cases, they exhibit differences in other cases. |
15:55:06 | shashlick | data-man: kind of hard to tell what the change is |
15:55:20 | shashlick | how about a short description |
15:57:24 | FromGitter | <Varriount> @data-man For example, I don't believe the `[]` notation works on Windows. |
15:57:29 | FromGitter | <data-man> @shashlick: Fixed now (I hope) |
15:58:35 | FromGitter | <Varriount> You would be better off doing what Python did, and just emulate fnmatch: https://github.com/python/cpython/blob/3.4/Lib/fnmatch.py |
15:59:32 | shashlick | why did build fail? I made no changes to nim core: https://travis-ci.org/nim-lang/Nim/jobs/382205870 |
16:00:07 | shashlick | appveyor passed |
16:00:55 | shashlick | The job exceeded the maximum time limit for jobs, and has been terminated. |
16:01:21 | FromGitter | <data-man> Just the patterns depend on the OS. This is all that needs to be clarified in the description. |
16:01:53 | shashlick | data-man: where did you add the description? |
16:02:48 | FromGitter | <data-man> @Yardanico: Yes. So, thumbs up. :) |
16:04:43 | FromGitter | <data-man> @shashlick: Currenrly: "Returns true if the path matches with the specified `pattern`, false otherwise. *Warning*: The matching is case-insensitive." |
16:05:20 | FromGitter | <data-man> Just to add "Pattern is OS-specific" to the warning. |
16:05:40 | * | cavariux quit (Ping timeout: 245 seconds) |
16:07:14 | shashlick | data-man: what do I do with my PR? close and reopen to have build run again? https://github.com/nim-lang/Nim/pull/7856 |
16:07:16 | * | cavariux joined #nim |
16:10:04 | FromGitter | <data-man> @shashlick: No, I checked. Works. |
16:12:15 | shashlick | but it is marked as failed |
16:12:42 | Yardanico | because travis build ran out of time |
16:12:44 | Yardanico | this is fine |
16:12:55 | shashlick | ok hopefully araq merges it |
16:14:01 | FromGitter | <data-man> Oh, I check 7855 :) |
16:15:43 | shashlick | data-man: oh, ya if you run koch csources, your build.bat generated has all newlines removed |
16:15:55 | shashlick | blank lines, not new lines |
16:16:17 | shashlick | i tried latest #head |
16:22:21 | FromGitter | <data-man> koch csources created ```C:\Temp\nimcache\nim\debug/ ``` for me. On *nix. :) |
16:28:19 | FromGitter | <7sDream> I'm new to nim and try to use nimble with my first project/package. |
16:28:37 | * | riidom joined #nim |
16:28:46 | dom96 | shashlick: I'll restart for you |
16:28:47 | * | athenot quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
16:29:03 | FromGitter | <7sDream> but I found the instantiationInfo().filename in `.nimble` file is not the full path |
16:29:16 | FromGitter | <7sDream> `````` |
16:29:49 | shashlick | thx dom96 |
16:29:58 | FromGitter | <7sDream> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b044586a2d95136335e62ce] |
16:30:29 | FromGitter | <7sDream> this give me: `home/i7sdream/code/nimchat` |
16:30:43 | FromGitter | <7sDream> with out the root `/` |
16:31:10 | dom96 | 7sDream: You might be the first person to try this in a .nimble file :) |
16:31:17 | dom96 | I guess that's a bug, report it |
16:31:56 | FromGitter | <7sDream> OK, I will open a issue |
16:34:31 | dom96 | thx |
16:37:04 | FromGitter | <data-man> Rust just added to https://github.com/JuliaLang/Microbenchmarks |
16:37:44 | Yardanico | @data-man they use GCC 4.8.5, ahahhaha |
16:41:25 | FromGitter | <data-man> @dom96: What do think? https://github.com/nim-lang/nimforum/issues/124 |
16:41:44 | * | athenot joined #nim |
16:42:09 | dom96 | Maybe in the future |
16:42:17 | dom96 | FTS3 works fine |
16:43:07 | FromGitter | <genotrance> 7sDream, dom96: works on Windows with latest nimble |
16:43:12 | FromGitter | <data-man> FTS4 :) |
16:43:57 | * | jjido quit (Ping timeout: 240 seconds) |
16:44:25 | FromGitter | <7sDream> I meet this bug in a Linux |
16:44:50 | Yardanico | time to compile nim forum locally to see how new design looks like :) |
16:44:54 | FromGitter | <genotrance> yes reproduced failure on linux |
16:45:17 | FromGitter | <genotrance> instantiationInfo().filename itself is wrong |
16:48:15 | Yardanico | dom96 can new nimforum be compiled or not yet? Because I get this on devel https://bpaste.net/show/f5f6921d4dc3 |
16:48:23 | Yardanico | (devel nim I meant) |
16:48:56 | dom96 | Yardanico: Wouldn't want to spoil the surprise :P |
16:49:06 | dom96 | I'll hopefully have it deployed tonight |
16:49:11 | Yardanico | yay! |
16:59:12 | Yardanico | dom96 "tonight" is how much hours from now? :D |
16:59:27 | dom96 | ~4 maybe |
16:59:34 | Yardanico | ok, that's very good |
17:02:15 | FromGitter | <7sDream> https://i.loli.net/2018/05/23/5b044ced64c2a.png ⏎ another interesting behavior |
17:02:29 | * | sendell quit (Remote host closed the connection) |
17:03:10 | FromGitter | <7sDream> should I add this to the same issue or open a new one |
17:03:25 | FromGitter | <7sDream> @genotrance |
17:05:00 | FromGitter | <genotrance> not sure, probably - I also saw the ??? - I don't think instantionInfo() is the right thing to use in .nimble |
17:05:14 | Yardanico | @7sDream - what's your nim version? |
17:05:22 | FromGitter | <7sDream> latest, 0.18.0 |
17:05:26 | Yardanico | try with devel |
17:05:36 | shashlick | i see with devel too |
17:06:39 | * | SenasOzys quit (Remote host closed the connection) |
17:06:52 | FromGitter | <7sDream> So, any alternatives to get the dir of current script? |
17:07:36 | shashlick | why don't you use thisDir() |
17:07:44 | Yardanico | what's your use-case for current root? |
17:08:19 | * | SenasOzys joined #nim |
17:09:13 | FromGitter | <7sDream> oops, I missed this proc when searching docs |
17:10:06 | shashlick | 7sDream: please add ??? also to issue but document that thisDir() is good enough |
17:10:44 | FromGitter | <7sDream> yes, thisDir is what I need |
17:11:06 | FromGitter | <7sDream> I will add the `???` problem into the issue |
17:12:56 | shashlick | instantiationInfo() is broken in compile mode too |
17:13:10 | shashlick | echo instantiationInfo() by itself gives filename = ??? |
17:17:58 | * | Trustable joined #nim |
17:18:12 | * | jjido joined #nim |
17:18:18 | FromGitter | <7sDream> issue updated |
17:21:53 | * | PMunch joined #nim |
17:22:56 | * | natrys joined #nim |
17:25:46 | * | rockcavera is now known as Guest50451 |
17:25:46 | * | tiorock joined #nim |
17:25:46 | * | Guest50451 quit (Killed (niven.freenode.net (Nickname regained by services))) |
17:25:46 | * | tiorock is now known as rockcavera |
17:29:14 | * | nsf joined #nim |
17:39:44 | * | sz0 joined #nim |
17:44:51 | * | BitPuffin quit (Remote host closed the connection) |
17:48:41 | * | Trustable quit (Remote host closed the connection) |
18:06:34 | * | gokr joined #nim |
18:06:45 | FromDiscord | <awr> lookin at threadpool.nim |
18:07:04 | FromDiscord | <awr> what's the difference between a "DistinguishedThread" and a normal thread |
18:07:21 | FromDiscord | <awr> normal worker thread, that is |
18:14:42 | Araq | a DistinguisedThread has an identity |
18:14:53 | Araq | what runs on it can only run on it |
18:15:17 | PMunch | data-man, just realized, after converting the entire parsetoml implementation to read Unicode runes instead of characters I realised that it was actually crapping out because the file didn't have a newline at the end.. |
18:15:26 | PMunch | For the unicode heard thing |
18:15:52 | Araq | to understand why this is necessary, buy my book "learning Nim in one hundred thousand simple steps" |
18:21:19 | PMunch | Wouldn't that just be the manual in book form? |
18:21:20 | Yardanico | i'd buy it if it was a thing :D |
18:39:22 | federico3 | if it's a really big book it could be titled "Nim: the good parts" |
18:39:52 | * | ARCADIVS quit (Quit: WeeChat 2.0.1) |
18:43:35 | * | SenasOzys quit (Ping timeout: 252 seconds) |
18:49:54 | * | elrood joined #nim |
18:52:11 | FromGitter | <data-man> @PMunch: Thanks! Now all official tests and examples is validated, ha-ha. :) ⏎ I think, that a position of a wrong symbol in exception will useful. |
18:52:15 | FromDiscord | <Aearnus> Is the standard library accepting PRs? |
18:52:30 | Araq | sure |
18:53:01 | FromGitter | <data-man> @Aearnus: except for OS. |
18:53:39 | FromDiscord | <Aearnus> Alright cool. I'm going to patch the PEG library to work in JS as well & I don't want that to go to waste |
18:54:17 | Araq | data-man: for OS too if it passes the bloat vs usefullness threshold |
18:55:12 | Araq | there is already os.walkDir, os.walkFiles, etc |
18:55:13 | subsetpark | data-man: if there's a good implementation in nimble, isn't that a vote *against* inclusion in stdlib, rather than *for*? |
18:55:57 | FromGitter | <data-man> @Araq: walkxxx has IO effect |
18:56:28 | Araq | sure but why is that a problem? |
18:58:24 | FromGitter | <data-man> I just want check path with pattern, without PCRE, etc. without walking through a dirs. |
18:58:46 | * | CodeVance is now known as alterna |
18:59:23 | * | alterna is now known as CodeVance |
18:59:57 | FromGitter | <xmonader> anyone interested in code review for nimday9? tic tac toe with minmax algorithm? ⏎ https://github.com/xmonader/nim-tictactoe/blob/master/src/nim_tictactoe.nim |
19:00:57 | FromGitter | <xmonader> also is there away to do the same max/min calls here https://gist.github.com/xmonader/b94bcb90605d79b508f4addf2405306a#file-minmax-py-L76 ? not sure of the alternative in nim that's why i expanded it into a loop |
19:01:59 | FromGitter | <data-man> If Nim is a systems programming language, it should use system API. |
19:03:11 | Yardanico | @xmonader use mapIt from sequtils and then max? like max(myseq.mapIt(it.score)) |
19:03:24 | * | SenasOzys joined #nim |
19:03:52 | * | SenasOzys quit (Remote host closed the connection) |
19:04:20 | Yardanico | it's not the best performance-wise (if you really need to squezze every last ms of performance), but it's quite elegant :) |
19:04:41 | FromGitter | <xmonader> but i won't get the move tuple i'll get max score then correct? @Yardanico |
19:04:59 | Yardanico | well, yeah, with max you'll get max value, isn't that what you wanted? |
19:05:16 | Yardanico | ah, I see |
19:05:53 | FromGitter | <data-man> @Araq: Bloat? One proc? |
19:06:10 | FromGitter | <xmonader> i want to allow passing a comparator key on a collection but not sure if that's a builtin |
19:06:11 | * | SenasOzys joined #nim |
19:06:48 | Yardanico | @xmonader just define `<` for your type/tuple and max/min will automagically work on it :) |
19:07:13 | Yardanico | like proc `<`(a, b: MyType): bool = a.score < b.score |
19:08:08 | FromGitter | <xmonader> oh really? very nice |
19:08:28 | FromGitter | <data-man> ```proc cmp```` is better |
19:08:32 | Araq | data-man: I'm actually quite displeased with my turnaround times |
19:08:36 | Yardanico | https://nim-lang.org/docs/system.html#max,openArray%5BT%5D it also says that in the documentation :) |
19:08:48 | Araq | and everything in the stdlib is currently compiled and compiled again |
19:09:09 | Araq | and so I'm saying "no further than this, will be reconsidered once symbol files work" |
19:11:20 | FromGitter | <data-man> Ok, moved to the end of my ToDos. |
19:11:52 | Yardanico | @xmonader if you define `<` for you type, you can then also use `>` and many other operators/procs which need `>` or `<` operator |
19:11:56 | Yardanico | *your |
19:12:25 | FromGitter | <xmonader> yeah like defining < in haskell for Ord instance |
19:12:32 | FromGitter | <data-man> And again ```proc cmp``` is better. |
19:12:50 | FromGitter | <data-man> @xmonader ^ |
19:13:20 | Yardanico | @data-man why? |
19:13:32 | * | yglukhov[i] quit (Ping timeout: 245 seconds) |
19:13:47 | FromGitter | <xmonader> Why? too late i already pushed the less than one @data-man xD |
19:13:52 | Araq | in addition to that, while your implementation is nice, it's yet another thing that people can complain about "ugh, the differences between the OSes are not documented, oh, I spent five days figuring out the exact behaviour of it and so I'm blaming Nim/Nim's stdlib" |
19:14:53 | Araq | "Bug report: pathMatches does not support the [a] notation on Windows" |
19:15:10 | FromGitter | <data-man> Oh, glob used in walkPattern != findFirstFile! :) |
19:15:27 | Yardanico | a bit off-topic - it's actually very good that we now have a pure-nim regex engine |
19:15:34 | Yardanico | I know it's better to use PEGs, but still |
19:15:50 | * | yglukhov[i] joined #nim |
19:16:30 | subsetpark | For log-parsing and the like are PEGs faster than regex or simply more elegant/combining ? |
19:16:58 | Araq | they are actually both terrible in their own ways |
19:17:01 | * | CodeVance quit (Read error: Connection reset by peer) |
19:17:13 | Araq | but pegs are easier to grasp. |
19:17:16 | Yardanico | and what should I use instead ? :D |
19:17:34 | Araq | scanf if you can. |
19:17:50 | Araq | the upcoming 'grammar' macro that eventually I will write :P |
19:18:33 | * | cavariux quit (Ping timeout: 256 seconds) |
19:18:46 | * | Vladar quit (Quit: Leaving) |
19:19:26 | * | CodeVance joined #nim |
19:21:47 | FromGitter | <data-man> @Yardanico: Just look at the implementation system.cmp ;) |
19:22:08 | Yardanico | I see, but how it will help to use `max` without a loop? |
19:22:36 | Yardanico | (I mean without a need to manually write a loop) |
19:23:58 | * | cavariux joined #nim |
19:25:29 | FromGitter | <xmonader> what pure regex engine? |
19:25:39 | FromGitter | <data-man> I missed something. I mean ```cmp`` vs ```<```. |
19:26:39 | FromGitter | <data-man> @xmonader: https://github.com/nitely/nim-regex |
19:27:07 | FromGitter | <data-man> With a big data from unicode tables |
19:27:27 | FromGitter | <xmonader> thanks @data-man |
19:27:45 | subsetpark | I can probably use scanf for most of this stuff. I've never used it before. Let me guess: it's greedy pattern matching using printf syntax? |
19:28:01 | Yardanico | https://nim-lang.org/docs/strscans.html |
19:28:22 | subsetpark | Ahhh yes! I've seen that before. Looked interesting. Forgot about it. |
19:29:08 | * | yglukhov[i] quit (Remote host closed the connection) |
19:30:46 | FromGitter | <data-man> Can be much improved (and should): backreferences, binding tuples, array, objects, etc. :) |
19:33:15 | subsetpark | oh yeah, totally. let's make it realll fuckin' complex. |
19:38:18 | FromGitter | <data-man> @Araq: Another idea: we can implement ```proc match``` in strutils, and use it in os module. So, Windows-users will be able to use advanced patterns. |
19:55:51 | FromDiscord | <awr> does AddressSanitizer exist at all for windows |
19:55:59 | * | natrys quit (Quit: natrys) |
19:58:25 | * | CodeVance quit (Quit: Leaving.) |
19:58:55 | FromGitter | <Aearnus> Is that pure regex library on nimble? |
19:59:01 | * | CodeVance joined #nim |
19:59:05 | Yardanico | yes |
19:59:13 | Yardanico | just read in its' readme |
19:59:18 | Yardanico | "regex" is the module name in nimble |
20:04:48 | Araq | data-man: that doesn't solve anything |
20:05:19 | Araq | what you can do, is it put it in its own module |
20:05:33 | Araq | in the end it will have a full page of documentation anyway |
20:09:22 | * | athenot_ joined #nim |
20:10:07 | * | athenot quit (Read error: Connection reset by peer) |
20:12:52 | FromGitter | <data-man> @Araq: I'd be very surprised if ```walk???[a-b]*```works for you on Windows. |
20:13:29 | Araq | it doesn't matter |
20:17:16 | Araq | the docs don't claim it would work. |
20:18:46 | PMunch | data-man, what do you mean? It already gives you the position |
20:22:12 | FromGitter | <data-man> @PMunch: ```./validator hard_example.yaml``` -> ```Error: unhandled exception: (1:5) bare key has illegal character [TomlError]``` for me |
20:22:50 | PMunch | Might be because you try to parse a yaml file? |
20:23:02 | FromGitter | <data-man> Which character? |
20:23:13 | PMunch | Line 1, character 5 |
20:24:13 | FromGitter | <data-man> No, value of character will be very useful. No? |
20:24:27 | PMunch | Aah |
20:24:35 | PMunch | Yeah that's probably a good idea |
20:24:56 | FromGitter | <data-man> Sure, I specially run with yaml :) |
20:33:30 | * | athenot_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
20:38:38 | * | xet7_ quit (Remote host closed the connection) |
20:50:59 | FromGitter | <kayabaNerve> Morning |
20:51:10 | FromGitter | <kayabaNerve> What's the best config file format for Nim? |
20:51:33 | FromGitter | <kayabaNerve> I like JSON but I'm curious if Nim has a more supported option |
20:52:08 | FromGitter | <kayabaNerve> Of course, it's not just the program, but also the person that matters (if config files are to be edited like mine). |
20:55:31 | FromGitter | <Varriount> They're |
20:55:42 | FromGitter | <Varriount> Nimya |
20:55:43 | FromGitter | <Varriount> ml |
21:02:10 | * | jjido quit (Ping timeout: 252 seconds) |
21:02:47 | Araq | parsecfg.nim |
21:04:43 | shashlick | I use parsecfg for all nim projects |
21:08:03 | * | cavariux quit (Ping timeout: 252 seconds) |
21:10:01 | dom96 | Can't get easier than json :) |
21:10:17 | dom96 | For something quick and dirty it's perfect |
21:10:39 | shashlick | agree, that's what I used for vire: https://github.com/genotrance/vire/ |
21:12:25 | Araq | json sucks for configuration, quotes everywhere |
21:13:05 | shashlick | i used it to save state, guess that way I prefer cfg/ini since it is so easy to edit |
21:13:13 | Araq | quotes and commas and unclear rules (is a number really a floating point? are comments supported?) |
21:13:25 | shashlick | of course everyone wants gui nowadays :D |
21:14:18 | shashlick | dom96/araq: while you both are here, can we deprecate installing mingw with finish/choosenim? |
21:14:37 | Araq | no way. |
21:14:49 | Araq | why would we do that? |
21:14:51 | shashlick | on linux, you rely on package manager to install C compiler, Windows, we can just point to compilers |
21:15:04 | shashlick | why keep an old cached copy of mingw |
21:15:10 | FromGitter | <data-man> New parsetoml is the best :) |
21:16:20 | shashlick | why take on responsibility of provisioning compiler on windows when the compilers have installers of their own |
21:16:48 | Araq | because the installers constantly change and suck |
21:17:09 | Araq | why make it less convenient for our users? |
21:17:46 | Araq | also, serving a fixed version of mingw means we get reliability, in doubt use the mingw we officially tested everything with. |
21:18:33 | shashlick | neither of those statements are true on linux and macosx |
21:18:49 | shashlick | we test on one specific distro / compiler on travis |
21:19:16 | Araq | well you won't convince me it's a bad idea. |
21:19:26 | Araq | we can stop this dicussion here already. |
21:20:11 | shashlick | still using 6.3.0 of mingw |
21:20:22 | shashlick | i'm not saying it's a bad idea, i'm saying we solution it in a better way |
21:20:34 | Araq | if anything, that's an argument for doing the same on osx and Linux... |
21:20:52 | shashlick | give clear instructions on how to setup and configure nim |
21:22:40 | FromGitter | <data-man> I think we should use the same compilers on all CIs. |
21:22:46 | PMunch | kayabaNerve, you could also check out parsetoml |
21:23:06 | PMunch | TOML is like the old INI configuration format. But more capable and better specified |
21:23:24 | PMunch | Strikes a nice balance between human-readability and features |
21:23:42 | Araq | which means it's like parsecfg which predates TOML by a decade :P |
21:23:55 | PMunch | I'm also working on making the interface more like the json module |
21:24:51 | PMunch | Araq, yeah that's true |
21:25:02 | PMunch | Does parsecfg keep comments by the way? |
21:25:08 | dom96 | > why take on responsibility of provisioning compiler on windows when the compilers have installers of their own |
21:25:08 | dom96 | Convenience. As Araq said. And reliability. |
21:25:54 | dom96 | Linux and Mac almost always already ship with gcc/clang |
21:26:04 | * | nsf quit (Quit: WeeChat 2.1) |
21:31:40 | FromDiscord | <treeform> Thank you for shipping your own tested version of the mingw compiler on windows. When I first started nim I got wrong mingw compiler for windows and though nim did not work on windows. |
21:31:56 | FromDiscord | <treeform> but now that you ship your own I don't have to think about it. |
21:32:16 | FromGitter | <data-man> AppVeyor has MSYS: https://www.appveyor.com/docs/build-environment/#mingw-msys-cygwin ⏎ No need to download anything from SourceForge. |
21:34:57 | FromGitter | <data-man> And MSYS2 |
21:36:39 | dom96 | 85 files changed, 6702 insertions(+), 3484 deletions(-) |
21:37:27 | dom96 | That's what ~120 hours of work looks like :D |
21:38:12 | FromDiscord | <treeform> what did you do? |
21:41:06 | dom96 | redesigned the forum |
21:41:07 | Araq | he kicked nimforum into the 21st century |
21:42:05 | federico3 | nice! |
21:42:18 | dom96 | argh, just realised I forgot to add code to update the <title> of the page... |
21:42:59 | FromGitter | <data-man> @dom96: Well when already ?!!! :) |
21:44:26 | FromGitter | <genotrance> @dom96 - why take on the responsibility of provisioning someone else's project? at least invoke their installer silently or something |
21:45:44 | Araq | we take the responsiblility because the mingw project continued to deliver an installer that just works (TM) without a super confusing UI. |
21:45:54 | Araq | *to not deliver |
21:46:32 | Araq | heck, I myself ended up installing a GCC without binutils or such nonsense |
21:46:49 | Araq | but hey, I could also install Perl and Flex at the same time... |
21:46:57 | dom96 | data-man: patience :) |
21:47:10 | Araq | and hundreds of others shitty unix "tools" |
21:47:56 | * | cavariux joined #nim |
21:48:33 | FromGitter | <genotrance> would you be receptive to a reliable "installer" for a C compiler to drop the .tgz/.7z mingw cache method? |
21:49:13 | Araq | no, because this "reliable installer" will get worse as the time passes by. |
21:49:26 | Araq | as I've seen it happen with the mingw installer... |
21:52:20 | * | cavariux quit (Ping timeout: 245 seconds) |
21:53:27 | FromGitter | <genotrance> okay can we at least have choosenim and finish download the same mingw archive |
21:57:11 | Araq | sure, but fyi I didn't ask for choosenim to be developed and think it's misguided. |
21:59:01 | PMunch | Why do you think choosenim is misguided? |
21:59:09 | PMunch | It's a pretty handy utility |
21:59:24 | FromGitter | <genotrance> i like it too, i can test different versions of nim super easily |
21:59:27 | FromGitter | <data-man> Someday I'll finish the work on updating the CIs for Nim and I'll persistently ask to create a NimCITemplate repository in the Nim-Lang organization. :-D |
22:00:02 | FromGitter | <genotrance> https://sourceforge.net/projects/mingw-w64/files/ <= .7z builds of mingw64, 32-bit and 64-bit easily downloaded without requiring any installer |
22:00:29 | FromGitter | <kayabaNerve> Thanks guys for the suggestions |
22:00:53 | FromGitter | <kayabaNerve> I hate keys requiring quotes, and the lack of comments in JSON |
22:00:56 | FromGitter | <kayabaNerve> But I think it is clear |
22:01:40 | FromGitter | <kayabaNerve> I am scarred by TOML and INI |
22:01:45 | FromGitter | <kayabaNerve> plz halp |
22:01:52 | Araq | it ignores the existance of git and I'm still not convinced 'koch pick v0.18' couldn't do the same with a fraction of the code |
22:02:06 | * | NimBot joined #nim |
22:02:40 | PMunch | kayabaNerve, what's wrong with TOML? |
22:02:56 | Araq | and it adds yet another way to install Nim on top of the existing solutions |
22:04:17 | PMunch | Araq, installing Nim was always a bit of a pain though.. With choosenim it's a whole lot easier |
22:04:41 | PMunch | Well, installing the stable version wasn't too bad. But installing two, or three versions jumping between them |
22:04:41 | Araq | maybe, but even if so. |
22:04:57 | PMunch | Maybe one installed from GitHub, it quickly became messy.. |
22:05:02 | Araq | why not improve what we have instead of developing a full new solution for it |
22:05:13 | PMunch | Well that I can agree with |
22:05:18 | FromGitter | <genotrance> that's what I'm trying to do |
22:05:24 | FromGitter | <genotrance> adding 64-bit detection to choosenim |
22:05:31 | PMunch | koch is this tool I just forget that exists :P |
22:05:39 | FromGitter | <genotrance> merging finish and choosenim over time |
22:05:51 | PMunch | A typical user uses it once during installation, then never again |
22:06:01 | FromGitter | <genotrance> you should be able to download a small tool that you run and it installs everything for you |
22:06:46 | FromGitter | <kayabaNerve> PMunch: ⏎ [SECTION] ⏎ key=value |
22:06:51 | FromGitter | <kayabaNerve> That is TOML, right? |
22:06:54 | FromGitter | <kayabaNerve> Triple checking here |
22:07:02 | PMunch | So when you get fun bugs like: "Error: internal error: genLiteral(nkHiddenCallConv); No stack traceback available; To create a stacktrace, rerun compilation with ./koch temp c <file>" it's a bit confusing |
22:07:12 | PMunch | kayabaNerve, yeah |
22:07:21 | dom96 | "Just add it to koch" misses the point IMO |
22:07:28 | Araq | genotrance, I know and kudos to you for doing it, but throwing away our precious mingw zips is going too far :-) |
22:07:29 | FromGitter | <genotrance> at the very least, let's download mingw from sourceforge and update the link every time we get a new build |
22:07:32 | dom96 | Getting koch is already a ton of work |
22:07:57 | FromGitter | <kayabaNerve> PMunch: It's ugly as hell and barely structured |
22:07:58 | Araq | you can ship koch as a binary much like you can ship choosenim |
22:07:59 | FromGitter | <genotrance> and have choosenim and finish download the same file |
22:08:10 | Araq | but I don't want to discuss this again. |
22:08:13 | PMunch | kayabaNerve, this is TOML: https://github.com/toml-lang/toml#example |
22:08:58 | PMunch | What do you mean barely structured? It maps unambiguously to a hash-map, and it's super human-friendly |
22:09:35 | FromGitter | <kayabaNerve> I understand it has structure. There's still a minimal amount. |
22:09:50 | FromGitter | <genotrance> @Araq - still not clear, are you okay with downloading the official .zip of mingw or stick to your cached copy - i'm fine with finish/choosenim downloading it for convenience |
22:09:51 | FromGitter | <kayabaNerve> And it feels like "what's the easiest way to create a hashmap as a TXT" |
22:09:55 | PMunch | Minimal amount of unnecessary brackets.. |
22:10:01 | FromGitter | <kayabaNerve> Fair enough lol |
22:10:05 | FromGitter | <kayabaNerve> It just irks the hell out of me |
22:10:13 | FromGitter | <data-man> @PMunch: We should to add parsetoml to https://github.com/toml-lang/toml/wiki#implementations :) |
22:10:16 | FromGitter | <kayabaNerve> It feels like something I would do in a day as a quick fix to log vars |
22:10:22 | Araq | no, I want it to continue to download our mingw files. |
22:10:28 | PMunch | Well "what's the easiest way to create a hashmap as a TXT" is pretty much exactly what it is |
22:10:32 | FromGitter | <kayabaNerve> Yeah |
22:10:37 | FromGitter | <kayabaNerve> And I'm not saying that's horrible |
22:10:41 | FromGitter | <kayabaNerve> I'm saying I can't stand it |
22:10:47 | PMunch | data-man, it's there. But with the old URL and in the 0.3.1 section :P |
22:10:52 | PMunch | All by it's self |
22:10:58 | FromGitter | <genotrance> okay was worth a try |
22:11:06 | dom96 | Araq: That's true, and that approach didn't pop into my head. |
22:11:16 | Araq | when we serve these files ourselves at least the downtimes are synchronized |
22:12:05 | FromGitter | <genotrance> any plans of updating to 7.3.0? |
22:12:19 | FromGitter | <genotrance> data-man: what version of mingw do we test with on appveyor |
22:12:38 | PMunch | kayabaNerve, well I guess it's a taste thing. For me it's the perfect balance. Readable at a glance, but not too heavy on brackets and "unnecessary cruft". If you have a mock-up of something better I'd love to see it :) MemoServ me a paste if you decide to type something up, I'm off to bed. |
22:12:42 | * | PMunch quit (Quit: leaving) |
22:15:11 | Araq | genotrance, remind me again when the release is closer :-) |
22:15:35 | Araq | and btw, https://sourceforge.net/projects/mingw-w64/files/ is anything but clear |
22:15:45 | dom96 | Sorry guys, I've decided to postpone the deployment until tomorrow |
22:15:53 | Araq | and if we would simply redirect our users to that page we would lose half of them |
22:16:10 | dom96 | oh god yes, sourceforge is horrible |
22:16:20 | Araq | x86_64-posix-sjlj vs seh? wtf? (yeah, I know what it is about) |
22:17:26 | FromGitter | <genotrance> ya, most people download i686-7.3.0-release-posix-dwarf-rt_v5-rev0.7z so we could directly link to that |
22:17:54 | FromGitter | <genotrance> or cache it on our servers |
22:18:22 | Araq | why posix? I would pick the win32 version |
22:18:37 | FromGitter | <mratsim> ugh I hate that mingw nonsense. |
22:18:37 | FromGitter | <genotrance> that's the latest 7.x release, there's also a 6.4.0 release if that matters |
22:18:41 | * | gmpreussner quit (Ping timeout: 248 seconds) |
22:19:19 | FromGitter | <mratsim> we use the 4.9.2 at Status :P - https://github.com/status-im/nimbus/blob/master/.appveyor.yml#L4-L5 |
22:20:01 | FromGitter | <genotrance> going based on most download package which is the installer default |
22:20:07 | Araq | I used to a "maintainer" for clang on Windows... |
22:20:08 | FromGitter | <genotrance> x86_64-7.3.0-release-posix-seh-rt_v5-rev0.7z for win64 |
22:20:25 | Araq | maybe we should consider that. moving to clang on Windows. |
22:20:30 | FromGitter | <mratsim> I’m pretty sure most of the downloads are Appveyor CI |
22:20:44 | FromGitter | <data-man> @genotrance ⏎ ⏎ > MinGW 32-bit 5.3.0 (core components and compilers - C:\MinGW) ⏎ > MinGW-w64 ⏎ > 5.3.0: C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0 ... [https://gitter.im/nim-lang/Nim?at=5b0497bc5f3e6b40fad8b84f] |
22:20:53 | Araq | mratsim: I just copy Nim's appveyor file... |
22:21:03 | * | gmpreussner joined #nim |
22:21:13 | FromGitter | <genotrance> same choices on appveyor as well |
22:21:37 | FromGitter | <genotrance> posix-dwarf for 32-bit, posix-seh for 64-bit |
22:22:40 | FromGitter | <data-man> See also https://github.com/nim-lang/Nim/pull/6621 and https://github.com/nim-lang/Nim/pull/6999 |
22:29:00 | FromGitter | <genotrance> just running a full test on 7.3.0 on 32-bit and 64-bit to verify that all tests still pass |
22:31:26 | FromGitter | <Aearnus> How do you |
22:32:37 | FromGitter | <genotrance> @Aearnus: is that for me? how to run nim tests? |
22:35:57 | FromGitter | <Aearnus> Oops.. I didn't mean to press enter haha |
22:36:16 | FromGitter | <genotrance> :) |
22:36:40 | FromGitter | <Aearnus> The full message would have been "how do you detect what backend you are compiling with" but I figured it out 😄 |
22:58:25 | * | gmpreussner quit (Ping timeout: 252 seconds) |
23:01:05 | * | gmpreussner joined #nim |
23:05:36 | * | elrood quit (Quit: Leaving) |
23:14:32 | FromDiscord | <2vg> I want to connect to DB at compile time and define type from table column, but importc error |
23:14:32 | FromDiscord | <2vg> Is there anyone who knows the solution? |
23:16:03 | shashlick | importc = trying to use an external C library which isn't supported by the VM (or compiletime) |
23:17:56 | * | CodeVance quit (Read error: Connection reset by peer) |
23:22:58 | * | gmpreussner quit (Ping timeout: 252 seconds) |
23:24:42 | dom96 | 2vg: create a separate program and then call it via staticExec |
23:25:36 | * | gmpreussner_ joined #nim |
23:33:42 | FromDiscord | <2vg> @dom96 thx, Is there the best way to receive the results mainly done in another program? |
23:34:17 | dom96 | never done it, but I would probably just use JSON :) |
23:35:49 | FromDiscord | <2vg> okey, i'll try it. thx :3 |
23:37:17 | FromDiscord | <2vg> Are there plans to support importc with VMs? |
23:37:41 | * | skrylar joined #nim |
23:51:05 | * | gokr quit (Ping timeout: 240 seconds) |
23:52:59 | FromDiscord | <Aearnus> https://github.com/nim-lang/Nim/pull/7866 |
23:57:44 | shashlick | 2vg: it's on the backlog |