00:04:49 | * | zachk quit (Ping timeout: 248 seconds) |
00:06:30 | * | zachk joined #nim |
00:06:43 | Calinou | I'd like to see a nice, easy-to-use CLI library for Nim |
00:06:48 | * | zachk quit (Max SendQ exceeded) |
00:06:55 | Calinou | https://github.com/mattallty/Caporal.js is cool, but slow |
00:06:57 | Yardanico | Calinou, cligen ? :) |
00:07:14 | Calinou | good UX is a must-have |
00:07:15 | Calinou | (and DX) |
00:07:37 | Calinou | https://github.com/kbknapp/clap-rs also is pretty decent, usability-wise |
00:08:04 | * | zachk joined #nim |
00:08:12 | FromGitter | <zacharycarter> nim docopt? |
00:08:27 | Calinou | probably way too basic/low-level |
00:08:33 | Calinou | look at what clap or Caporal can do :P |
00:09:29 | FromGitter | <Varriount> Was someone here working on a file de-duplicator? |
00:09:42 | FromGitter | <Varriount> Because I could use one at the moment. |
00:09:50 | Calinou | I'd work on a CLI library, but I barely know Nim |
00:09:50 | FromGitter | <zacharycarter> yeah |
00:09:55 | Calinou | and am not very good at programming anyway |
00:10:20 | FromGitter | <zacharycarter> @genotrance |
00:10:47 | FromGitter | <Varriount> @genotrance I am in need of a file-deduplicator |
00:10:56 | * | zachk quit (Client Quit) |
00:12:06 | * | zachk joined #nim |
00:14:35 | * | endragor quit (Ping timeout: 240 seconds) |
00:16:22 | FromGitter | <zacharycarter> --no-heap-copy was the answer to my problem |
00:16:33 | FromGitter | <zacharycarter> ¯\_(ツ)_/¯ |
00:16:39 | FromGitter | <zacharycarter> ¯\_(ツ)_/¯ |
00:16:43 | FromGitter | <zacharycarter> whoops |
00:16:46 | Yardanico | :D |
00:16:56 | Yardanico | I wouldn't ask you how you figured this out :D |
00:17:19 | FromGitter | <zacharycarter> https://github.com/kripken/emscripten/issues/5179 |
00:17:43 | FromGitter | <zacharycarter> took a lot of googling |
00:19:30 | FromGitter | <Varriount> @zacharycarter Is that a compiler option for Nim? |
00:19:44 | Yardanico | no |
00:19:45 | Yardanico | it's for emscripten |
00:21:14 | FromGitter | <zacharycarter> ^ |
00:33:18 | FromGitter | <zacharycarter> getting somewhere |
00:33:37 | FromGitter | <zacharycarter> (https://files.gitter.im/nim-lang/Nim/fEDx/Screen-Shot-2017-09-23-at-8.33.14-PM.png) |
00:34:04 | Yardanico | yay, assimp? |
00:34:54 | FromGitter | <zacharycarter> yup |
00:36:15 | FromGitter | <Varriount> @zacharycarter Have you tested with WebAssembly yet? |
00:36:33 | Yardanico | he does that already :) |
00:36:37 | Yardanico | IIRC |
00:37:04 | FromGitter | <zacharycarter> yup! |
00:37:05 | FromGitter | <Varriount> Might be worth it to write up an article showcasing Nim and WebAssembly. It would be something to post to Reddit, Hacker News, etc. |
00:37:11 | FromGitter | <zacharycarter> I could do that |
00:37:47 | FromGitter | <Varriount> Actually, a comparison on performance and tradeoffs between WebAssembly and Javascript would be even better. |
00:38:18 | FromGitter | <zacharycarter> it would be but I don't think I'm going to get zengine compiling to the js backend |
00:38:32 | FromGitter | <zacharycarter> so I'd have to do some other sort of example |
00:38:49 | Yardanico | well maybe asm.js ? |
00:39:47 | FromGitter | <Varriount> Sure, asm.js |
00:39:54 | FromGitter | <zacharycarter> that i coul do |
00:39:56 | FromGitter | <zacharycarter> could do |
00:42:15 | * | vlad1777d quit (Ping timeout: 240 seconds) |
00:43:58 | FromGitter | <zacharycarter> I guess I cant use the os module with wasm which kind of stinks |
00:44:08 | FromGitter | <zacharycarter> not sure how I'm supposed to find the current working directory |
00:49:47 | * | obadz- joined #nim |
00:53:20 | FromGitter | <zacharycarter> looks like maybe I can wrap https://github.com/kripken/emscripten/blob/incoming/src/library_fs.js |
00:53:36 | * | zachk quit (Quit: Leaving) |
00:54:03 | * | relax joined #nim |
01:02:41 | FromGitter | <zacharycarter> crap I'm not using the js backend so that's not possible is it |
01:02:42 | FromGitter | <zacharycarter> ugh |
01:06:39 | FromGitter | <zacharycarter> anyone have any ideas? |
01:13:17 | * | obadz- quit (Quit: WeeChat 1.9) |
01:16:59 | * | endragor joined #nim |
01:20:56 | * | chemist69 quit (Ping timeout: 246 seconds) |
01:23:38 | Yardanico | added proper readme now (and a repo) - https://github.com/Yardanico/nim-mathexpr |
01:24:41 | * | def-pri-pub joined #nim |
01:26:57 | * | relax quit (Ping timeout: 248 seconds) |
01:34:51 | * | chemist69 joined #nim |
01:42:17 | * | relax joined #nim |
01:50:01 | * | endragor quit (Ping timeout: 240 seconds) |
01:50:14 | * | jsgrant quit (Read error: Connection reset by peer) |
02:05:51 | FromGitter | <zacharycarter> @yglukhov - on the off chance you're around - is there any possibility of creating something like - EM_ASM_STRING ? |
02:08:53 | Yardanico | hmm wait |
02:09:06 | Yardanico | I remember some library in nim, maybe by yglukhov |
02:09:22 | Yardanico | which allowed you to wrap JS functions from asm.js or from pure JS |
02:09:32 | Yardanico | or even from wasm, I don't really remember |
02:11:34 | Yardanico | ah |
02:11:37 | Yardanico | zacharycarter: https://github.com/yglukhov/jsbind |
02:11:43 | Yardanico | sadly not for wasm :( |
02:12:19 | Yardanico | or maybe it would work too |
02:13:40 | FromGitter | <zacharycarter> yeah I tried that |
02:14:04 | FromGitter | <zacharycarter> but sadly there's not EM_ASM_STRING macro only a EM_ASM_INT and EM_ASM_DOUBLe |
02:14:08 | FromGitter | <zacharycarter> I tried adding one but it blows up :/ |
02:32:51 | FromGitter | <zacharycarter> figured it out - it was the try / catch statements that were causing issues |
02:33:10 | FromGitter | <zacharycarter> or try except I guess |
02:36:15 | * | ipjk quit (Read error: Connection reset by peer) |
02:48:19 | * | endragor joined #nim |
02:58:12 | * | Serenit0r joined #nim |
03:01:30 | * | SerenityStyle quit (Ping timeout: 252 seconds) |
03:06:50 | * | dddddd quit (Remote host closed the connection) |
03:08:20 | * | Nobabs27 joined #nim |
03:11:40 | * | mahmudov quit (Remote host closed the connection) |
03:15:46 | FromGitter | <zacharycarter> (https://files.gitter.im/nim-lang/Nim/cUbr/Screen-Shot-2017-09-23-at-11.15.24-PM.png) |
03:16:35 | * | endragor quit (Ping timeout: 240 seconds) |
03:20:35 | Yardanico | what's the FPS like ? :) |
03:20:38 | Yardanico | but cool anyway |
03:21:37 | * | rauss joined #nim |
03:22:03 | * | Yardanico quit (Remote host closed the connection) |
03:23:20 | FromGitter | <zacharycarter> thanks |
03:23:24 | FromGitter | <zacharycarter> good question |
03:23:37 | FromGitter | <zacharycarter> seems to be running fine, but I'll write a fps counter now |
03:36:12 | * | m712 quit (Ping timeout: 260 seconds) |
03:45:59 | * | dashed joined #nim |
03:49:54 | * | dashed quit (Client Quit) |
03:50:11 | * | dashed joined #nim |
03:50:20 | * | def-pri-pub left #nim (#nim) |
04:17:40 | * | endragor joined #nim |
04:41:42 | * | Nobabs27 quit (Quit: Leaving) |
04:47:15 | * | relax quit (Ping timeout: 240 seconds) |
04:53:19 | * | endragor quit (Ping timeout: 248 seconds) |
05:04:33 | * | jsgrant joined #nim |
05:13:21 | * | Serenit0r quit (Quit: Leaving) |
05:21:05 | * | onionhammer quit (Ping timeout: 240 seconds) |
05:27:42 | * | onionhammer joined #nim |
05:52:38 | * | endragor joined #nim |
06:11:11 | * | endragor quit (Remote host closed the connection) |
06:11:27 | * | endragor joined #nim |
06:27:28 | * | solitudesf joined #nim |
06:34:35 | * | rauss quit (Read error: Connection reset by peer) |
06:36:40 | * | rauss joined #nim |
07:16:13 | FromGitter | <genotrance> @Varriount: I'm yet to post this to github but you can download the latest version here: https://www.dropbox.com/s/149gz1k3taoehp8/autodup.zip?dl=0. Requires asynctools and docopt for build, and fpcalc - https://acoustid.org/chromaprint if you want to dedupe music files. I've only tested on Windows but I don't believe there's anything OS specific. @zacharycarter was able to build on Mac. |
07:31:03 | FromGitter | <Bennyelg> Can i iterate over csv in threaded mode? ⏎ I want to pass X amount of chunks to each thread to process some work |
07:31:15 | FromGitter | <Bennyelg> what is the best way to achieve this ? |
07:37:42 | FromGitter | <Varriount> @Bennyelg Read in the CSV, and launch workers. I'd use spawn |
07:38:21 | FromGitter | <Bennyelg> I thought about it, I just need appropriate way to split the lines of the csvs among the threads |
07:43:01 | FromGitter | <Varriount> Well, spawn uses a threadpool, so I would work with that: https://nim-lang.org/docs/manual.html#parallel-spawn |
07:43:08 | FromGitter | <Varriount> @Bennyelg ^ |
07:43:18 | FromGitter | <Bennyelg> Thanks I'll dig into |
07:54:16 | * | claudiuinberlin joined #nim |
08:03:38 | FromGitter | <Varriount> @Bennyelg |
08:03:54 | FromGitter | <Bennyelg> ? |
08:04:09 | FromGitter | <Varriount> Gah, mistype |
08:04:14 | FromGitter | <Varriount> Sorry |
08:04:17 | FromGitter | <Bennyelg> :) |
08:13:20 | * | libman quit (Quit: Connection closed for inactivity) |
08:30:44 | * | skrylar joined #nim |
08:52:40 | * | nsf joined #nim |
08:56:38 | FromGitter | <mratsim> 3998 people starred Nim on Github! |
08:59:46 | FromGitter | <mratsim> @Bennyelg, the fastest CSV reader by far is XSV in Rust https://github.com/BurntSushi/xsv. It’s the only one who didn’t choke on a 1.3GB csv I had with 3500+ columns and 110k lines. You first start by indexing the binary start of all lines, and then it can do multithreading safely and aggressively on each of those lines |
09:01:10 | * | thomasross quit (Remote host closed the connection) |
09:01:35 | * | thomasross joined #nim |
09:04:54 | Araq | can't you use a database instead? |
09:05:20 | Araq | such a CSV file is not very interoperable if no other library can handle it ... |
09:09:52 | FromGitter | <mratsim> Well it was for a data science competition that was long finished so I could manage manually. The file came from a perl tool that dumped the EXIF metadata of 100k+ photos |
09:13:08 | Araq | I would use sqlite instead |
09:13:48 | * | endragor_ joined #nim |
09:17:01 | * | endragor quit (Ping timeout: 240 seconds) |
09:24:09 | FromGitter | <mratsim> Yes, I think it’s a good idea, I actually tried, but I didn’t have the time to setup everything. |
09:25:37 | * | Yardanico joined #nim |
09:31:19 | Yardanico | two more stars on github! it's happening, yay! |
09:37:22 | FromGitter | <mratsim> Nim code is like 3-10 lines of documentation for 1-3 lines of code >_> |
09:38:00 | Yardanico | well it's literally the same for every language :) |
09:47:31 | Araq | mratsim: solution: don't document your code :D |
09:48:09 | Yardanico | ok, now I need to do shunting yard instead of recursive descent because it should be a lot faster :) |
09:48:29 | Araq | Yardanico: c2nim uses it and Nim's parser too |
09:48:40 | Yardanico | Araq, recursive descent? |
09:48:42 | Araq | you can copy it from there |
09:48:52 | Yardanico | ah, shunting yard, ok, interesting |
09:49:07 | Araq | recursive descent + shunting yard is what every expert uses :P |
09:50:20 | Yardanico | well recursive descent seems to be easiest to implement |
09:53:12 | Araq | it's the natural solution |
09:53:27 | Araq | and can be enhanced with backtracking |
09:53:33 | Araq | c2nim does that too. |
09:57:02 | FromGitter | <mratsim> @Araq, not documenting >_>, imagine the questions if we didn’t have a Nim manual |
09:57:38 | FromGitter | <mratsim> @Yardanico, I did a calculator for iOS/Android in React Native in the past. My Shunting Yard algo is there: https://github.com/mratsim/ReactFincal/blob/master/src/MathLogic.ts |
09:58:05 | FromGitter | <mratsim> Functional style typescript* not javascript |
10:01:36 | * | mahmudov joined #nim |
10:09:24 | * | ofelas joined #nim |
10:18:52 | * | nsf quit (Quit: WeeChat 1.9) |
10:20:15 | * | Sembei quit (Ping timeout: 240 seconds) |
10:20:21 | * | MyMind joined #nim |
10:26:06 | * | endragor joined #nim |
10:29:13 | * | dddddd joined #nim |
10:29:21 | * | endragor_ quit (Ping timeout: 248 seconds) |
10:41:03 | * | adeohluwa joined #nim |
10:46:23 | adeohluwa | https://www.irccloud.com/pastebin/eiKCS6O3 |
10:46:46 | adeohluwa | anyone else gets.... routines:SSL_shutdown:shutdown while in init |
10:47:20 | * | yglukhov joined #nim |
10:51:04 | adeohluwa | https://usercontent.irccloud-cdn.com/file/ua40uwy5/IMG_20170924_125015.jpg |
10:53:45 | adeohluwa | spawn retrieve gives an error after a while |
10:56:38 | adeohluwa | looks like the house is asleep |
10:56:44 | adeohluwa | |
11:09:11 | FromGitter | <zacharycarter> morning |
11:09:18 | federico3 | adeohluwa: what is that? |
11:09:28 | FromGitter | <zacharycarter> looks like android nim |
11:09:40 | Yardanico | well it doesn't really matter in his case :) |
11:09:41 | Yardanico | it's termux |
11:09:59 | adeohluwa | :D |
11:10:04 | FromGitter | <zacharycarter> is he typing all that code on a phone> |
11:10:14 | FromGitter | <zacharycarter> because I would kill myself |
11:10:18 | FromGitter | <zacharycarter> :P |
11:10:31 | FromGitter | <zacharycarter> are you typing all that on a phone adeohluwa |
11:10:32 | FromGitter | <zacharycarter> > |
11:11:06 | adeohluwa | some part of u wanted to hear a yes?? |
11:11:11 | adeohluwa | definitely not! |
11:11:25 | adeohluwa | not into masochism :D |
11:11:32 | federico3 | a little tutorial on how build and run Nim on a phone without having to fiddle with the phone itself would be nice |
11:11:47 | adeohluwa | I git clone & edit on the go |
11:11:58 | Yardanico | federico3, you don't need that much |
11:12:04 | Yardanico | termux support is already here |
11:13:04 | federico3 | Yardanico: even 5 lines on the wiki on what termux is and how to use Nim on it.. |
11:14:35 | adeohluwa | termux support? there is no pkg install nim |
11:15:02 | adeohluwa | anyone else gets.... routines:SSL_shutdown:shutdown while in init |
11:15:42 | Yardanico | adeohluwa, there is no package, but nim supports termux |
11:15:43 | FromGitter | <zacharycarter> while in what init? |
11:15:56 | Yardanico | zacharycarter: it seems to be an openssl error |
11:16:08 | Yardanico | maybe some incorrect call from nim side |
11:16:33 | adeohluwa | spawn retrieve (URL, filename, proxy) |
11:16:39 | adeohluwa | in a for loop |
11:16:49 | FromGitter | <zacharycarter> you're compiling with -d:ssl right? |
11:17:00 | adeohluwa | definition for proc retrieve () is in picture |
11:17:14 | adeohluwa | Zachary: yes I am |
11:17:43 | FromGitter | <zacharycarter> if you can post the full code on gist I can try to compile it on my machine |
11:17:50 | FromGitter | <zacharycarter> and see what happens |
11:18:30 | FromGitter | <zacharycarter> I have a feeling this error has nothing to do with termux / android |
11:19:03 | adeohluwa | no the error happens on my PC |
11:19:14 | adeohluwa | my PC is off @ the moment |
11:19:51 | adeohluwa | will post the gist |
11:20:10 | FromGitter | <zacharycarter> cool |
11:22:46 | Yardanico | lol, it literally was 3 lines to add variables to my math evaluator :D |
11:22:48 | Yardanico | eval("+5^+3+1.1 + a", {"a": 5.0}) |
11:23:28 | Yardanico | result is 131.1, which is correct |
11:24:06 | FromGitter | <Bennyelg> I'll explain my problem in more detail: ⏎ ⏎ @Araq @mratsim @Varriount ⏎ I wrote CSVql using nim. ⏎ The bottom line is: Query over CSV with ansi SQL: e.g "SELECT a,b,avg(c) FROM '/path/to/file.csv' group by a,b LIMIT 100" -H ... [https://gitter.im/nim-lang/Nim?at=59c795d6b59d55b823303f3d] |
11:25:05 | FromGitter | <Bennyelg> If you want to see the project here it is: ⏎ https://github.com/Bennyelg/csvql ⏎ ⏎ I'm using SQLite in the background to do the sqls of course. [https://gitter.im/nim-lang/Nim?at=59c79611cfeed2eb6544c36f] |
11:25:29 | FromGitter | <Bennyelg> @ Yardanico you are also in |
11:26:28 | FromGitter | <zacharycarter> I see how it is |
11:26:30 | FromGitter | <zacharycarter> :P |
11:26:43 | Yardanico | :D |
11:27:13 | FromGitter | <zacharycarter> @Bennyelg it seems like you're recreating Nimdata more or less |
11:27:19 | FromGitter | <zacharycarter> minus the sql part |
11:27:46 | FromGitter | <Bennyelg> No it wasn't my intention to mimic nimdata |
11:27:52 | FromGitter | <zacharycarter> what exactly do you want to do in parallel? load the files up? |
11:28:07 | FromGitter | <Bennyelg> just query inline over csvs somethins it's better then to use awk or grep |
11:28:07 | FromGitter | <zacharycarter> parallel is for CPU intensive tasks, async is I/O intensive |
11:28:07 | FromGitter | <mratsim> read the lines in the csv files I think |
11:28:24 | FromGitter | <zacharycarter> I would use async in this case and not threadpool |
11:28:45 | FromGitter | <zacharycarter> I think anyway |
11:29:29 | FromGitter | <zacharycarter> I'm guessing this is the slow part? https://github.com/Bennyelg/csvql/blob/master/src/csvql.nim#L138 |
11:29:55 | FromGitter | <mratsim> @Bennyelg I would read BurntSushi blog about CSV parsing performance: http://blog.burntsushi.net/csv/ |
11:30:02 | FromGitter | <Bennyelg> yup, the code can be simplefy but I wont doing that before changing it to async |
11:31:28 | FromGitter | <zacharycarter> I'll check out the project and play around with it |
11:31:28 | jsn- | I'd assume async helps with io blocking (like network), not io waiting (like local disk reads) |
11:31:44 | FromGitter | <zacharycarter> well the file is already read into memory |
11:32:06 | FromGitter | <zacharycarter> or I guess it's a stream |
11:40:09 | FromGitter | <Bennyelg> Stream so I guess each read is in memory |
11:41:11 | FromGitter | <zacharycarter> yeah :/ going to be hard to parallelize this |
11:42:28 | FromGitter | <Bennyelg> Pah, I must find a solution to this, it' can be very nice tool if it will work faster |
11:43:19 | FromGitter | <Bennyelg> currently, a csv with 2m rows on my laptop I took to upload the csv aprox 50 seconds |
11:44:12 | jsn- | my undestanding is, unless you are doing network / terminal io or timeouts, async is useless. windows might have some exceptions, but other that that it doesn't make much sense |
11:44:50 | FromGitter | <Bennyelg> Do you have any solution for that? because threads is also not an option i guess |
11:45:22 | jsn- | i don't know, why not threads? [i probably missed the discussion of that] |
11:46:21 | FromGitter | <zacharycarter> I think threads are fine for part of the solution but it doesn't help with a file stream reading |
11:47:00 | jsn- | ah, the stream thing |
11:47:13 | FromGitter | <zacharycarter> yeah :/ |
11:47:22 | FromGitter | <Bennyelg> :( |
11:47:26 | FromGitter | <zacharycarter> maybe look at how Nimdata does this |
11:47:33 | FromGitter | <zacharycarter> because it can take a CSV as input |
11:47:36 | FromGitter | <zacharycarter> and to my knowledge it's fast |
11:47:45 | FromGitter | <Bennyelg> I'll see now |
11:48:15 | jsn- | well, either you reading your stream slower than you're processing lines on one cpu -- and then you don't need parallel processing |
11:48:48 | jsn- | or you're reading faster than you can process on one cpu, then some pooled thread workers should help |
11:50:13 | jsn- | ... or you might want to read in parallel too, but that's not exactly trivial [yet should be possible] |
11:50:40 | FromGitter | <Bennyelg> this may be the best solution I guess. |
11:53:02 | * | nsf joined #nim |
11:53:04 | jsn- | do you even know where your bottleneck is now? is it io or cpu? |
11:54:17 | jsn- | if it's io, i'm not even sure parallel reading would improve the situation, btw; if you're hitting the disk sequential read bandwidth cap, parallel will not magically fix that |
12:05:16 | jsn- | hmm, btw |
12:07:23 | jsn- | since sqlite command line utility already has csv import built in, probably well-optimizied ... |
12:09:07 | * | vlad1777d joined #nim |
12:11:39 | FromGitter | <zacharycarter> hrm I need to figure out how to read files with emscripten / wasm |
12:12:24 | FromGitter | <zacharycarter> @yglukhov are you around by any chance? |
12:12:36 | yglukhov | yup |
12:12:46 | FromGitter | <zacharycarter> sweeeetttttt |
12:13:17 | FromGitter | <zacharycarter> would something like - https://github.com/yglukhov/jsbind/blob/master/jsbind/emscripten.nim#L291 - be possible for a string value? |
12:13:44 | FromGitter | <zacharycarter> I'm trying to figure out how I can call / wrap this function - https://kripken.github.io/emscripten-site/docs/api_reference/Filesystem-API.html#FS.readFile |
12:17:35 | FromGitter | <Jipok> @zacharycarter , try something like this ⏎ ⏎ ```passL %= "--preload-file file.txt" ⏎ var contents = FS.readFile('file.txt'); ``` [https://gitter.im/nim-lang/Nim?at=59c7a25e32fc8b7e40353062] |
12:17:40 | yglukhov | zacharycarter: it's not clear what you want. read a file from js code? why would you want that? |
12:18:16 | FromGitter | <zacharycarter> well I'm preloading the files |
12:18:43 | FromGitter | <zacharycarter> but whenever I call - https://nim-lang.org/docs/system.html#readFile,string_2 - I get the following error |
12:19:27 | jsn- | Bennyelg, did you consider just creating init file and command line for sqlite binary, and then just doing exec? that would get you free sql shell with history/readline, optional persistence with indices and probably some more benefits |
12:19:50 | FromGitter | <zacharycarter> missing function: *setjmp ⏎ printErr @ 00*Minimal.html:1249 ⏎ __setjmp @ 00_Minimal.js:1 ⏎ <WASM UNNAMED> @ VM205-462 wasm-028db34a-462:98 ⏎ <WASM UNNAMED> @ VM205-542 wasm-028db34a-542:47 ... [https://gitter.im/nim-lang/Nim?at=59c7a2e632fc8b7e403531ec] |
12:19:53 | FromGitter | <zacharycarter> whoops sorry |
12:20:09 | FromGitter | <zacharycarter> missing function: _setjmp |
12:20:27 | FromGitter | <zacharycarter> not sure how to deal with that |
12:20:37 | FromGitter | <Jipok> ah |
12:21:05 | yglukhov | zacharycarter: whats your emcc version? |
12:21:21 | FromGitter | <zacharycarter> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c7a341614889d4753346fc] |
12:21:24 | yglukhov | i thought it has already implemented setjmp support for wasm |
12:21:43 | yglukhov | setjmp is nim exception mechanism |
12:22:00 | yglukhov | just play with some try:except, youl see the same error likely |
12:22:12 | FromGitter | <zacharycarter> yeah I did get that when using try except |
12:22:28 | FromGitter | <zacharycarter> I guess readFile internally uses try except |
12:22:49 | Yardanico | well anyway it would be hard to use nim without any try except |
12:22:53 | yglukhov | if wasm doesnt support setjmp, are you sure that youll get too far even if you workaround readfile? =) |
12:23:07 | FromGitter | <zacharycarter> I've gotten pretty far so far |
12:23:15 | FromGitter | <zacharycarter> but it is painful to have to live without try except |
12:23:29 | FromGitter | <zacharycarter> I'm pretty sure wasm / emscripten is supposed to support it to |
12:23:39 | yglukhov | ive heard emscripten should already support it. |
12:23:52 | yglukhov | that was the case a while aho, but now it should be good. |
12:24:10 | yglukhov | i'd better try to dig that way instead of avoiding exceptions |
12:24:38 | FromGitter | <zacharycarter> I'll see what I can dig up in emscripten issue tracker |
12:24:40 | FromGitter | <zacharycarter> thanks |
12:25:00 | yglukhov | make sure youve got the latest ver |
12:26:10 | FromGitter | <zacharycarter> I think I do |
12:26:13 | FromGitter | <zacharycarter> emsdk update doesn't do anything |
12:26:16 | FromGitter | <zacharycarter> nor does emsdk install latest |
12:26:21 | yglukhov | emcc --version |
12:26:45 | FromGitter | <zacharycarter> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c7a484b59d55b823306ec1] |
12:26:48 | FromGitter | <zacharycarter> looks like the latest version to me |
12:27:21 | yglukhov | nope |
12:27:23 | yglukhov | https://github.com/kripken/emscripten/releases |
12:27:38 | FromGitter | <zacharycarter> ah crap |
12:27:44 | FromGitter | <zacharycarter> I guess I have to build from source or something then? |
12:27:56 | yglukhov | looks like it |
12:28:46 | yglukhov | can give a dockerfile if you want |
12:28:58 | yglukhov | *i can give u |
12:29:00 | FromGitter | <zacharycarter> looks like - emsdk install sdk-incoming-64bit - will install the latest |
12:29:06 | FromGitter | <zacharycarter> running that now |
12:29:11 | yglukhov | oh ok cool |
12:29:13 | FromGitter | <zacharycarter> https://kripken.github.io/emscripten-site/docs/building_from_source/building_emscripten_from_source_using_the_sdk.html#building-emscripten-from-the-main-repositories |
12:29:29 | FromGitter | <zacharycarter> thanks for the offer though |
12:29:33 | Yardanico | it's fun to properly handle functions with zero arguments, functions with any number of arguments, functions without parens |
12:29:50 | Yardanico | I mean I can't get it to work :P I wanted to have functions with zero number of arguments |
12:30:44 | FromGitter | <Jipok> ```echo readFile("text.txt")``` ⏎ ⏎ works for me. emcc --version 1.37.18 [https://gitter.im/nim-lang/Nim?at=59c7a574bac826f054f2f2ad] |
12:31:08 | FromGitter | <zacharycarter> wtf.... |
12:31:24 | FromGitter | <zacharycarter> oh 18 |
12:31:26 | FromGitter | <zacharycarter> okay phew hehe |
12:32:04 | FromGitter | <zacharycarter> thanks for trying that @Jipok |
12:34:49 | adeohluwa | Zachary: https://gist.github.com/Adeohluwa/f16783b3789931bb562c9a6c41ac3526 |
12:35:06 | adeohluwa | https://gist.github.com/Adeohluwa/d7969fd9c5c8679b83378015ecbe8a50 |
12:35:21 | adeohluwa | the script & the txt file needed |
12:36:29 | FromGitter | <zacharycarter> trying now adeohluwa |
12:37:44 | adeohluwa | bless |
12:39:39 | FromGitter | <zacharycarter> I got : STOP | Too Many Requests From This IP |
12:39:53 | FromGitter | <zacharycarter> :P |
12:40:30 | FromGitter | <zacharycarter> are you sure you want to use threads here for retrieving the data rather than async? |
12:40:37 | FromGitter | <zacharycarter> as it stands you're going to issue a ton of http requests |
12:40:47 | FromGitter | <zacharycarter> and very quickly |
12:42:03 | adeohluwa | yes if I make too much request within a small time frame from same IP |
12:42:09 | adeohluwa | I get asked to fill a captcha |
12:42:27 | adeohluwa | thats why I'm scared to use async |
12:42:35 | FromGitter | <zacharycarter> async should alleviate that problem |
12:42:41 | FromGitter | <zacharycarter> threads will magnify it |
12:42:52 | adeohluwa | really? |
12:42:56 | dom96 | erm |
12:42:59 | adeohluwa | WoW... |
12:43:08 | Yardanico | well you can sleep in async too |
12:43:15 | dom96 | I don't think that's strictly true |
12:43:26 | dom96 | The real solution here is to ensure you don't make more than x amount of requests per second |
12:43:36 | adeohluwa | but all requests from async will come from the same IP |
12:43:38 | dom96 | Not "oh well, I bet async will make it slower" |
12:43:48 | FromGitter | <zacharycarter> I'm not saying async will make it slower |
12:44:12 | adeohluwa | ideally I'm thinking I will throw in random proxies |
12:44:54 | FromGitter | <zacharycarter> but yeah I guess what dom96 is saying is right |
12:45:04 | FromGitter | <zacharycarter> throttle your requests |
12:45:18 | adeohluwa | so I can set a super large sleep |
12:45:26 | adeohluwa | but then the script will take Ages |
12:45:33 | adeohluwa | maybe days running |
12:45:48 | dom96 | what API is this accessing? |
12:46:09 | Yardanico | it's not an api :) |
12:46:11 | adeohluwa | am scraping the website for details |
12:46:21 | adeohluwa | that I'm writing to CSV |
12:46:31 | dom96 | I see. Interesting. |
12:47:21 | FromGitter | <Bennyelg> I was notice that Sites which ask for java script enable (which is required in most of the interesting sites) nim can't scraping this |
12:47:39 | adeohluwa | & even @ that |
12:47:47 | adeohluwa | The SSL shutdown error |
12:47:58 | adeohluwa | Will make sure the script stops after a while |
12:48:06 | adeohluwa | which defeats it all |
12:48:18 | Yardanico | Bennyelg: naah |
12:48:22 | Yardanico | you can always spoof requests :) |
12:48:35 | adeohluwa | hmm... |
12:48:44 | adeohluwa | I set UA to googlebot |
12:48:52 | adeohluwa | didn't seem to help :D |
12:49:36 | FromGitter | <zacharycarter> grr I still get : |
12:49:42 | FromGitter | <zacharycarter> ```warning: unresolved symbol: _longjmp ⏎ warning: unresolved symbol: _setjmp``` [https://gitter.im/nim-lang/Nim?at=59c7a9e6614889d475335bb9] |
12:49:45 | FromGitter | <zacharycarter> with the latest emcc wtf |
12:50:44 | FromGitter | <Jipok> It's a familiar mistake. There was something about it, but I do not remember anymore. |
12:50:56 | adeohluwa | Yardanico: how do u spoof requests? |
12:51:04 | FromGitter | <Jipok> Can you give your code and config file? |
12:51:09 | FromGitter | <zacharycarter> sure |
12:51:14 | Yardanico | adeohluwa, well not exactly "spoof", you can just check what requests website does |
12:51:21 | Yardanico | even in chrome developer tools |
12:51:28 | FromGitter | <zacharycarter> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c7aa507b7d98d30d2f0c80] |
12:52:15 | Yardanico | btw, I just re-wrote argument handling and I can now parse "sqrt(max(1, 2))", "sqrt max(1, 2)", "sqrt max(1 2)" at the same time |
12:52:41 | FromGitter | <zacharycarter> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c7aa99bac826f054f30482] |
12:52:43 | Yardanico | also I've added custom functions and variables to my parser :) |
12:53:14 | FromGitter | <zacharycarter> HERE2 never gets logged |
12:54:00 | FromGitter | <zacharycarter> I'll try a simpler example just reading a file and spitting it out |
12:55:37 | FromGitter | <zacharycarter> even this produces those warnings |
12:55:42 | FromGitter | <zacharycarter> ```echo readFile("examples/data/shaders/glsl100/foward.fs")``` |
12:55:51 | adeohluwa | Zachary: even if all goes well |
12:56:03 | adeohluwa | there is the SSL shutdown error |
12:56:10 | FromGitter | <zacharycarter> yeah :/ |
12:56:18 | FromGitter | <zacharycarter> I'm not even sure how to get to that because I get too manyr equests from this IP first |
12:58:16 | * | kunev quit (Ping timeout: 255 seconds) |
12:58:56 | * | yglukhov quit (Remote host closed the connection) |
13:00:30 | FromGitter | <Jipok> @zacharycarter: check 00_Minimal.data |
13:00:32 | Yardanico | what would be a good name for math expressions evaluation library? it seems "mathexpr" is already taken by some C++ parser :) |
13:00:44 | * | kunev joined #nim |
13:02:21 | FromGitter | <zacharycarter> @jipok it's definitely in there |
13:02:23 | adeohluwa | Zachary: increase the sleep a little |
13:02:39 | adeohluwa | reduce for 1..10 to for 1..5 |
13:03:49 | FromGitter | <zacharycarter> I gotta run I'll be back on in like an hour and try to help more adeohluwa |
13:04:27 | FromGitter | <Jipok> @zacharycarter: For me it works without errors. Which OS, browser, emcc do you use? |
13:04:28 | adeohluwa | alright ... will be here |
13:17:57 | * | libman joined #nim |
13:28:18 | Yardanico | yay! https://github.com/Yardanico/nim-mathexpr/commit/c70e6cbd9ede324afbd4d629ff7ab7d89811dfa9 |
13:29:30 | * | relax joined #nim |
13:32:36 | Yardanico | it even supports things like this: "sqrt fac log2 20" is parsed as "sqrt(fac(log2(20)))" |
13:33:05 | Yardanico | nim-like :P |
13:40:46 | * | PMunch joined #nim |
13:44:31 | * | yglukhov joined #nim |
13:49:34 | * | relax quit (Ping timeout: 264 seconds) |
13:52:24 | Yardanico | yglukhov, nimble js badge is cool :) |
14:10:20 | * | ShalokShalom_ joined #nim |
14:11:15 | Yardanico | and btw, JS generated code doesn't look that bad |
14:11:19 | Yardanico | it's really readable |
14:13:08 | * | ShalokShalom quit (Ping timeout: 240 seconds) |
14:13:10 | * | relax joined #nim |
14:17:47 | * | Yardanico_ joined #nim |
14:20:18 | * | Yardanico quit (Ping timeout: 246 seconds) |
14:20:48 | * | Yardanico_ quit (Client Quit) |
14:21:01 | * | Yardanico joined #nim |
14:22:35 | * | relax quit (Ping timeout: 240 seconds) |
14:24:40 | * | yglukhov quit (Remote host closed the connection) |
14:40:23 | FromGitter | <zacharycarter> @Jipok chrome, osx sierra and emcc ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c7c3d7210ac26920685585] |
14:54:11 | FromGitter | <zacharycarter> I'm going to try an older version of emsdk this latest one seems to be buggy |
15:02:00 | * | mahmudov quit (Ping timeout: 252 seconds) |
15:03:13 | dom96 | PSA. From now on let's start adding any changes between releases to this document: https://github.com/nim-lang/Nim/blob/devel/changelog.md |
15:03:44 | * | miran joined #nim |
15:05:42 | Yardanico | dom96, add "func" to changelog :) |
15:05:51 | * | skrylar quit (Remote host closed the connection) |
15:07:54 | dom96 | Araq: Mind if I implement a `*` for (int, float)? |
15:13:45 | FromGitter | <zacharycarter> ugh so weird - whenever I compile anything for emscripten now I just get a bunch of spam output in my console after it compiles |
15:16:45 | FromGitter | <Jipok> @zacharycarter: you can give me the project completely, I'll try to run it myself |
15:16:55 | FromGitter | <zacharycarter> sure |
15:17:04 | FromGitter | <zacharycarter> let me commit this branch |
15:18:59 | FromGitter | <zacharycarter> https://github.com/zacharycarter/zengine/tree/wasm |
15:19:03 | FromGitter | <zacharycarter> here's the command I"m running |
15:19:15 | FromGitter | <zacharycarter> from the root of the cloned directory |
15:19:20 | FromGitter | <zacharycarter> `````` |
15:21:02 | FromGitter | <zacharycarter> thanks for giving this a shot @Jipok I appreciate it greatly |
15:25:01 | FromGitter | <zacharycarter> okay I think I know one problem |
15:25:29 | FromGitter | <zacharycarter> I think since I compiled assimp with a older version of emscripten that's why I get all that crazy output I was talking about |
15:25:43 | Araq | dom96: I do mind. |
15:25:46 | FromGitter | <zacharycarter> if I remove libassimp.bc from the nim.cfg then it at least compiles properly |
15:25:59 | dom96 | Araq: okay, why? |
15:26:06 | FromGitter | <zacharycarter> but I still get the setjmp warnings |
15:26:18 | dom96 | Also, how do I prevent Nim from generating myCppTypeDatInit000 calls? |
15:26:23 | FromGitter | <Jipok> it seems you forgot the config file |
15:26:53 | FromGitter | <Jipok> at least I do't see it |
15:28:03 | FromGitter | <zacharycarter> I'll push up another commit |
15:28:31 | FromGitter | <zacharycarter> please check now @jipok - sorry about that |
15:29:21 | * | PMunch quit (Quit: leaving) |
15:29:28 | * | MyMind quit (Ping timeout: 240 seconds) |
15:29:54 | * | Pisuke joined #nim |
15:32:05 | FromGitter | <Jipok> glsl100? |
15:32:16 | FromGitter | <zacharycarter> shit |
15:32:19 | FromGitter | <Jipok> cannot open: examples/data/shaders/glsl100/animation/forward.fs |
15:32:41 | FromGitter | <Jipok> m.b. glsl400& |
15:32:42 | FromGitter | <zacharycarter> just pushed up again ugh my bad |
15:35:48 | FromGitter | <Jipok> https://i.imgur.com/Bbbm4sZ.png |
15:36:23 | FromGitter | <zacharycarter> ughhhh |
15:36:25 | FromGitter | <zacharycarter> so weird |
15:36:26 | FromGitter | <Jipok> + |
15:37:02 | FromGitter | <Jipok> but |
15:37:24 | FromGitter | <Jipok> (https://files.gitter.im/nim-lang/Nim/h9p9/___________.png) |
15:38:11 | FromGitter | <zacharycarter> well you're not getting the setjmp error so I wonder what is going on with my emscripten / wasm install |
15:40:10 | FromGitter | <Jipok> or browser |
15:40:21 | FromGitter | <Jipok> can u test in firefox? |
15:40:36 | FromGitter | <Jipok> and try asmjs version |
15:41:26 | FromGitter | <zacharycarter> sure |
15:41:44 | FromGitter | <zacharycarter> well the thing is I get those warnings during compilation |
15:41:45 | FromGitter | <zacharycarter> so I don't think it's the browser |
15:41:46 | * | Sentreen quit (Ping timeout: 264 seconds) |
15:41:47 | FromGitter | <zacharycarter> I'll try asm.js |
15:47:40 | * | libman quit (Quit: Connection closed for inactivity) |
15:49:08 | FromGitter | <zacharycarter> same error with asm.js @Jipok |
15:52:38 | * | Jesin quit (Quit: Leaving) |
15:54:19 | FromGitter | <Jipok> http://rgho.st/8nLWycDQP |
15:54:20 | * | Sentreen joined #nim |
15:54:36 | FromGitter | <Jipok> @zacharycarter, try this |
16:02:22 | FromGitter | <zacharycarter> @Jipok that works for me |
16:02:33 | FromGitter | <Jipok> hmm |
16:02:35 | * | nsf quit (Quit: WeeChat 1.9) |
16:02:35 | FromGitter | <zacharycarter> so I guess that means it's machine specific with my emsdk |
16:02:41 | * | Sentreen quit (Ping timeout: 248 seconds) |
16:02:43 | FromGitter | <Jipok> nim -v? |
16:02:56 | FromGitter | <zacharycarter> 1) 17.2 |
16:03:05 | FromGitter | <Jipok> stable? |
16:03:15 | FromGitter | <zacharycarter> don't think so |
16:03:41 | FromGitter | <Jipok> but I don't think that it influenced |
16:03:44 | FromGitter | <zacharycarter> yeah :/ |
16:03:50 | FromGitter | <zacharycarter> def seems like something with emsdk |
16:04:18 | FromGitter | <zacharycarter> I think I'll post an issue on the emscripten github |
16:05:40 | FromGitter | <Jipok> it's strange,emcripten seems to be machine-independent |
16:05:59 | FromGitter | <zacharycarter> I agree it definitely should be |
16:07:51 | FromGitter | <Jipok> You can try to build a debug version and find cause of error |
16:07:59 | * | mahmudov joined #nim |
16:09:05 | FromGitter | <Jipok> code without -d:release readable |
16:10:03 | FromGitter | <zacharycarter> I just found this - https://groups.google.com/forum/#!topic/emscripten-discuss/5-0m2GZH6jw |
16:10:39 | FromGitter | <zacharycarter> http://qiita.com/biotist/items/0499575bc64e49c9f998 and that |
16:12:40 | * | enthus1ast- quit (Ping timeout: 255 seconds) |
16:14:17 | FromGitter | <Jipok> looks like an interesting article, but does not translatable |
16:15:27 | Yardanico | well it translates for me well |
16:15:39 | Yardanico | from japanese to russian |
16:15:39 | FromGitter | <Jipok> чем? |
16:15:45 | Yardanico | google translate |
16:15:59 | Araq | dom96: currently you can't prevent these calls from being emitted |
16:16:06 | FromGitter | <Jipok> ну переводится, но не читабельно же |
16:16:10 | Araq | later versions will eliminate them |
16:16:28 | Yardanico | Jipok: читабельно же |
16:16:29 | Araq | dom96: float*int and int*float adds special cases to what is already too complex |
16:16:35 | * | Sentreen joined #nim |
16:18:08 | Araq | Я люблю рисовать розу |
16:18:58 | Yardanico | Araq, nice! |
16:19:20 | Araq | if only I knew more words :P |
16:19:43 | FromGitter | <Varriount> I'd memory map the entire file (or part of the file) and use a threadpool of workers |
16:20:16 | dom96 | Araq: What's too complex about it? |
16:20:23 | FromGitter | <Jipok> Yardanico, а да. Я прост листнул куда-то, увидел "я спал, прежде чем написал «Сон», поэтому добавил", закрыл. |
16:20:43 | Yardanico | Jipok: ну машинный перевод |
16:20:55 | Araq | dom96: do you know the type inference rules for mixed arithmetic? |
16:21:36 | Araq | and what's special about * ? why not allow float + int ? |
16:21:43 | dom96 | That should be allowed too |
16:21:59 | dom96 | and you'd get a float back |
16:22:26 | Araq | we could add them to a new module, 'import betterarithmetic' |
16:23:51 | FromGitter | <alehander42> can I inject nodes in the closest block AND return an inplace node in macros? e.g. expanding `for s in x()` x to stuff before `for ` and in place of `x()` |
16:24:35 | Araq | no. |
16:25:13 | * | yglukhov joined #nim |
16:26:28 | dom96 | so you're worried this is going to have surprising behaviour? |
16:27:14 | dom96 | Are other languages really as strict about this? |
16:27:18 | FromGitter | <alehander42> is that a design decision(it doesn't seem useful) or is it just hard to provide that kind of functionality (inject in surrounding block) in all situations :? |
16:28:20 | Araq | alehander42: It's a design decision so that I can know only the macro's context is affected by the macro. |
16:28:43 | FromGitter | <Jipok> @zacharycarter ⏎ This is what you get from the compiler? ⏎ ⏎ ```$ llvm-nm stdlib_system.o | grep jmp ⏎ U longjmp ⏎ U setjmp ⏎ ``` [https://gitter.im/nim-lang/Nim?at=59c7dd3b7b7d98d30d2fc4ad] |
16:29:08 | * | yglukhov quit (Ping timeout: 240 seconds) |
16:30:01 | Araq | bbl |
16:30:27 | FromGitter | <alehander42> @Araq ok, makes sense |
16:30:43 | FromGitter | <zacharycarter> need to figure out where stdlib_system.o is |
16:31:12 | FromGitter | <zacharycarter> oh that's a nim file |
16:31:20 | FromGitter | <zacharycarter> err compiled nim file |
16:31:30 | FromGitter | <Jipok> nimcache |
16:32:07 | FromGitter | <zacharycarter> :/ I get - ```error: Unknown attribute kind (52) (Producer: 'LLVM4.0.0' Reader: 'LLVM APPLE_1_800.0.42.1_0')``` |
16:32:16 | FromGitter | <zacharycarter> nm examples/src/zengine_examples/00_Minimal/nimcache/stdlib_system.o | grep jmp |
16:32:30 | FromGitter | <Jipok> wtf |
16:32:56 | FromGitter | <zacharycarter> I agree! |
16:33:40 | * | enthus1ast- joined #nim |
16:35:17 | miran | i'm using `nre` library for regex - how can i get the subgroups of a match? |
16:35:19 | FromGitter | <zacharycarter> maybe I have an old version of xcode command line tools or something |
16:35:58 | miran | for example: `s.find(re"\((\d+)x(\d+)\)")` -> how to get the first and the second number separately? |
16:36:28 | FromGitter | <zacharycarter> @Jipok updating commandline tools hopefully this fixes things |
16:44:14 | * | adeohluwa quit (Quit: Connection closed for inactivity) |
16:46:42 | FromGitter | <Jipok> but why 'commandline tools'? ⏎ ⏎ ```should work``` [https://gitter.im/nim-lang/Nim?at=59c7e172cfeed2eb6545d515] |
16:50:09 | * | enthus1ast- quit (Ping timeout: 248 seconds) |
17:09:03 | * | couven92 joined #nim |
17:11:06 | * | solitudesf quit (Remote host closed the connection) |
17:15:35 | * | def-pri-pub joined #nim |
17:17:01 | FromGitter | <zacharycarter> i has no idea |
17:17:14 | FromGitter | <zacharycarter> sorry bouncing back and forth between the computer and my truck I'm trying to sell |
17:20:45 | FromGitter | <zacharycarter> @Jipok updating command line tools made nm work |
17:20:56 | FromGitter | <adamrezich> is play.nim-lang.org broken atm? I can neither compile nor create gists :( |
17:21:16 | Yardanico | yeah |
17:21:19 | Yardanico | seems to be broken for me |
17:21:24 | Yardanico | Failed to load resource: the server responded with a status of 502 () |
17:21:27 | FromGitter | <zacharycarter> :/ |
17:21:43 | FromGitter | <zacharycarter> I'll try to fix |
17:21:56 | FromGitter | <adamrezich> anyways, what am I doing wrong here? https://pastebin.com/rWe2uvuk |
17:22:14 | FromGitter | <zacharycarter> apparently the device is out of space :O |
17:22:17 | FromGitter | <zacharycarter> wonder why |
17:22:18 | * | mahmudov quit (Remote host closed the connection) |
17:22:35 | FromGitter | <adamrezich> I'm assuming it's a case of me thinking nim'd do something for me when it wouldn't, and it needs templates/macros? |
17:24:15 | Yardanico | adamrezich: nonono, almost everything is perfect |
17:24:33 | Yardanico | you forgot to add [T] to SlotMap |
17:24:36 | Yardanico | at line 4 |
17:24:49 | Yardanico | change SlotMap to SlotMap[T] |
17:24:49 | FromGitter | <adamrezich> *smacks forehead* |
17:25:26 | FromGitter | <adamrezich> thanks haha |
17:25:59 | FromGitter | <adamrezich> I'm trying to implement a nim version of a container a former classmate of mine is trying to get added to the C++ STL: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0661r0.pdf |
17:26:28 | * | def-pri-pub quit (Ping timeout: 240 seconds) |
17:27:05 | FromGitter | <zacharycarter> today is not a good day for me :/ |
17:27:07 | * | libman joined #nim |
17:27:18 | FromGitter | <zacharycarter> playground is very broken and so is emscripten |
17:28:13 | FromGitter | <adamrezich> :< |
17:29:58 | FromGitter | <zacharycarter> this is the error I see over and over in the nginx logs |
17:30:01 | FromGitter | <zacharycarter> `````` |
17:35:18 | FromGitter | <zacharycarter> okay playground should be up again |
17:37:13 | Araq | dom96: I've said it before, if I were to redesign the arithmetic rules, I'd copy C#'s rules and call it a day. not sure how much work that is to change now |
17:37:39 | dom96 | I think it's worth trying |
17:37:46 | dom96 | Although I don't know what C#'s semantics are. |
17:37:57 | Araq | we do break compat in 0.18 though which is still planned to be version 1 RC |
17:38:27 | dom96 | Games development seems to be a big niche for Nim so we need to ensure that handling of numbers is as friction-free as possible |
17:39:03 | FromGitter | <ephja> what are the proposed changes? |
17:39:29 | * | sleepyqt joined #nim |
17:40:06 | Yardanico | Araq, yay, I personally will make a dirty work: remove all {.deprecated pragmas before 1.0 |
17:40:15 | * | endragor_ joined #nim |
17:40:19 | Yardanico | before 1.0 release |
17:40:28 | Yardanico | and we'll need to update rosetta fully :P |
17:40:33 | Yardanico | rosetta code |
17:40:34 | Araq | dom96: friction-free conflicts with "silent overflow problems" |
17:41:01 | dom96 | Yardanico: do it :D |
17:41:13 | dom96 | Araq: Well we should discuss it at least |
17:41:15 | Yardanico | dom96, you're about rosetta or deprecated? |
17:41:18 | FromGitter | <zacharycarter> @adamrezich can you please verify? |
17:41:19 | Araq | in fact, int+float is not lossless for 64 bits ints |
17:41:23 | dom96 | Yardanico: both |
17:41:30 | Yardanico | rosetta code seems to be very laggy :( |
17:41:32 | * | nsf joined #nim |
17:41:33 | Araq | low(int64) does not fit in a float |
17:42:07 | Araq | dom96: also ... Jai doesn't do implicit integer conversions :P |
17:42:14 | FromGitter | <krux02> I am pretty sure low(int64) is in float |
17:42:16 | FromGitter | <adamrezich> @zacharycarter compiling works, but it seems like generating gists still fails :< |
17:42:24 | dom96 | If we keep this then we should at least document the reasoning well |
17:42:30 | FromGitter | <krux02> it is the negative of a power of two |
17:42:58 | * | def-pri-pub joined #nim |
17:43:03 | FromGitter | <zacharycarter> @adamrezich I'll look into it |
17:43:08 | * | endragor quit (Ping timeout: 240 seconds) |
17:43:21 | Araq | krux02: oh yeah good point, but low(int64)-1 is not a float then |
17:43:56 | Araq | since both use 64bits there are integers that cannot be represented as floats precisely |
17:44:36 | FromGitter | <krux02> low(int64)-1 isn't an int either :P |
17:44:46 | FromGitter | <krux02> (int64) |
17:44:53 | Araq | low(int64)+1 |
17:44:58 | Araq | you know what I mean :P |
17:45:12 | FromGitter | <krux02> yes I do |
17:46:18 | FromGitter | <zacharycarter> @adamrezich strange I can hit the url in a rest client and it works fine, just not from the playground :/ |
17:47:24 | FromGitter | <adamrezich> @zacharycarter can you hit it from the server? |
17:47:36 | FromGitter | <zacharycarter> let me try |
17:48:54 | FromGitter | <zacharycarter> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c7f006614889d475345fd4] |
17:49:42 | * | Elronnd is now known as WartHug |
17:49:55 | * | WartHug is now known as Elronnd |
17:50:01 | FromGitter | <adamrezich> maybe the server got temporarily blocked or something? D: |
17:50:34 | FromGitter | <zacharycarter> not sure :/ |
17:50:44 | FromGitter | <zacharycarter> I think it's something going on with nginx |
17:50:54 | FromGitter | <zacharycarter> it's strange I can hit the uri from my browser and it's fine |
17:50:57 | FromGitter | <zacharycarter> but from the app it blows up |
17:52:57 | FromGitter | <adamrezich> weird |
17:53:55 | dom96 | yglukhov: any reason why nimasset isn't in nimble? |
17:54:05 | FromGitter | <krux02> does anybody know how to create a gif animation from a nim application? |
17:54:33 | FromGitter | <krux02> I already have a screenshot button, but I would like to have the same for 5 second animations |
17:54:50 | dom96 | Araq: What? If low(int64) can be represented as a float then how come low(int64)+1 can't? |
17:55:20 | FromGitter | <krux02> dom96: IEEE floanting point numbers |
17:55:32 | FromGitter | <krux02> low(int64) is the negative of a power of two |
17:56:16 | dom96 | zacharycarter: what's the problem? Maybe I can help? |
17:56:42 | dom96 | krux02: I guess I would need to remind myself about how floating point numbers are represented to understand |
17:56:54 | FromGitter | <krux02> dom96: most confusing are subnormal numbers |
17:57:29 | FromGitter | <krux02> and yes you should know how IEEE floats work |
17:57:40 | FromGitter | <krux02> and how they perform |
17:58:50 | FromGitter | <zacharycarter> dom96: gist's won't compile on the playground , keep getting 502 errors |
17:59:15 | dom96 | does it work via the API? |
17:59:30 | FromGitter | <krux02> for example a lot of C/C++ compilers have a flag for fast math operations that round all subnormal numbers to zero because that path is little optimized and is for most applications not distinguishable from 0 |
17:59:35 | dom96 | is jester outputting anything useful? |
18:00:07 | FromGitter | <zacharycarter> it does work via the api |
18:00:25 | FromGitter | <zacharycarter> just not from the box |
18:00:44 | FromGitter | <zacharycarter> nothing useful in the app logs :/ |
18:01:32 | dom96 | Have you tried turning it off and on again? :) |
18:02:47 | FromGitter | <zacharycarter> yeah - tried restarting nginx as well as the service |
18:02:58 | FromGitter | <zacharycarter> let me try turning both off then ngnix on then the playground |
18:03:03 | dom96 | Araq: Are exceptions in `cpp` mode working well? |
18:03:23 | dom96 | I get stuff like this https://gist.github.com/dom96/bc8ffe85f4d59e379835cb6baa943c44 |
18:04:15 | Araq | I think so, they are part of the testing suite, but most C++ code doesn't use exceptions |
18:04:38 | Araq | your gist does not indicate any exception problems |
18:04:38 | dom96 | It happened when an assert failed |
18:04:45 | dom96 | and now it's happening for an index error as well |
18:05:04 | Araq | yes, unhandled exceptions terminate the program, what else |
18:05:18 | dom96 | Well shouldn't I get the exception name instead of a SIGABRT? |
18:05:29 | * | def-pri-pub1 joined #nim |
18:05:33 | dom96 | exception name + exception msg that is |
18:06:05 | dom96 | Something like this: `Error: unhandled exception: index out of bounds [IndexError]` |
18:06:21 | Araq | that's not under our influence |
18:06:32 | Araq | we map 'raise' to 'throws' |
18:06:35 | * | def-pri-pub quit (Ping timeout: 240 seconds) |
18:06:43 | Araq | and so you get C++'s error messages |
18:06:57 | dom96 | You print a Nim-like traceback though |
18:07:07 | dom96 | This is a little surprising. |
18:07:46 | FromGitter | <ephja> only a few known concept issues left |
18:08:13 | Yardanico | ephja? |
18:08:34 | Yardanico | there's also 8 generic concept issues :( https://github.com/nim-lang/Nim/issues?q=is%3Aissue+is%3Aopen+label%3AConcept%5BT%5D |
18:08:57 | * | mahmudov joined #nim |
18:10:23 | FromGitter | <ephja> that's what I was looking at. maybe it'll be possible to get a container interface in before 1.1 or so |
18:11:08 | dom96 | https://github.com/nim-lang/Nim/issues/6431 |
18:11:24 | Yardanico | ephja: container interface? |
18:11:29 | Yardanico | or a concept"? |
18:11:43 | Yardanico | if concept - it's possible already |
18:11:56 | Araq | dom96: I think that's actually a bug, it cannot reliably produce a stack trace |
18:12:09 | Araq | it just prints it in any case (?) |
18:12:26 | FromGitter | <ephja> nah I ran into a codegen issue, but it could be related to something else |
18:12:32 | Yardanico | Araq, I get proper traceback |
18:12:41 | Yardanico | ah, sorry |
18:12:52 | dom96 | Araq: definitely a bug :) |
18:12:54 | Yardanico | yeah, I have the same bug |
18:12:58 | dom96 | maybe mac os x-specific? |
18:13:05 | Yardanico | dom96, no, I reproduced it |
18:13:09 | Yardanico | I was calling "nim c -r file.nim" |
18:13:19 | Yardanico | I get SIGABRT in 100% of runs |
18:13:24 | * | chemist69 quit (Ping timeout: 252 seconds) |
18:13:59 | Yardanico | clang on linux |
18:14:17 | Yardanico | same with gcc though |
18:14:47 | FromGitter | <ephja> Yardanico: concept(s). "interface" might be correct, but confusing since it has different meanings |
18:15:09 | Yardanico | did you report this codegen issue? |
18:15:11 | FromGitter | <ephja> I haven't really felt the need to define class interfaces yet |
18:15:15 | FromGitter | <ephja> yep |
18:16:20 | * | nsf quit (Quit: WeeChat 1.9) |
18:22:52 | FromGitter | <ephja> https://gist.github.com/ephja/42adacd0a3e216bc0462bd1a568e7ea8 that's all I have so far |
18:24:18 | dom96 | ahh, off-by-one errors, you are my nemeses. |
18:27:05 | FromGitter | <ephja> I dunno if I need to use shallow semantics. I will look into it |
18:30:17 | dom96 | Hrm, not quite what was supposed to be rendered: https://i.imgur.com/MkD9P27.png |
18:30:36 | Yardanico | lol |
18:31:55 | * | chemist69 joined #nim |
18:38:02 | * | def-pri-pub1 quit (Ping timeout: 260 seconds) |
18:39:52 | * | aziz joined #nim |
18:39:56 | * | aziz quit (Client Quit) |
18:40:28 | FromGitter | <mratsim> Is that the new Nim logo? |
18:41:45 | Yardanico | why this nimble logo was changed? :DDDD https://github.com/yglukhov/nimble-tag/blob/b8880187ae5033bb8c5b5a27d81caac3248b927a/nimble.png |
18:41:59 | Yardanico | https://github.com/yglukhov/nimble-tag/commit/b8880187ae5033bb8c5b5a27d81caac3248b927a#diff-f68df6aa907c343f457e50715d774fc2 |
18:42:12 | dom96 | because we don't live in the year 2005 any more. |
18:43:09 | FromGitter | <ephja> I would tweak the gradients a little, but maybe it looks better at smaller sizes ;) |
18:43:27 | FromGitter | <ephja> the ones in the readme look great IMO |
18:43:39 | dom96 | they need to be smaller too IMO |
18:43:44 | dom96 | and incorporate the Nimble logo |
18:43:56 | dom96 | My SO actually created the current ones :) |
18:44:06 | Yardanico | ephja yeah |
18:44:18 | Yardanico | but I didn't put them on my repos before :D only put one today |
18:47:56 | FromGitter | <ephja> hmm, let's see if the relevant line in one of my modules appears somewhere in this future error stack trace :D |
18:48:29 | Yardanico | well because sometimes an error in some line can be caused by incorrect code in some line before |
18:48:46 | Yardanico | and there's no way for compiler to check the "actual" wrong line |
18:49:06 | Yardanico | It's not easy to debug recursive parser too :P |
18:49:35 | FromGitter | <ephja> I see "send" somewhere in there, and that's specific enough |
18:53:35 | * | def-pri-pub joined #nim |
18:59:36 | * | def-pri-pub quit (Ping timeout: 252 seconds) |
19:01:28 | FromGitter | <adamrezich> is the best way to "empty a seq" to just set it to []? |
19:03:09 | * | def-pri-pub joined #nim |
19:06:41 | FromGitter | <ephja> that'll do, but set the length to 0 instead if you need more efficient buffer handling setLen (https://nim-lang.org/docs/system.html#setLen,seq[T],Natural) |
19:08:01 | FromGitter | <ephja> speaking of which, we need `to string` routines etc that take output buffers :D |
19:13:48 | * | def-pri-pub quit (Ping timeout: 240 seconds) |
19:15:17 | * | chemist69 quit (Ping timeout: 255 seconds) |
19:15:30 | * | Arrrr joined #nim |
19:15:30 | * | Arrrr quit (Changing host) |
19:15:30 | * | Arrrr joined #nim |
19:18:31 | * | PMunch joined #nim |
19:19:52 | FromGitter | <zacharycarter> @jipok: ➜ zengine_wasm git:(wasm) ✗ llvm-nm examples/src/zengine_examples/00_Minimal/nimcache/stdlib_system.o | grep jmp ⏎ ⏎ ``` U _longjmp ⏎ U _setjmp``` [https://gitter.im/nim-lang/Nim?at=59c8055832fc8b7e403694b4] |
19:20:10 | FromGitter | <zacharycarter> so confused as to why I'm still getting those warnings |
19:20:12 | FromGitter | <zacharycarter> ugh |
19:20:19 | FromGitter | <zacharycarter> screw emscripten / wasm! |
19:21:01 | * | solitudesf joined #nim |
19:32:18 | * | adeohluwa joined #nim |
19:33:56 | * | chemist69 joined #nim |
19:35:31 | adeohluwa | Zachary: u back |
19:38:57 | * | nsf joined #nim |
19:40:40 | adeohluwa | Zachary: u re-ran the script? |
19:43:29 | FromGitter | <Jipok> @zacharycarter why _? ⏎ ⏎ ```$ llvm-nm stdlib_system.o | grep jmp ⏎ U longjmp ⏎ U setjmp ⏎ ``` [https://gitter.im/nim-lang/Nim?at=59c80ae1177fb9fe7efa4232] |
19:47:59 | * | rabbi joined #nim |
19:49:58 | FromGitter | <Jipok> try open stdlib_system.c and search setjmp |
19:51:31 | FromGitter | <Jipok> it should be something like: ⏎ ⏎ ```T3_ = setjmp(registers);``` ⏎ ⏎ if not, then maybe you should try to fix it manually [https://gitter.im/nim-lang/Nim?at=59c80cc3cfeed2eb654676f9] |
19:57:32 | * | ofelas quit (Quit: shutdown -h now) |
20:06:15 | FromGitter | <mratsim> Btw, any good resources that explains the tradeoffs/applications between each concurrency and parallelism techniques? I’m getting lost between thread pool, actors, work stealing, fork/join, lock-free whatever |
20:07:41 | * | miran quit (Ping timeout: 240 seconds) |
20:08:03 | * | Jesin joined #nim |
20:13:18 | FromGitter | <Jipok> @zacharycarter, I was able to reproduce your problem, and found its solution. Still, it was in nim ⏎ Just compile with -d:nimStdSetjmp and it will works. ⏎ https://github.com/nim-lang/Nim/blob/f8b82869594e8009ddd7262b281eb598a2e13ab6/lib/system/ansi_c.nim#L75 |
20:26:04 | * | dataPulverizer joined #nim |
20:26:33 | * | Jesin quit (Quit: Leaving) |
20:32:18 | * | Jovan joined #nim |
20:34:55 | dom96 | c2nim is so awesome |
20:35:31 | Yardanico | dom96, yes! did you do something cool with it ?:) |
20:35:47 | dom96 | not really, just translating some C++ header files. |
20:37:01 | * | rabbi quit (Ping timeout: 240 seconds) |
20:38:01 | FromGitter | <zacharycarter> @Jipok you are awesome~ |
20:38:03 | FromGitter | <zacharycarter> !\ |
20:38:18 | FromGitter | <mratsim> Wow, ponylang reddit is a one-man show: https://www.reddit.com/r/ponylang/ |
20:38:52 | FromGitter | <zacharycarter> @Jipok how'd you figure that out |
20:39:07 | dom96 | I wish Sean would help develop Nim. |
20:39:18 | dom96 | Pretty sure Nim provides similar concurrency guarantees. |
20:39:31 | FromGitter | <zacharycarter> reference capabilities are interesting |
20:39:33 | FromGitter | <zacharycarter> in pony |
20:39:52 | Yardanico | well it seems to have a lot less PRs and development in general |
20:40:03 | Yardanico | only 3 PRs were merged for example, for 0.19.2 release |
20:40:07 | Yardanico | *4 |
20:40:19 | Yardanico | and it's not self-hosted :) |
20:41:04 | Yardanico | wow |
20:41:04 | Yardanico | https://www.ponylang.org/media/papers/fast-cheap.pdf |
20:41:14 | dom96 | I'm pretty sure the main dev of Pony has stopped working on it. |
20:42:08 | FromGitter | <mratsim> Yes, his company bankrupted because of J.P. Morgan apparently |
20:42:25 | FromGitter | <mratsim> https://www.linkedin.com/pulse/end-causality-constantine-goulimis |
20:43:21 | FromGitter | <mratsim> Interesting piece about the new dev (it’s quora so …): https://www.quora.com/What-is-your-experience-with-using-Pony-programming-language |
20:43:43 | FromGitter | <mratsim> > The guys who took over from Sylvan and Causality are just not up to the job. ⏎ ⏎ > There is no more brilliance in the whole project, and the first thing they did when they took over the project, was to post a Code of Conduct, a SJW bullshit document specifying all ways you have to comply with their idiotic leftist ideology before you can be part of their little group. ⏎ ⏎ > This is literally one of those |
20:43:43 | FromGitter | ... times in tech development, where the worse solution won, because of certain market conditions. The other time was when Sun, with billions of $$$ from dot-com bubble, marketed Java as the solution for all kinds of problems it was never designed for. [https://gitter.im/nim-lang/Nim?at=59c818ff7b7d98d30d30b215] |
20:45:14 | FromGitter | <ephja> -.- |
20:45:47 | dom96 | :o |
20:48:47 | FromGitter | <Varriount> Anyone want to give me some advice on this: https://github.com/Varriount/NimLime/issues/88 ? |
20:49:24 | dom96 | That is very interesting. Nice find mratsim. |
20:49:30 | FromGitter | <Varriount> Quite frankly, I don't have time to support NimLime, and even if I did, I would be dropping support for Sublime Text 2. |
20:49:50 | FromGitter | <mratsim> Are people using Sublime v2? |
20:50:01 | Yardanico | no, this issue is about st 3 it seems |
20:50:11 | Araq | oh thanks for reminding me, I wanted to give NimLine a shot since forever |
20:50:30 | FromGitter | <Varriount> Araq: Everything should work except for Nimsuggest support. |
20:50:37 | Araq | since VS Code gets worse instead of better I'm looking for a new editor |
20:50:37 | FromGitter | <Jipok> @mratsim I wanna use v3, but it not works for me |
20:51:04 | FromGitter | <krux02> how is vs code getting worse? |
20:51:07 | FromGitter | <Varriount> @Jipok It's a pain to support both versions. The plugin loading behavior is subtly different. |
20:51:21 | FromGitter | <Jipok> drop v2 |
20:51:52 | FromGitter | <krux02> Araq: is the plugin getting worse, or is VS code itself becoming worse? |
20:51:52 | PMunch | Araq, join the dark side and go with Vim :) |
20:52:15 | FromGitter | <krux02> (or emacs :D |
20:52:16 | Yardanico | krux02: vs code itself IIRC |
20:52:22 | PMunch | Or kakoune, which seems pretty interesting |
20:52:26 | Yardanico | I use VS code too |
20:52:31 | Yardanico | because nim plugin seems to be the best here |
20:52:37 | Yardanico | what are GUI alternatives to VS Code for nim? |
20:52:44 | PMunch | gvim? |
20:52:50 | PMunch | :P |
20:52:53 | FromGitter | <Varriount> NimLime, although I don't have time to support or enhance it. |
20:53:05 | PMunch | Aporia is an alternative I guess |
20:53:14 | Yardanico | well it's dead sadly :/ |
20:53:15 | FromGitter | <Varriount> Personally, all I ever need for Nim development is the autochecker |
20:53:15 | dataPulverizer | How do you print out runtime type information on Nim? I have looked at the typeinfo library but am none the wiser. |
20:53:22 | PMunch | And Atom, but not sure how the plugin there is doing |
20:53:29 | FromGitter | <krux02> aporia is really just to quickly test out nim, that's it |
20:53:33 | dom96 | dataPulverizer: what info do you want? |
20:53:35 | Yardanico | PMunch, atom isn't much better than vs code :P |
20:53:40 | Yardanico | since they both based on electron |
20:53:46 | dataPulverizer | Just the runtime type |
20:53:56 | PMunch | Yeah, electron is pretty crap.. |
20:54:41 | Yardanico | dataPulverizer, I don't think you would be able to get it. and I think there's runtime type only for inherited objects |
20:54:46 | Araq | krux02: project management is not acceptable for me anymore and now they screwed up auto indentation |
20:55:43 | Yardanico | let's find some text editor/small ide and write nim plugin for it :P |
20:55:44 | PMunch | dataPulverizer, what are you trying to do? It seems like you are trying to do something "dynamic language"-esque in Nim |
20:55:59 | FromGitter | <krux02> well I use emacs, and there project management is pretty OK thanks to projectile |
20:56:03 | PMunch | Yardanico, or create a new from one scratch? |
20:56:21 | dataPulverizer | Yardanico: I am doing polymorphism, and would like to print out the runtime type. For instance var a: Class4 = Class5(...) I would like to be able to print the runtime type for a as `Class5` |
20:56:42 | PMunch | Hmm, maybe spacemacs? |
20:57:00 | dataPulverizer | This is when Class5 is a child of Class4 |
20:57:09 | FromGitter | <krux02> fuzzy search project, fuzzy search file in project, fuzzy search threugh lines of files in project |
20:57:17 | FromGitter | <krux02> very effective |
20:57:34 | FromGitter | <Jipok> @Varriount ⏎ I can provide any information for you and try anything to make NimLine work. I hate modern applications on the electron and hate modern web. But last I can`t avoid. My 4 gb of memory in the laptop is not enough for the browser and vscode. |
20:58:07 | FromGitter | <krux02> but I still don't think that emacs key bindings are at all better than anything. Honestly they are horrible by default |
20:58:07 | PMunch | dataPulverizer, isn't that just .type? |
20:58:09 | Yardanico | hmm, I want to try sumblime text 3 with nimlime too :) |
20:58:14 | dom96 | dataPulverizer: This seems related https://github.com/nim-lang/Nim/issues/4193 |
20:58:27 | dom96 | Maybe you can look into the option that Araq mentioned there |
20:58:27 | FromGitter | <krux02> almost all of them, I have no idea how people could ever think that they are a good idea |
20:58:35 | FromGitter | <Jipok> In the last week I even thought about switching to emacs. Just because there is nowhere else a good support for nim. |
20:58:55 | dataPulverizer | PMunch No, .type will give you Class4 |
20:59:01 | PMunch | I'm starting to use Vim more and more exclusively |
20:59:18 | PMunch | dataPulverizer, go with what dom96 suggested then |
20:59:21 | FromGitter | <krux02> the emacs plugin works, kind of, but it lacks the true support that I would really like |
20:59:57 | PMunch | The Vim plugin is a bit shaky as well. But TBH I could probably write Nim in a plain text editor now |
20:59:57 | FromGitter | <krux02> for example in the Nim project itself, correct highlighting for files, nope, the inclusion of other files simply doesn't allow it |
21:00:08 | PMunch | Although syntax highlighting is always good :) |
21:00:30 | Yardanico | PMunch, yeah, same for me |
21:00:57 | FromGitter | <krux02> I hacked the nim-mode, so that it does it fact work for me. But the default nim-mode doesn't support it |
21:01:01 | FromGitter | <ephja> @jipok vscode? |
21:01:03 | * | yglukhov joined #nim |
21:01:26 | PMunch | ephja, vscode is also Electron |
21:01:30 | FromGitter | <krux02> but I am not switching to anything else at the moment |
21:01:31 | FromGitter | <mratsim> I just need the rainbow for indent and a trailing space highlighter to write Nim |
21:01:57 | PMunch | mratsim, the rainbow? |
21:02:18 | FromGitter | <Jipok> @zacharycarter ⏎ As far as you had a *longjmp, I realized that it was coming from the source code. I was just looking where exactly it came from. ⏎ 1) https://gist.github.com/Jipok/8a18995932f627a6b7cafcbc160f4250#file-stdlib*system-c-L3052 ⏎ This was generated from: ⏎ 2) https://github.com/nim-lang/Nim/blob/f8b82869594e8009ddd7262b281eb598a2e13ab6/lib/system/excpt.nim#L260 ... |
21:02:18 | FromGitter | ... [https://gitter.im/nim-lang/Nim?at=59c81d5a614889d4753511d5] |
21:02:19 | Yardanico | Varriount: I'll try NimLime now too :) |
21:02:24 | FromGitter | <krux02> @mratsim emacs has a setting to auto delete trailing whitespace |
21:02:55 | FromGitter | <zacharycarter> @Jipok ah okay |
21:03:00 | FromGitter | <zacharycarter> thanks for that explanation |
21:03:00 | * | Snircle joined #nim |
21:03:02 | PMunch | kakoune is pretty interesting |
21:03:24 | FromGitter | <krux02> PMunch has kakoune any support for Nim? |
21:03:32 | PMunch | Don't think so, unfortunately |
21:03:39 | FromGitter | <ephja> PMunch: 路 |
21:03:49 | FromGitter | <mratsim> (https://files.gitter.im/nim-lang/Nim/hlTb/2017-09-24_23-03-18.png) |
21:03:56 | FromGitter | <mratsim> @Pmunch: rainbow |
21:03:58 | FromGitter | <krux02> well yea then don't mention it. |
21:04:02 | dataPulverizer | PMunch So I compiled with "-d:nimTypeNames" flag and used .type.name to print the type and still getting Class4 |
21:04:04 | PMunch | ephja, what kind of emoticon is that :S |
21:04:35 | PMunch | mratsim, ooh that's pretty interesting |
21:04:43 | FromGitter | <ephja> shrug |
21:04:49 | PMunch | I've only got lines like in e.g. Sublime |
21:04:56 | PMunch | ephja, aah |
21:05:24 | PMunch | krux02, I was hoping maybe someone tried it out, liked it, and made a plugin for it :) |
21:07:13 | FromGitter | <krux02> I heared about it, I like the idea, but I don't belive it can be successful |
21:07:22 | FromGitter | <Jipok> There is also an interesting editor - textadept. But nim plugin didn't works for me. ⏎ https://github.com/xomachine/textadept-nim |
21:08:23 | PMunch | krux02, yeah it's a tough crowd to attract |
21:08:35 | FromGitter | <krux02> We are still in a world where tools are heavily integrated in text editors/IDEs. As long as this integration doesn't become a lot more decoupled, new text editors will have a lot of problems |
21:08:36 | PMunch | Very workflow oriented |
21:08:42 | FromGitter | <ephja> I dunno if Electron has a negative effect on me as a user |
21:08:56 | PMunch | Well it definitely hurts your battery |
21:08:56 | dom96 | Wow, so my mistake was `face[(j+1) mod 3]` vs. `face[(j+1)] mod 3` |
21:09:18 | FromGitter | <Varriount> @Jipok What's wrong with Sublime Text's builtin suggestion? |
21:09:38 | Yardanico | is there a way in Sublime Text 3 to save file on every change with no delay? |
21:09:54 | Yardanico | So nim check would work nicely :) |
21:10:28 | FromGitter | <Jipok> @Varriount builtin suggestion? |
21:10:32 | FromGitter | <krux02> well in emacs there is a setting to save on focus loss |
21:10:42 | FromGitter | <krux02> almost as good as save at any time |
21:11:16 | FromGitter | <ephja> PMunch: are any particular features demanding? |
21:11:16 | PMunch | Huh, textadept looks interesting |
21:11:22 | FromGitter | <Varriount> Jipok: Yeah. When you type Sublime Text shows an autocompletion based on words in the current file. |
21:11:31 | FromGitter | <krux02> wait I am not sure if it's a setting, but it made it do so in my init.el, could be a hook |
21:12:04 | PMunch | ephja, not anything in particular I think. I just noticed that my battery life was much greater with Vim over Atom |
21:12:09 | FromGitter | <Jipok> @Varriount, "in the current file." - useless |
21:12:11 | PMunch | Or Sublime for that matter |
21:12:41 | FromGitter | <ephja> I thought it didn't use Atom |
21:12:53 | * | Arrrr quit (Read error: Connection reset by peer) |
21:13:27 | PMunch | ephja, VS Code and Atom uses Electron |
21:13:39 | PMunch | VS Code doesn't use Atom |
21:14:24 | Yardanico | Varriount: how to turn nimsuggest on? |
21:14:46 | FromGitter | <Varriount> Yardanico: For NimLime? |
21:14:49 | Yardanico | yeah |
21:16:02 | FromGitter | <ephja> the CPU usage is very low right now for me anyway (on Windows) |
21:16:05 | FromGitter | <Varriount> Yardanico: Just be aware that it's likely not going to work. |
21:16:15 | Yardanico | well I want to try anyway |
21:16:23 | FromGitter | <Varriount> @Jipok There's an extension that makes it work over the set of opened files too. |
21:17:19 | FromGitter | <Jipok> @Varriount, I need to know what arguments pass the function. To do this either need to "Goto Definition" or "Quick info" (as in vscode) |
21:17:56 | FromGitter | <Varriount> @Yardanico You'll need to add/modify the "imsuggest.executable" setting to point to your nimsuggest binary. |
21:18:01 | FromGitter | <Varriount> *nimsuggest |
21:18:39 | FromGitter | <Jipok> @Varriount: Do you propose to keep all imported modules open? |
21:18:42 | FromGitter | <Varriount> The thing is, I developed the NimLime code to work with a custom version of nimsuggest, as the standard version didn't support a performant model |
21:18:52 | FromGitter | <Jipok> +1 |
21:19:35 | FromGitter | <Jipok> nimsuggest eats a lot of memory. |
21:19:46 | FromGitter | <Varriount> Look, if anyone wants to develop Nimsuggest support for Nimlime, I'm more than willing to give advice and accept pull requests. I just don't have the time to develop anything. |
21:20:03 | FromGitter | <zacharycarter> grrrr emscripten is driving me nuts now all of a sudden I'm getting errors like this again - |
21:20:13 | FromGitter | <zacharycarter> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c8218dbac826f054f4c568] |
21:20:21 | FromGitter | <zacharycarter> wtffffffff |
21:21:15 | * | Yardanico_ joined #nim |
21:21:57 | FromGitter | <ephja> @Jipok https://gist.github.com/ephja/70375009b9b6de00e3e115e3d7682ec2 |
21:22:22 | FromGitter | <Jipok> @Varriount ⏎ There are no ideas how to fix NimLine? Goto definition is very important. |
21:23:02 | Yardanico_ | ephja: you can just find where this leaks are located :) |
21:23:04 | * | yglukhov quit (Remote host closed the connection) |
21:23:42 | FromGitter | <ephja> oh ok |
21:23:44 | * | Yardanico quit (Ping timeout: 240 seconds) |
21:23:50 | FromGitter | <zacharycarter> okay weird - apparently -d:useRealtimeGC causes that error |
21:23:53 | * | ipjk joined #nim |
21:24:10 | FromGitter | <Jipok> @ephja Do not you think this approach is wrong? |
21:24:16 | FromGitter | <Varriount> Jipok: I have ideas, just not *time* |
21:25:15 | * | yglukhov joined #nim |
21:25:44 | FromGitter | <Jipok> @Varriount Why you need "Setup nimsuggest" command? |
21:26:07 | FromGitter | <Varriount> Because the code was meant to handle a custom version of Nimsuggest. |
21:26:19 | FromGitter | <Jipok> By the way, it does not work for me |
21:26:25 | FromGitter | <Varriount> Yes, I know! |
21:26:33 | FromGitter | <Varriount> None of it works! |
21:26:41 | FromGitter | <ephja> @Jipok lol. I dunno how to fix it, so this is the next best approach I suppose |
21:26:54 | FromGitter | <ephja> :D |
21:27:47 | FromGitter | <Varriount> The standard version of Nimsuggest has a badly designed "one command per connection" model where you have to initiate a new TCP connection for every new query you want to pass to Nimsuggest. |
21:27:57 | FromGitter | <ephja> I ain't a core dev btw ;) |
21:28:15 | FromGitter | <Varriount> And the standard input mode is meant for interactive input, as it presents things like prompts |
21:28:55 | FromGitter | <Varriount> I *had* a custom version of Nimsuggest that added on new features, but it hasn't been maintained, because I haven't had the time nor inclination to maintain it! |
21:29:09 | Yardanico_ | maybe you should've made a PR ? :) |
21:29:21 | * | yglukhov quit (Ping timeout: 240 seconds) |
21:29:33 | FromGitter | <Jipok> Perhaps it's worth using something like this instead of nimsuggest? ⏎ https://bitbucket.org/nimcontrib/ntags/src/a1c62c38e539877c105fbe4e08d06b76232f8017/ntags.nim?at=master&fileviewer=file-view-default |
21:30:06 | PMunch | Yeah I've added some stuff to the Vim plugin which I should probably PR as well.. |
21:30:57 | FromGitter | <Varriount> Yardanico_: I did make a PR. It was never accepted. |
21:31:00 | Yardanico_ | oh |
21:32:28 | * | yglukhov joined #nim |
21:33:57 | * | onionhammer1 joined #nim |
21:34:35 | * | Sentreen quit (Ping timeout: 240 seconds) |
21:35:25 | FromGitter | <Jipok> what disadvantages does ntags have in front of nimsuggest? |
21:35:41 | * | onionhammer quit (Ping timeout: 240 seconds) |
21:35:46 | Yardanico_ | I think many |
21:36:09 | * | PMunch quit (Quit: leaving) |
21:36:36 | Yardanico_ | Ctags is a programming tool that generates an index (or tag) file of names found in source and header files of various programming languages. |
21:36:40 | Yardanico_ | so it's just an index |
21:36:58 | FromGitter | <Jipok> for use in a text editor? To add support for Goto definition? |
21:37:10 | Yardanico_ | https://en.wikipedia.org/wiki/Ctags |
21:40:27 | FromGitter | <Jipok> Да знаю про ctags. Я имел в виду использовать часть кода, ответствуенную за парсинг. Держать результат в памяти, а не сохранять в файл. Там достаточно информации для реализации Goto Definition. При этом памяти оно жрать должно не так много. ⏎ К |
21:40:27 | FromGitter | ... тому же можно будет подготовить такие фаилы для все стандартной библиотеки, чтобы не обрабатывать его при каждом запуске. |
21:41:19 | dom96 | Offtopic: You guys have any good headphone recommendations? |
21:41:38 | FromGitter | <Varriount> I just go to the store and buy the cheapest pair they have. |
21:42:15 | FromGitter | <krux02> well I spend 50€ on a Sennheiser Headphone |
21:42:24 | FromGitter | <krux02> not sure if they are the best |
21:42:54 | FromGitter | <krux02> because I am not an expert, they just work and I don't feel like I got the cheapest ones |
21:42:55 | dom96 | I've done that too. But now I want my ears not to hurt after 10 minutes of wearing the head phones. |
21:43:05 | * | Jesin joined #nim |
21:43:24 | FromGitter | <krux02> after wearing them the entire day, my earst do hurt |
21:44:30 | FromGitter | <Jipok> I bought headphones for $ 10 at the station. Surprisingly excellent work for 1.5 years. |
21:46:40 | FromGitter | <Varriount> dom96: If they are in-ear headphones, you could try using a smaller earbud size. |
21:46:50 | dom96 | They're not. |
21:47:07 | dom96 | But they are pretty crappy and cheap. |
21:47:55 | dom96 | I've had another pair before which was Sennheiser and my hair kept tangling into the place where the headphones can be extended. |
21:47:58 | * | Sentreen joined #nim |
21:49:50 | FromGitter | <Varriount> Ouch |
21:50:09 | ipjk | I recommend audio-technicas headphones |
21:53:14 | * | solitudesf quit (Ping timeout: 240 seconds) |
22:00:14 | * | dataPulverizer quit (Ping timeout: 260 seconds) |
22:04:49 | * | endragor_ quit (Remote host closed the connection) |
22:05:25 | * | endragor joined #nim |
22:06:53 | * | libman quit (Quit: Connection closed for inactivity) |
22:09:48 | * | endragor quit (Ping timeout: 240 seconds) |
22:12:02 | * | voiceftp left #nim ("Leaving") |
22:12:27 | * | voiceftp joined #nim |
22:15:10 | * | claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com) |
22:17:36 | * | yglukhov quit (Remote host closed the connection) |
22:18:02 | subsetpark | V-modas have done me quite well for about three years |
22:18:42 | * | libman joined #nim |
22:20:06 | FromGitter | <krux02> https://media.githubusercontent.com/media/krux02/opengl-sandbox/master/examples/screenshots/octree_anim.gif |
22:21:37 | Yardanico_ | woah |
22:22:11 | dom96 | #woahdude |
22:22:12 | FromGitter | <krux02> it looks so much nicer, when it is animated |
22:22:42 | FromGitter | <krux02> it is perfectly looping :P |
22:23:15 | FromGitter | <krux02> it's an octree that is rebuilt per frame |
22:24:19 | FromGitter | <krux02> the yellow lines are the visualized resuld of a neighborhood query |
22:25:49 | * | relax joined #nim |
22:27:47 | FromGitter | <zacharycarter> trippy |
22:33:53 | FromGitter | <krux02> yea visualizing data can be pretty trippy, but I think most engines have something like this implemented and hidden |
22:34:26 | FromGitter | <krux02> so nothing special here, but still it's nice to see something to work |
22:37:49 | * | nsf quit (Quit: WeeChat 1.9) |
22:39:08 | FromGitter | <zacharycarter> grrr can't get my animations working in webgl |
22:41:56 | adeohluwa | Yardanico: I use sublime text 3 |
22:42:12 | adeohluwa | what I do is I set it to save on focus change |
22:42:56 | * | Yardanico_ quit (Remote host closed the connection) |
22:42:59 | adeohluwa | the autosave asap plugin misbehaves so it doesn't work on just current file it works on all open files |
22:46:42 | FromGitter | <mratsim> I suddenly get “over or underflow” on devel: on “*=“ operation: https://travis-ci.org/mratsim/Arraymancer/jobs/279320401 |
22:47:05 | FromGitter | <mratsim> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59c835e9bac826f054f50cca] |
22:47:38 | * | Yardanico joined #nim |
22:47:55 | FromGitter | <mratsim> The same build on stable has no issue. |
22:49:25 | * | def-pri-pub joined #nim |
22:49:45 | * | enthus1ast- joined #nim |
22:51:00 | FromGitter | <mratsim> I checked previous commits, it started to fail on devel less than 2 hours ago |
22:52:00 | * | Yardanico quit (Remote host closed the connection) |
22:52:55 | FromGitter | <mratsim> and now last commit is working fine on both stable and level, what the hell >_> |
23:03:28 | * | Nobabs27 joined #nim |
23:11:17 | FromGitter | <Varriount> @mratsim Undefined behavior maybe? What changed in the breaking and fixing commits? |
23:20:00 | Calinou | dom96: I have the Sennheiser Game Zero |
23:20:15 | Calinou | not cheap, it's a mostly-closed headset (analog). It's targeted at gaming but is pretty good for most things |
23:20:25 | Calinou | (you want to use an equalizer to increase the amount of basses, though. Else, it's quite bad) |
23:20:34 | Calinou | (on Windows, Equalizer APO does this well, on Linux, use PulseAudio with a LADSPA plugin) |
23:20:57 | Calinou | the microphone works well for me on Linux, but on Windows it's impossible to use because it's always too quiet (I don't know why) |
23:21:05 | Calinou | (maybe it's an issue on my side) |
23:21:21 | Calinou | it's pretty comfortable to wear, unlike the previous one I had (Steelseries Siberia V2) |
23:27:05 | * | def-pri-pub quit (Quit: Leaving.) |
23:29:10 | FromGitter | <mratsim> @Varriount, nothing, there was no commit on nim devel for the past 8 hours |
23:31:39 | FromGitter | <mratsim> ah, I have an idea. it’s the newSeqOfCap that don’t do initialisation on devel |
23:31:47 | FromGitter | <mratsim> I use them since 3 hours ago |
23:35:35 | * | arnetheduck quit (Ping timeout: 240 seconds) |
23:36:19 | * | sleepyqt quit (Quit: WeeChat 1.9) |
23:46:01 | * | Ven`` quit (Ping timeout: 240 seconds) |
23:53:35 | FromGitter | <ephja> almost done with the lzma bindings |
23:53:40 | * | enthus1ast- quit (Read error: No route to host) |
23:54:44 | FromGitter | <ephja> if only c2nim had considered the comment below a symbol to belong to it though :p |
23:56:22 | FromGitter | <ephja> that should be fixed eventually, and then all we need is a doxygen syntax parser |
23:59:38 | * | arnetheduck joined #nim |