00:00:08 | FromGitter | <iffy> But I can't get a c compiler to agree with how I use it |
00:02:40 | * | banc joined #nim |
00:03:27 | * | rnrwashere quit (Ping timeout: 240 seconds) |
00:04:09 | * | rnrwashere joined #nim |
00:04:37 | FromGitter | <iffy> Here's the C: https://github.com/iffy/nim-nodeaddon/blob/master/orig/js_native_api_types.h#L82 And here's my Nim: https://github.com/iffy/nim-nodeaddon/blob/master/addonlib/js_native_api_types.nim#L36 |
00:08:34 | FromGitter | <iffy> (and if you want to duplicate what I'm seeing, this might work: clone then `npm i; ./build.sh && node test.js` |
00:08:36 | * | rnrwashere quit (Remote host closed the connection) |
00:11:55 | * | rnrwashere joined #nim |
00:16:33 | FromGitter | <iffy> aha! `{.exportc, cdecl.}` on Method and `{.closure,cdecl.}` on `napi_callback* = ` |
00:19:06 | * | Jesin quit (Quit: Leaving) |
00:23:01 | * | Jesin joined #nim |
00:24:46 | FromGitter | <iffy> Eureka! A NodeJS native addon written completely in Nim! https://github.com/iffy/nim-nodeaddon/blob/master/myaddon.nim No more copying JSON strings back and forth and encoding/decoding. You can create actual JavaScript objects right from Nim! |
00:24:49 | FromGitter | <iffy> Thank you for making Nim! |
00:31:53 | * | abm quit (Ping timeout: 246 seconds) |
00:49:55 | FromDiscord | <demotomohiro> I have a procedure that return bit reverse. Do you think bit reverse should be in bitops module? |
00:52:10 | FromDiscord | <demotomohiro> AFAIK, GLSL has bitfieldReverse builtin function. I don't know people are using it. |
01:15:04 | * | sealmove joined #nim |
01:22:15 | * | Jesin quit (Quit: Leaving) |
01:25:05 | * | Jesin joined #nim |
01:35:56 | * | kapil____ joined #nim |
01:39:13 | FromDiscord | <treeform> Hey guys thoughts on my orbital mechanics library for nim? |
01:39:14 | FromDiscord | <treeform> https://github.com/treeform/orbits |
01:39:46 | FromDiscord | <treeform> Never wander where Starman is again! |
01:39:47 | FromDiscord | <treeform> https://raw.githubusercontent.com/treeform/orbits/master/tests/starman.png |
01:40:15 | FromDiscord | <treeform> Never wonder where Starman is again! |
02:03:10 | * | noeontheend joined #nim |
02:06:35 | * | Demos[m] joined #nim |
02:06:44 | * | vlad1777d quit (Ping timeout: 246 seconds) |
02:11:12 | * | cgfuh quit (Quit: WeeChat 2.3) |
02:19:03 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
02:21:40 | * | rnrwashere quit (Remote host closed the connection) |
02:27:07 | * | oculux quit (Ping timeout: 240 seconds) |
02:30:12 | * | rnrwashere joined #nim |
02:32:21 | * | oculux joined #nim |
02:46:15 | * | noeontheend quit (Ping timeout: 252 seconds) |
03:00:53 | * | noeontheend joined #nim |
03:02:40 | * | banc quit (Quit: Bye) |
03:05:18 | * | dddddd quit (Remote host closed the connection) |
03:09:26 | * | chimez joined #nim |
03:27:07 | * | rockcavera quit (Remote host closed the connection) |
03:27:31 | * | banc joined #nim |
03:31:05 | * | rockcavera joined #nim |
03:31:34 | * | uptime quit (Ping timeout: 258 seconds) |
03:32:27 | * | sealmove quit (Ping timeout: 252 seconds) |
03:32:55 | * | rockcavera quit (Remote host closed the connection) |
03:34:50 | * | rockcavera joined #nim |
03:51:46 | * | rnrwashere quit (Remote host closed the connection) |
03:51:47 | * | uptime joined #nim |
03:52:36 | * | rnrwashere joined #nim |
03:54:50 | * | rnrwashere quit (Remote host closed the connection) |
03:55:06 | * | rnrwashere joined #nim |
03:56:26 | * | rnrwashere quit (Remote host closed the connection) |
04:11:39 | * | nsf joined #nim |
04:24:13 | * | rockcavera quit (Killed (orwell.freenode.net (Nickname regained by services))) |
04:26:55 | * | rnrwashere joined #nim |
04:28:33 | * | noeontheend quit (Ping timeout: 252 seconds) |
04:28:33 | * | chemist69 quit (Ping timeout: 252 seconds) |
04:30:42 | * | chemist69 joined #nim |
04:31:18 | * | rnrwashere quit (Ping timeout: 252 seconds) |
05:43:21 | * | flaviu quit (Ping timeout: 252 seconds) |
05:43:47 | * | flaviu joined #nim |
05:51:36 | * | narimiran joined #nim |
06:09:55 | * | mwbrown quit (Ping timeout: 255 seconds) |
06:12:22 | * | mwbrown joined #nim |
06:13:19 | * | chimez quit (Remote host closed the connection) |
06:13:39 | * | chimez joined #nim |
06:14:00 | * | chimez quit (Client Quit) |
06:32:18 | * | disruptek quit (Ping timeout: 252 seconds) |
06:44:53 | * | kapil____ quit (Quit: Connection closed for inactivity) |
06:46:48 | * | disruptek joined #nim |
06:51:25 | * | disruptek quit (Ping timeout: 252 seconds) |
06:59:57 | * | disruptek joined #nim |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:04:36 | * | gmpreussner joined #nim |
07:05:24 | * | krux02 joined #nim |
07:09:22 | * | neceve joined #nim |
07:26:07 | * | PMunch joined #nim |
07:32:03 | * | vlad1777d joined #nim |
07:36:18 | * | ftsf_ quit (Quit: Leaving) |
07:41:26 | * | jjido_ joined #nim |
07:41:46 | * | brakmic joined #nim |
07:41:57 | * | rockcavera joined #nim |
07:46:02 | * | jjido_ quit (Client Quit) |
07:52:36 | * | flaviu quit (Ping timeout: 252 seconds) |
07:53:00 | * | flaviu joined #nim |
07:53:40 | * | brakmic quit (Remote host closed the connection) |
07:58:06 | * | flaviu quit (Ping timeout: 252 seconds) |
07:58:29 | * | neceve quit (Ping timeout: 246 seconds) |
07:58:33 | * | flaviu joined #nim |
07:59:02 | * | neceve joined #nim |
08:01:35 | * | jjido joined #nim |
08:04:42 | * | flaviu quit (Ping timeout: 252 seconds) |
08:04:53 | * | jjido quit (Client Quit) |
08:05:42 | * | flaviu joined #nim |
08:05:49 | * | brakmic joined #nim |
08:13:30 | * | flaviu quit (Ping timeout: 252 seconds) |
08:13:58 | * | flaviu joined #nim |
08:18:27 | * | flaviu quit (Ping timeout: 252 seconds) |
08:18:55 | * | flaviu joined #nim |
08:28:21 | * | flaviu quit (Ping timeout: 252 seconds) |
08:28:48 | * | flaviu joined #nim |
09:03:43 | * | floppydh joined #nim |
09:07:05 | FromGitter | <putao88> unhandled exception: Incorrect string value: '\xF0\x9F\x8F\x80' for column 'nickname' at row 1 [DbError] , requires utf8mb4, we have changed server and client to utf8mb4_bin, is there something still missing? ⏎ nickname has a emoji which causes this problem. |
09:08:55 | FromGitter | <putao88> I've successfully inserted this emoticons through the console, but an error is reported when I add it through the nim code |
09:14:00 | leorize | putao88: try running this query `SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';` from Nim |
09:15:26 | * | abm joined #nim |
09:16:41 | leorize | actually maybe that wouldn't work :P |
09:17:06 | FromGitter | <putao88> I will try |
09:17:11 | leorize | so a quick lookup results in this https://stackoverflow.com/questions/35125933/mysql-utf8mb4-errors-when-saving-emojis |
09:17:27 | leorize | you'd need to execute this query beforehand I believe `SET NAMES utf8mb4` |
09:17:33 | leorize | in Nim |
09:19:29 | FromGitter | <putao88> in NIM? |
09:20:06 | FromGitter | <putao88> I've run this command in the system, but I haven't written it in nim |
09:20:46 | leorize | give it a try then |
09:31:03 | * | flaviu quit (Ping timeout: 252 seconds) |
09:31:31 | * | flaviu joined #nim |
09:35:19 | * | stefanos82 joined #nim |
09:41:23 | FromGitter | <putao88> Commands out of sync; you can't run this command now |
09:41:55 | FromGitter | <putao88> This error will be reported |
10:00:14 | PMunch | Oh shit putao88, you've been reported! |
10:01:27 | PMunch | Have you seen this: mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4 |
10:02:04 | PMunch | I would say it's probably that one part of the system defaults to utf8mb4, while the programatic interface doesn't |
10:02:07 | Zevv | Is there a way to have a template return a lambda for use with getAst in a macro? Now I define the lambda body in a macro, but the lambda definition I need to make in messy nnkStuff.newtree |
10:02:15 | Zevv | I can't get the syntax right |
10:02:39 | PMunch | Example? |
10:03:44 | Zevv | good idea. one sec |
10:08:10 | * | dddddd joined #nim |
10:11:19 | Zevv | http://paste.debian.net/plain/1072803 |
10:11:24 | Zevv | Note the difference in readability |
10:12:10 | Zevv | The latter is not allowed, though: Error: identifier expected, but got '(' |
10:19:01 | PMunch | Zevv, that's probably because there's nothing there that makes the template understand that the proc is meant to be a lambda |
10:19:56 | PMunch | This works: http://ix.io/1DhW/Nim |
10:20:10 | Zevv | sweet |
10:20:39 | PMunch | Because of the "let x =" Nim is able to parse it as a lambda, and then it returns it so the caller can pick it up and assign it to something useful :) |
10:21:51 | Zevv | yes, and x will not get injected, so all is well |
10:22:09 | PMunch | Yup |
10:23:56 | Zevv | well araq, next step is ready: https://github.com/zevv/npeg |
10:24:10 | Zevv | maybe not what *you* asked for, but I'm quite happy with where this is going |
10:24:12 | livcd | in the past there was a chart on karax repo claiming karax was "faster". I just noticed it got removed at some point |
10:24:23 | livcd | did it become slower or nobody had the time to run the benchmarks so it was irrelevant ? |
10:24:28 | livcd | maybe i already asked this question :D |
10:25:00 | Zevv | You convinced my about the PEG syntax, so that's a nice macro now with a nice way of expressing. Unfortunately no postfixes because that is not nim-parsable, so prefixes instead |
10:25:21 | Zevv | curly braces make for nice sets, ranges and counts |
10:26:04 | Zevv | and the VM is gone, of course, stuff is now compiled as it should |
10:28:44 | PMunch | Ooh, that looks nice Zevv |
10:29:15 | Zevv | I never learned to love any of the parsers in Nim |
10:29:48 | Zevv | so time to read up on some papers and put something together myself. |
10:29:57 | Zevv | It ended up as a mixup between Ragel and LPeg |
10:30:36 | PMunch | Yeah I did the same thing a while back :P |
10:30:47 | Zevv | Well, where is it? |
10:30:51 | PMunch | combparser |
10:30:59 | PMunch | https://github.com/PMunch/combparser |
10:31:39 | Zevv | sweet |
10:32:08 | PMunch | I use it to parse the protobuf format in protobuf-nim: github.com/PMunch/protobuf-nim/blob/master/src/protobuf/private/parse.nim |
10:32:12 | Zevv | does it handle recursive grammars? |
10:32:57 | PMunch | Yes |
10:33:09 | PMunch | It doesn't do any fancy compile-time rewriting though |
10:33:22 | PMunch | So it's fairly easy to blow you stack.. |
10:33:40 | Zevv | mine only a bit, but I have some nice optimizations in queue |
10:34:00 | PMunch | Well it does some compile-time rewriting, but not much of it will lead to performance increases :P |
10:34:05 | Zevv | hehe. |
10:35:02 | Zevv | Well, this was a steep learning curve for me. Now it can parse it is time to see if I can add captures, and preferrably with a way to provide mechanisms to have it generate AST while it goes |
10:35:12 | Zevv | that will get tricky, I guess |
10:36:14 | PMunch | Hmm, just realised I never pushed my string optimisation stuff |
10:36:31 | PMunch | Right now it will make ridiculous amounts of string copies |
10:36:44 | Zevv | at compile time, who cares |
10:36:52 | PMunch | At runtime.. |
10:36:55 | Zevv | oooww |
10:37:10 | PMunch | Well, for protobuf it is actually compile-time |
10:37:23 | PMunch | But we're talking multiple seconds of delay when parsing a complex protobuf file.. |
10:37:39 | PMunch | I made a string slice type that shared the underlying memory and only stored indexes, it was much faster |
10:37:50 | PMunch | But I don't remember if it worked on compile-time or not |
10:37:56 | PMunch | Maybe that's why I didn't push it.. |
10:38:29 | Zevv | yeah, there's a lot to optimize there for me still, true. I now do s[x..y] == m and stuff like that |
10:38:32 | Zevv | that needs some love |
10:39:29 | PMunch | I tried to give error messages that were actually helpful (instead of just "couldn't parse file"), so every step will store the current string slice being parsed :P |
10:39:35 | PMunch | Which is not great.. |
10:39:53 | PMunch | But now it's time for lunch |
10:39:54 | PMunch | bbl |
10:40:12 | Araq | the stdlib has a couple of parsers all with good error handling and performance |
10:41:02 | * | JustASlacker joined #nim |
10:42:56 | Zevv | yeah but mine is waaaay nicer |
10:43:00 | Zevv | because it's mine |
10:43:34 | Zevv | "this is my parser - there are many like it, but this one is mine" |
10:44:37 | Araq | sure, as long as it eventually looks like my code, it's fine |
10:45:00 | Zevv | not a chance |
10:45:13 | * | matthias__ joined #nim |
10:53:50 | * | matthias__ quit (Read error: Connection reset by peer) |
10:54:36 | * | matthias__ joined #nim |
11:22:21 | FromGitter | <mratsim> NIH says hi ;) |
11:27:03 | * | sealmove joined #nim |
11:33:15 | PMunch | Araq, IIRC the reason I started combparser was because none of the stdlib parsers were useable at compile-time at the time |
11:33:30 | PMunch | Or at least none that would also structure the parsed result |
11:33:59 | * | cgfuh joined #nim |
11:35:31 | * | kapil____ joined #nim |
11:44:17 | PMunch | Hmm, having to create these installers I really think Nim would be a nice fit for making them. A macro that does the most common tasks, but which allows you to unleash the full power of Nim for custom tasks. |
11:50:07 | PMunch | https://nim-lang.org/docs/nimc.html#cross-compilation-for-windows <- doing that just outputs a regular ELF file.. |
11:51:35 | PMunch | This seems to work nim c --cpu:amd64 --os:windows --gcc.exe:x86_64-w64-mingw32-gcc --gcc.linkerexe:x86_64-w64-mingw32-gcc test |
11:52:22 | shashlick | Is it broken? |
11:52:43 | PMunch | Oh wait, my bad |
11:52:51 | PMunch | I had tested something on 0.17.0 |
11:53:08 | PMunch | `choosenim stable` and now everything works as expected |
11:53:51 | shashlick | Whew |
11:55:14 | shashlick | What installers are you working on |
12:05:33 | PMunch | Work stuff |
12:06:04 | PMunch | I've got one that works, made with Inno Setup |
12:06:22 | PMunch | But that uses PascalScript to create custom things, and it's not great.. |
12:08:05 | * | brakmic_ joined #nim |
12:08:13 | * | brakmic quit (Ping timeout: 252 seconds) |
12:08:30 | * | matthias__ quit (Quit: matthias__) |
12:09:59 | PMunch | Hmm, I'm trying to cross-compile wnim and I'm running into some issues with paths.. It has this: `const winimPrivateDir = parentDir(currentSourcePath()) & r"\..\lib\"` |
12:11:08 | PMunch | I switched it over to use ospaths and / instead of the hard-coded \. But that still uses \ (which makes sense, since it's targeting Windows) but I need it to produce / |
12:13:43 | shashlick | Check out nimdeps if you are making an installer with Nim |
12:17:12 | PMunch | Solved it temporarily by doing http://ix.io/1Diz/Nim |
12:18:10 | PMunch | Oooh nice, nimdeps will certainly be helpful |
12:18:35 | PMunch | No packing though.. |
12:18:43 | PMunch | I was hoping to have it zipped up |
12:20:51 | shashlick | That could be added |
12:21:11 | shashlick | Main problem is dlls which are linked against |
12:21:45 | * | Snircle joined #nim |
12:24:38 | * | Senketsu quit (Read error: Connection reset by peer) |
12:24:53 | * | Senketsu joined #nim |
12:27:21 | PMunch | Well not really |
12:27:31 | PMunch | The installer wouldn't need to read DLLs |
12:28:35 | PMunch | Basically all it would do is extract payload to temp directory -> ask questions -> modify stuff based on questions -> copy files to their actual location -> add registry keys -> run commands |
12:28:38 | PMunch | Or something like that |
12:44:26 | * | brakmic_ quit (Ping timeout: 246 seconds) |
12:44:30 | shashlick | Sounds good then nimdeps will work |
12:44:49 | shashlick | I can add zlib support if you want |
12:45:14 | * | brakmic joined #nim |
12:45:33 | shashlick | I'm already using it in feud to carry all the plugin dlls for now |
12:45:53 | shashlick | But if course the exe itself won't get compressed any |
12:48:49 | * | brakmic_ joined #nim |
12:50:07 | * | waleee joined #nim |
12:50:23 | * | brakmic quit (Ping timeout: 246 seconds) |
13:02:24 | * | brakmic joined #nim |
13:04:23 | * | neceve quit (Ping timeout: 246 seconds) |
13:04:44 | * | neceve joined #nim |
13:06:12 | * | brakmic_ quit (Ping timeout: 250 seconds) |
13:11:56 | FromGitter | <alehander42> What's the common way to impl a very simple plugin system in Nim |
13:12:09 | * | brakmic_ joined #nim |
13:14:32 | * | brakmic__ joined #nim |
13:15:35 | * | brakmic quit (Ping timeout: 246 seconds) |
13:16:59 | Zevv | You should ask Araq |
13:17:33 | * | brakmic_ quit (Ping timeout: 245 seconds) |
13:18:04 | FromGitter | <alehander42> I planned to just recompile my source with a custom imported module containing the custom code |
13:30:54 | * | ftsf quit (Ping timeout: 250 seconds) |
13:32:03 | Araq | don't ask me about plugin systems. for NimEdit I used Nim's VM to run arbitrary NimScript code at runtime |
13:33:29 | Araq | for testament I used 'include' :P |
13:34:35 | FromGitter | <alehander42> I thought about nimvm but this seems more complicated to me I need to be able to define custom procs being called by my normal code |
13:34:35 | shashlick | alehander42 check out the one I built for feud |
13:34:52 | shashlick | You should be able to just reuse plugin.nim |
13:35:20 | Araq | custom procs are no problem, it's covered by the VM's API |
13:35:21 | FromGitter | <alehander42> Yeah I can include .. I wonder if I can include a string path passed when compil |
13:35:33 | Araq | tcompilerapi has an example of how to do it |
13:35:39 | * | brakmic joined #nim |
13:36:03 | shashlick | Feud plugins are full dlls and get recompiled if they change |
13:36:36 | shashlick | I even use C libs in them |
13:37:41 | shashlick | The system even unloads and reloads them on change |
13:38:08 | shashlick | Poor man's hot code reloading |
13:38:21 | Araq | we have HCR in devel |
13:39:01 | * | brakmic__ quit (Ping timeout: 255 seconds) |
13:39:16 | shashlick | Also you can have plugin specific data that goes away on unload or in the global space so data persists thru reloads |
13:39:48 | shashlick | Ya I've not checked it out yet, will need docs to help me relate |
13:39:56 | Araq | it has docs |
13:40:15 | Araq | and yes, it doesn't nuke your global state, that's the point of HCR |
13:42:05 | shashlick | Ok will check out |
13:43:13 | shashlick | But ya plugins have made editor dev super fun |
13:43:27 | shashlick | Nim rocks |
13:48:46 | sealmove | is it possible to make nimscript module work in nim secret? |
13:49:18 | sealmove | could make an awesome shell if that were possible |
13:49:27 | * | brakmic quit (Remote host closed the connection) |
13:49:28 | Araq | doesn't sound hard |
13:50:19 | * | brakmic joined #nim |
13:50:47 | * | lritter joined #nim |
13:51:00 | sealmove | module is imported but the procs (chdir, getenv etc) do nothing |
13:53:10 | Araq | use compiler/scriptconfig.nim setupVM to setup a VM that supports NimScript |
13:53:34 | sealmove | thanks |
13:53:37 | Araq | read scriptconfig.nim to see how it works |
13:54:47 | * | brakmic quit (Ping timeout: 246 seconds) |
13:59:36 | * | smitop joined #nim |
14:04:30 | * | literal_ joined #nim |
14:05:09 | * | regtools_ joined #nim |
14:05:19 | * | waleee1 joined #nim |
14:05:23 | * | kali___ joined #nim |
14:06:47 | * | zyklon quit (Ping timeout: 240 seconds) |
14:07:16 | sealmove | it worked!!! |
14:07:53 | * | qwertfisch_ joined #nim |
14:09:39 | * | waleee quit (*.net *.split) |
14:09:39 | * | gangstacat quit (*.net *.split) |
14:09:40 | * | kali_ quit (*.net *.split) |
14:09:46 | * | zama quit (*.net *.split) |
14:09:46 | * | regtools quit (*.net *.split) |
14:09:46 | * | joshbaptiste quit (*.net *.split) |
14:09:46 | * | Zevv quit (*.net *.split) |
14:09:46 | * | qwertfisch quit (*.net *.split) |
14:09:46 | * | literal quit (*.net *.split) |
14:11:04 | * | zama joined #nim |
14:15:20 | * | gangstacat joined #nim |
14:15:30 | * | joshbaptiste joined #nim |
14:25:07 | * | zyklon joined #nim |
14:32:33 | * | neceve quit (Ping timeout: 245 seconds) |
14:33:06 | * | neceve joined #nim |
14:44:31 | shashlick | @gogolxdong - I think we need to set https://scintilla.sourceforge.io/ScintillaDoc.html#SCI_SETCODEPAGE for feud to work on your system - i'll do some tests to see how to get it working |
14:49:35 | * | catgirl joined #nim |
14:50:11 | catgirl | is there a way to statically generate code from string? |
14:50:50 | catgirl | eg i'm passing type to template and need to generate code calling function named "new" + *name of this type* |
14:50:54 | Araq | macros.parseStmt/Expr |
14:51:55 | catgirl | tysm |
15:06:15 | * | banc quit (Ping timeout: 244 seconds) |
15:14:42 | catgirl | is it possible to just replace some text in code with some other text? |
15:15:00 | Araq | yes but it's a bad idea. |
15:15:22 | Araq | usually you must ensure not to replace text in string literals, etc. Use the AST instead |
15:15:24 | * | banc joined #nim |
15:15:44 | catgirl | i just need to replace word "ctor" with "proc new" |
15:18:31 | * | nsf quit (Quit: WeeChat 2.4) |
15:18:59 | * | JustASlacker quit (Remote host closed the connection) |
15:21:51 | FromGitter | <gogolxdong> you mean LRESULT or non-English or gitPull? |
15:25:22 | * | PMunch quit (Remote host closed the connection) |
15:31:11 | * | sz0 joined #nim |
15:31:44 | * | qwertfisch_ is now known as qwertfisch |
15:34:12 | * | lf-araujo joined #nim |
15:41:12 | * | noeontheend joined #nim |
15:42:19 | * | banc quit (Ping timeout: 255 seconds) |
15:42:55 | * | rnrwashere joined #nim |
15:43:05 | * | lf-araujo quit (Ping timeout: 252 seconds) |
15:48:28 | * | Vladar joined #nim |
15:48:58 | * | banc joined #nim |
15:51:58 | * | Zevv joined #nim |
15:52:20 | * | rnrwashere quit (Remote host closed the connection) |
15:52:27 | * | Zevv quit (Client Quit) |
15:52:36 | * | Zevv joined #nim |
15:54:12 | Zevv | I have a file (http://paste.debian.net/plain/1072844) that takes a second or two to compile in normal mode, but does not finish within minutes when using d:release. How do I debug what is causing this? |
15:54:38 | FromGitter | <Varriount> Zevv: |
15:54:59 | FromGitter | <Varriount> Compile the compiler in debug mode, then hit Ctrl+c |
15:55:23 | * | krux89 joined #nim |
15:55:28 | FromGitter | <Varriount> Or use GDB to interrupt the compiler |
15:57:32 | * | rnrwashere joined #nim |
15:57:39 | * | rnrwashere quit (Remote host closed the connection) |
15:59:37 | * | crem1 is now known as crem |
15:59:55 | Zevv | hmmm its gcc of course, that was actually obvious |
15:59:58 | * | Trustable joined #nim |
16:00:59 | Zevv | template explosion :) |
16:01:04 | Zevv | well thank you |
16:05:47 | shashlick | @gogolxdong - I fixed LRESULT, will investigate non-English |
16:06:01 | shashlick | gitPull also probably fails for non-English |
16:06:19 | shashlick | doubt it but no other ideas at this point |
16:09:09 | * | smitop quit (Quit: Connection closed for inactivity) |
16:21:17 | * | rnrwashere joined #nim |
16:25:12 | * | flaviu quit (Ping timeout: 252 seconds) |
16:25:39 | * | flaviu joined #nim |
16:27:32 | * | krux89 quit (Remote host closed the connection) |
16:30:44 | * | rnrwashere quit (Remote host closed the connection) |
16:39:05 | FromGitter | <Varriount> Zevv: You can use that technique to find (roughly) where a slow program is spending most of its time. |
16:39:34 | FromGitter | <Varriount> Chances are, if you pause a program, you will stop on a segment that takes a disproportionately long amount of time. |
16:46:59 | * | abm quit (Ping timeout: 246 seconds) |
16:51:48 | FromGitter | <iffy> When the destructor work is complete, does that mean NimMain will be gone? (I'm talking about this: https://nim-lang.org/araq/destructors.html) |
16:52:00 | FromGitter | <iffy> and the runtime? |
16:52:44 | FromGitter | <iffy> This sentence: "Memory safety is not negotiable but we should attempt to get it without a runtime that grows ever more complex." could mean that there will be no more runtime, but it could also mean there will still be a runtime, but it won't grow more complex |
16:58:22 | FromGitter | <Varriount> @iffy You still need to initialize modules and globals |
16:59:09 | Araq | there will be a runtime but it's simpler. I'm in the final stages of implementing the prototype. |
16:59:42 | FromGitter | <iffy> ok |
17:00:09 | FromGitter | <iffy> that's pretty exciting |
17:01:45 | leorize | will there be a way to prevent NimMain collisions between static libs? |
17:04:15 | * | flaviu quit (Ping timeout: 252 seconds) |
17:04:45 | Araq | leorize: PRs are welcome but it's not something we're currently working on |
17:05:16 | * | flaviu joined #nim |
17:05:30 | * | floppydh quit (Quit: WeeChat 2.4) |
17:05:34 | Araq | esp since we improved the C++ codegen and for C++ with have --cppNamespace:<namehere> to mitigate the issue |
17:15:48 | * | flaviu quit (Ping timeout: 252 seconds) |
17:16:49 | * | flaviu joined #nim |
17:27:21 | FromGitter | <mratsim> nicer DLLs in Nim =) |
17:29:33 | * | flaviu quit (Ping timeout: 252 seconds) |
17:29:57 | * | flaviu joined #nim |
17:44:55 | FromGitter | <cabhishek> https://developers.google.com/season-of-docs/ |
17:45:18 | FromGitter | <cabhishek> Not sure if Nim can participate :) |
17:46:36 | sealmove | how to convert identifier to string (get its name)? |
17:48:59 | FromGitter | <bdhb> @sealmove how does identifier look like? |
17:49:32 | sealmove | can be arbitary |
17:49:52 | FromGitter | <bdhb> Is this a macro or a template? |
17:50:15 | FromGitter | <bdhb> Try astToStr |
17:51:17 | sealmove | damn, I was trying to remember this proc, thanks |
17:51:57 | FromGitter | <bdhb> Glad to help :) |
17:53:31 | FromGitter | <bdhb> Is there anything else I need to do for this PR? https://github.com/nim-lang/Nim/pull/10789 |
17:53:37 | sealmove | hmm, i have to import ast.nim? |
17:54:59 | FromGitter | <bdhb> @sealmove shouldn't have to. Should be part of system.nim |
17:58:38 | sealmove | works great :) |
17:58:42 | sealmove | with template |
18:06:57 | * | flaviu quit (Ping timeout: 252 seconds) |
18:07:25 | * | flaviu joined #nim |
18:07:40 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
18:07:42 | * | catgirl quit (Remote host closed the connection) |
18:08:05 | * | catgirl joined #nim |
18:12:35 | shashlick | is it possible to build and load dlls without -static -lstdc++ or looking for a shared libstdc++ if the exe loading them already has it statically included |
18:14:06 | FromGitter | <alehander42> Hn I didn't blinow of this option |
18:16:18 | * | flaviu quit (Ping timeout: 252 seconds) |
18:21:24 | shashlick | first functional binary for feud - https://github.com/genotrance/feud/releases |
18:24:14 | Araq | huh this is very interesting |
18:24:34 | Araq | wasn't aware you're this far in its development |
18:26:56 | FromGitter | <iffy> A C function is expecting me to pass in `const napi_extended_error_info **` but I only have a `napi_extended_error_info **`. How do I make it `const` for C? |
18:28:03 | * | waleee1 quit (Quit: WeeChat 2.4) |
18:28:10 | * | ikan-keli_ quit (Quit: ZNC 1.8.x-git-125-e415d9f5 - https://znc.in) |
18:28:43 | shashlick | Araq: now that the base system is done, it is just adding editor features |
18:29:30 | shashlick | of course, porting to lin/osx remain but shouldn't be too hard given the GUI work is minimal and scintilla/nim are already ported |
18:29:36 | Araq | iffy: it's usually ok to ignore the 'const', C's motto is "compile code at all costs" |
18:30:01 | FromGitter | <iffy> It's throwing an error, though |
18:30:03 | * | jjido joined #nim |
18:30:22 | FromGitter | <iffy> I guess it's actually C++, also |
18:30:27 | * | ikan-keli_ joined #nim |
18:31:34 | FromGitter | <iffy> https://pastebin.com/wrEswGvH |
18:34:12 | Araq | liftdestructors.nim(332, 7) Error: not all cases are covered; missing: {tyNone, tyBool, ...} I love this new error message |
18:36:01 | FromGitter | <iffy> Araq: So is there no way to mark a function parameter as const, then? |
18:36:34 | FromGitter | <arnetheduck> high on my wishlist for error messages is the one about private fields: in 0.19 it says the field doesn't exist basically (whereas it exists, just that it's missing a `*`) |
18:41:12 | * | neceve quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
18:42:37 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
18:50:32 | FromGitter | <liquid600pgm> is `new` overridable? not that I need it, just noticed it when creating a `construct` proc. renamed it to `new` out of curiosity |
18:53:42 | * | noeontheend quit (Ping timeout: 252 seconds) |
19:04:29 | * | jjido joined #nim |
19:09:42 | * | neceve joined #nim |
19:13:30 | FromGitter | <Varriount> iqdev: Normally we use "new<typename", as in "newPubliicKey" |
19:16:03 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
19:18:45 | * | ikan-keli_ quit (Quit: ZNC 1.8.x-git-125-e415d9f5 - https://znc.in) |
19:25:11 | * | nsf joined #nim |
19:25:47 | * | jjido joined #nim |
19:26:02 | * | ikan-keli_ joined #nim |
19:31:31 | * | zyklon quit (Ping timeout: 252 seconds) |
19:33:55 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
19:35:52 | * | rnrwashere joined #nim |
19:37:34 | * | dddddd quit (Ping timeout: 246 seconds) |
19:40:01 | * | cgfuh quit (Ping timeout: 246 seconds) |
19:41:33 | * | cgfuh joined #nim |
19:43:02 | * | ikan-keli_ quit (Ping timeout: 246 seconds) |
19:43:42 | * | abm joined #nim |
19:43:50 | * | zyklon joined #nim |
19:50:35 | * | nsf quit (Quit: WeeChat 2.4) |
19:51:25 | FromGitter | <liquid600pgm> @Varriount I know, I was just asking if it would be shadowed by system.new |
19:51:56 | FromGitter | <liquid600pgm> I wanted to call it `new`, because the proc is invoked on a `RodClass`, and constructs a `RodObj` |
19:52:46 | FromGitter | <liquid600pgm> I called it `construct` instead, because better be safe than sorry (and the new name better reflects the proc's purpose) |
19:56:11 | * | Vladar quit (Remote host closed the connection) |
20:01:17 | * | ikan-keli_ joined #nim |
20:04:54 | * | dddddd joined #nim |
20:05:02 | * | sealmove quit (Quit: WeeChat 2.4) |
20:07:33 | * | literal_ is now known as literal |
20:08:51 | * | catgirl quit (Remote host closed the connection) |
20:09:20 | * | catgirl joined #nim |
20:12:06 | * | jjido joined #nim |
20:12:49 | FromGitter | <liquid600pgm> got simple flow control working in rod: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8812c1e527821f0a499411] |
20:13:08 | FromGitter | <danielecook> I'm loving nim for its potential to whip up quick command line utilities...anyone else playing around in this space? |
20:15:33 | FromGitter | <iffy> @danielecook yes, I've used it for a few little command line tools |
20:15:51 | FromGitter | <danielecook> argparse is a pretty good lib. |
20:16:17 | FromGitter | <danielecook> There are a few Python-based CLI programs I'm using that could prob. get a nice speed bump from nim and make installation / maintenance easier |
20:16:28 | FromGitter | <danielecook> csv kit possibly? |
20:16:31 | FromGitter | <iffy> that's good to hear :) |
20:20:17 | * | catgirl quit (Remote host closed the connection) |
20:20:37 | * | catgirl joined #nim |
20:25:58 | * | Snircle joined #nim |
20:28:19 | * | ng0 joined #nim |
20:35:40 | Araq | iffy: there is a way, read about .importcpp's Patterns |
20:37:57 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
20:49:00 | FromGitter | <iffy> Araq: k, I'm reading it. I think my problem isn't with the Nim version of the proc definition but rather with the argument I'm calling the proc with. I'll see if I can make a minimal example. |
20:51:10 | * | noeontheend joined #nim |
20:54:25 | Araq | .importcpp: "#.foo(#, (const T**) #)" is the basic, a bit hacky idea |
20:59:37 | FromGitter | <iffy> oh, and then Nim would know to make my T* into a const T*? |
20:59:43 | FromGitter | <iffy> bah, markdown |
21:01:34 | FromGitter | <iffy> I'll try it |
21:03:32 | * | narimiran quit (Remote host closed the connection) |
21:04:48 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
21:10:09 | FromGitter | <iffy> Araq: that worked! Oh, and I think I see what that works. It's a string substitution thing, right? |
21:10:32 | FromGitter | <iffy> i.e. the patterns let you choose what strings are emitted when calling that function |
21:10:47 | FromGitter | <iffy> thank you! |
21:12:51 | Araq | glad it worked, you're welcome |
21:15:16 | FromGitter | <danielecook> Can anyone point me in the direction of unit testing / code coverage / etc. tutorial? |
21:19:34 | * | lf-araujo joined #nim |
21:21:09 | * | lf-araujo quit (Client Quit) |
21:21:19 | * | lf-araujo joined #nim |
21:21:41 | Araq | @cooldome uses code coverage externsively but he tends to be offline and I don't recall the details |
21:22:27 | * | Trustable quit (Remote host closed the connection) |
21:22:38 | Araq | unit testing is best done with 'when isMainModule: doAssert' IMO, but many people prefer to use unittest.nim instead |
21:23:05 | Araq | in the longer run I hope to make 'testament' a standalone testing tool for Nim. |
21:25:58 | * | PMunch joined #nim |
21:26:57 | * | PMunch quit (Remote host closed the connection) |
21:27:15 | * | PMunch joined #nim |
21:33:05 | * | krux02 quit (Remote host closed the connection) |
21:37:03 | * | jjido joined #nim |
21:41:24 | * | jjido quit (Client Quit) |
21:45:52 | * | rnrwashere quit (Remote host closed the connection) |
21:57:24 | FromGitter | <zetashift> @alehander42 you there by any chance got this weird error using gara |
21:58:58 | * | stefanos82 quit (Remote host closed the connection) |
22:00:32 | * | ng0 quit (Remote host closed the connection) |
22:01:36 | * | ng0 joined #nim |
22:10:27 | * | xet7 quit (Ping timeout: 240 seconds) |
22:18:55 | * | PMunch quit (Remote host closed the connection) |
22:23:12 | * | xet7 joined #nim |
22:31:43 | shashlick | Really need a way to debug Nim dlls using gdb |
22:32:07 | Araq | compile the DLLs with --debugger:native |
22:32:13 | Araq | doesn't it work? |
22:32:27 | * | beatmox quit (Remote host closed the connection) |
22:32:58 | * | beatmox joined #nim |
22:35:25 | * | lf-araujo quit (Ping timeout: 255 seconds) |
22:37:41 | * | arecacea1 quit (Remote host closed the connection) |
22:38:19 | * | arecacea1 joined #nim |
23:00:38 | * | ftsf joined #nim |
23:03:57 | * | noeontheend quit (Ping timeout: 252 seconds) |
23:05:30 | * | noeontheend joined #nim |
23:06:54 | * | smitop joined #nim |
23:08:53 | FromDiscord | <sealmove> What is ROD? |
23:21:51 | FromGitter | <arnetheduck> `--debuginfo` usually works for me |
23:26:01 | FromGitter | <gogolxdong> @shashlick, I get it compiled, but not easy to use. How to open Nim directory recursively, say c:/Nim |
23:27:44 | * | abm quit (Ping timeout: 246 seconds) |
23:28:08 | FromGitter | <gogolxdong> Does it jump to definition? |
23:31:01 | FromGitter | <gogolxdong> open -r C:/Nim causes file plugin crash. |
23:46:25 | * | rnrwashere joined #nim |
23:50:42 | * | rnrwashere quit (Ping timeout: 252 seconds) |
23:53:48 | * | lritter quit (Ping timeout: 272 seconds) |