<< 12-03-2019 >>

00:00:08FromGitter<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:37FromGitter<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:34FromGitter<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:33FromGitter<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:46FromGitter<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:49FromGitter<iffy> Thank you for making Nim!
00:31:53*abm quit (Ping timeout: 246 seconds)
00:49:55FromDiscord<demotomohiro> I have a procedure that return bit reverse. Do you think bit reverse should be in bitops module?
00:52:10FromDiscord<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:13FromDiscord<treeform> Hey guys thoughts on my orbital mechanics library for nim?
01:39:14FromDiscord<treeform> https://github.com/treeform/orbits
01:39:46FromDiscord<treeform> Never wander where Starman is again!
01:39:47FromDiscord<treeform> https://raw.githubusercontent.com/treeform/orbits/master/tests/starman.png
01:40:15FromDiscord<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:05FromGitter<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:55FromGitter<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:00leorizeputao88: 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:41leorizeactually maybe that wouldn't work :P
09:17:06FromGitter<putao88> I will try
09:17:11leorizeso a quick lookup results in this https://stackoverflow.com/questions/35125933/mysql-utf8mb4-errors-when-saving-emojis
09:17:27leorizeyou'd need to execute this query beforehand I believe `SET NAMES utf8mb4`
09:17:33leorizein Nim
09:19:29FromGitter<putao88> in NIM?
09:20:06FromGitter<putao88> I've run this command in the system, but I haven't written it in nim
09:20:46leorizegive 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:23FromGitter<putao88> Commands out of sync; you can't run this command now
09:41:55FromGitter<putao88> This error will be reported
10:00:14PMunchOh shit putao88, you've been reported!
10:01:27PMunchHave you seen this: mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4
10:02:04PMunchI would say it's probably that one part of the system defaults to utf8mb4, while the programatic interface doesn't
10:02:07ZevvIs 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:15ZevvI can't get the syntax right
10:02:39PMunchExample?
10:03:44Zevvgood idea. one sec
10:08:10*dddddd joined #nim
10:11:19Zevvhttp://paste.debian.net/plain/1072803
10:11:24ZevvNote the difference in readability
10:12:10ZevvThe latter is not allowed, though: Error: identifier expected, but got '('
10:19:01PMunchZevv, that's probably because there's nothing there that makes the template understand that the proc is meant to be a lambda
10:19:56PMunchThis works: http://ix.io/1DhW/Nim
10:20:10Zevvsweet
10:20:39PMunchBecause 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:51Zevvyes, and x will not get injected, so all is well
10:22:09PMunchYup
10:23:56Zevvwell araq, next step is ready: https://github.com/zevv/npeg
10:24:10Zevvmaybe not what *you* asked for, but I'm quite happy with where this is going
10:24:12livcdin the past there was a chart on karax repo claiming karax was "faster". I just noticed it got removed at some point
10:24:23livcddid it become slower or nobody had the time to run the benchmarks so it was irrelevant ?
10:24:28livcdmaybe i already asked this question :D
10:25:00ZevvYou 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:21Zevvcurly braces make for nice sets, ranges and counts
10:26:04Zevvand the VM is gone, of course, stuff is now compiled as it should
10:28:44PMunchOoh, that looks nice Zevv
10:29:15ZevvI never learned to love any of the parsers in Nim
10:29:48Zevvso time to read up on some papers and put something together myself.
10:29:57ZevvIt ended up as a mixup between Ragel and LPeg
10:30:36PMunchYeah I did the same thing a while back :P
10:30:47ZevvWell, where is it?
10:30:51PMunchcombparser
10:30:59PMunchhttps://github.com/PMunch/combparser
10:31:39Zevvsweet
10:32:08PMunchI use it to parse the protobuf format in protobuf-nim: github.com/PMunch/protobuf-nim/blob/master/src/protobuf/private/parse.nim
10:32:12Zevvdoes it handle recursive grammars?
10:32:57PMunchYes
10:33:09PMunchIt doesn't do any fancy compile-time rewriting though
10:33:22PMunchSo it's fairly easy to blow you stack..
10:33:40Zevvmine only a bit, but I have some nice optimizations in queue
10:34:00PMunchWell it does some compile-time rewriting, but not much of it will lead to performance increases :P
10:34:05Zevvhehe.
10:35:02ZevvWell, 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:12Zevvthat will get tricky, I guess
10:36:14PMunchHmm, just realised I never pushed my string optimisation stuff
10:36:31PMunchRight now it will make ridiculous amounts of string copies
10:36:44Zevvat compile time, who cares
10:36:52PMunchAt runtime..
10:36:55Zevvoooww
10:37:10PMunchWell, for protobuf it is actually compile-time
10:37:23PMunchBut we're talking multiple seconds of delay when parsing a complex protobuf file..
10:37:39PMunchI made a string slice type that shared the underlying memory and only stored indexes, it was much faster
10:37:50PMunchBut I don't remember if it worked on compile-time or not
10:37:56PMunchMaybe that's why I didn't push it..
10:38:29Zevvyeah, there's a lot to optimize there for me still, true. I now do s[x..y] == m and stuff like that
10:38:32Zevvthat needs some love
10:39:29PMunchI 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:35PMunchWhich is not great..
10:39:53PMunchBut now it's time for lunch
10:39:54PMunchbbl
10:40:12Araqthe stdlib has a couple of parsers all with good error handling and performance
10:41:02*JustASlacker joined #nim
10:42:56Zevvyeah but mine is waaaay nicer
10:43:00Zevvbecause it's mine
10:43:34Zevv"this is my parser - there are many like it, but this one is mine"
10:44:37Araqsure, as long as it eventually looks like my code, it's fine
10:45:00Zevvnot 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:21FromGitter<mratsim> NIH says hi ;)
11:27:03*sealmove joined #nim
11:33:15PMunchAraq, IIRC the reason I started combparser was because none of the stdlib parsers were useable at compile-time at the time
11:33:30PMunchOr at least none that would also structure the parsed result
11:33:59*cgfuh joined #nim
11:35:31*kapil____ joined #nim
11:44:17PMunchHmm, 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:07PMunchhttps://nim-lang.org/docs/nimc.html#cross-compilation-for-windows <- doing that just outputs a regular ELF file..
11:51:35PMunchThis 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:22shashlickIs it broken?
11:52:43PMunchOh wait, my bad
11:52:51PMunchI had tested something on 0.17.0
11:53:08PMunch`choosenim stable` and now everything works as expected
11:53:51shashlickWhew
11:55:14shashlickWhat installers are you working on
12:05:33PMunchWork stuff
12:06:04PMunchI've got one that works, made with Inno Setup
12:06:22PMunchBut 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:59PMunchHmm, 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:08PMunchI 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:43shashlickCheck out nimdeps if you are making an installer with Nim
12:17:12PMunchSolved it temporarily by doing http://ix.io/1Diz/Nim
12:18:10PMunchOooh nice, nimdeps will certainly be helpful
12:18:35PMunchNo packing though..
12:18:43PMunchI was hoping to have it zipped up
12:20:51shashlickThat could be added
12:21:11shashlickMain 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:21PMunchWell not really
12:27:31PMunchThe installer wouldn't need to read DLLs
12:28:35PMunchBasically 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:38PMunchOr something like that
12:44:26*brakmic_ quit (Ping timeout: 246 seconds)
12:44:30shashlickSounds good then nimdeps will work
12:44:49shashlickI can add zlib support if you want
12:45:14*brakmic joined #nim
12:45:33shashlickI'm already using it in feud to carry all the plugin dlls for now
12:45:53shashlickBut 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:56FromGitter<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:59ZevvYou should ask Araq
13:17:33*brakmic_ quit (Ping timeout: 245 seconds)
13:18:04FromGitter<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:03Araqdon't ask me about plugin systems. for NimEdit I used Nim's VM to run arbitrary NimScript code at runtime
13:33:29Araqfor testament I used 'include' :P
13:34:35FromGitter<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:35shashlickalehander42 check out the one I built for feud
13:34:52shashlickYou should be able to just reuse plugin.nim
13:35:20Araqcustom procs are no problem, it's covered by the VM's API
13:35:21FromGitter<alehander42> Yeah I can include .. I wonder if I can include a string path passed when compil
13:35:33Araqtcompilerapi has an example of how to do it
13:35:39*brakmic joined #nim
13:36:03shashlickFeud plugins are full dlls and get recompiled if they change
13:36:36shashlickI even use C libs in them
13:37:41shashlickThe system even unloads and reloads them on change
13:38:08shashlickPoor man's hot code reloading
13:38:21Araqwe have HCR in devel
13:39:01*brakmic__ quit (Ping timeout: 255 seconds)
13:39:16shashlickAlso you can have plugin specific data that goes away on unload or in the global space so data persists thru reloads
13:39:48shashlickYa I've not checked it out yet, will need docs to help me relate
13:39:56Araqit has docs
13:40:15Araqand yes, it doesn't nuke your global state, that's the point of HCR
13:42:05shashlickOk will check out
13:43:13shashlickBut ya plugins have made editor dev super fun
13:43:27shashlickNim rocks
13:48:46sealmoveis it possible to make nimscript module work in nim secret?
13:49:18sealmovecould make an awesome shell if that were possible
13:49:27*brakmic quit (Remote host closed the connection)
13:49:28Araqdoesn't sound hard
13:50:19*brakmic joined #nim
13:50:47*lritter joined #nim
13:51:00sealmovemodule is imported but the procs (chdir, getenv etc) do nothing
13:53:10Araquse compiler/scriptconfig.nim setupVM to setup a VM that supports NimScript
13:53:34sealmovethanks
13:53:37Araqread 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:16sealmoveit 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:31shashlick@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:11catgirlis there a way to statically generate code from string?
14:50:50catgirleg i'm passing type to template and need to generate code calling function named "new" + *name of this type*
14:50:54Araqmacros.parseStmt/Expr
14:51:55catgirltysm
15:06:15*banc quit (Ping timeout: 244 seconds)
15:14:42catgirlis it possible to just replace some text in code with some other text?
15:15:00Araqyes but it's a bad idea.
15:15:22Araqusually you must ensure not to replace text in string literals, etc. Use the AST instead
15:15:24*banc joined #nim
15:15:44catgirli 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:51FromGitter<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:12ZevvI 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:38FromGitter<Varriount> Zevv:
15:54:59FromGitter<Varriount> Compile the compiler in debug mode, then hit Ctrl+c
15:55:23*krux89 joined #nim
15:55:28FromGitter<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:55Zevvhmmm its gcc of course, that was actually obvious
15:59:58*Trustable joined #nim
16:00:59Zevvtemplate explosion :)
16:01:04Zevvwell thank you
16:05:47shashlick@gogolxdong - I fixed LRESULT, will investigate non-English
16:06:01shashlickgitPull also probably fails for non-English
16:06:19shashlickdoubt 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:05FromGitter<Varriount> Zevv: You can use that technique to find (roughly) where a slow program is spending most of its time.
16:39:34FromGitter<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:48FromGitter<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:00FromGitter<iffy> and the runtime?
16:52:44FromGitter<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:22FromGitter<Varriount> @iffy You still need to initialize modules and globals
16:59:09Araqthere will be a runtime but it's simpler. I'm in the final stages of implementing the prototype.
16:59:42FromGitter<iffy> ok
17:00:09FromGitter<iffy> that's pretty exciting
17:01:45leorizewill there be a way to prevent NimMain collisions between static libs?
17:04:15*flaviu quit (Ping timeout: 252 seconds)
17:04:45Araqleorize: 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:34Araqesp 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:21FromGitter<mratsim> nicer DLLs in Nim =)
17:29:33*flaviu quit (Ping timeout: 252 seconds)
17:29:57*flaviu joined #nim
17:44:55FromGitter<cabhishek> https://developers.google.com/season-of-docs/
17:45:18FromGitter<cabhishek> Not sure if Nim can participate :)
17:46:36sealmovehow to convert identifier to string (get its name)?
17:48:59FromGitter<bdhb> @sealmove how does identifier look like?
17:49:32sealmovecan be arbitary
17:49:52FromGitter<bdhb> Is this a macro or a template?
17:50:15FromGitter<bdhb> Try astToStr
17:51:17sealmovedamn, I was trying to remember this proc, thanks
17:51:57FromGitter<bdhb> Glad to help :)
17:53:31FromGitter<bdhb> Is there anything else I need to do for this PR? https://github.com/nim-lang/Nim/pull/10789
17:53:37sealmovehmm, i have to import ast.nim?
17:54:59FromGitter<bdhb> @sealmove shouldn't have to. Should be part of system.nim
17:58:38sealmoveworks great :)
17:58:42sealmovewith 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:35shashlickis 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:06FromGitter<alehander42> Hn I didn't blinow of this option
18:16:18*flaviu quit (Ping timeout: 252 seconds)
18:21:24shashlickfirst functional binary for feud - https://github.com/genotrance/feud/releases
18:24:14Araqhuh this is very interesting
18:24:34Araqwasn't aware you're this far in its development
18:26:56FromGitter<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:43shashlickAraq: now that the base system is done, it is just adding editor features
18:29:30shashlickof 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:36Araqiffy: it's usually ok to ignore the 'const', C's motto is "compile code at all costs"
18:30:01FromGitter<iffy> It's throwing an error, though
18:30:03*jjido joined #nim
18:30:22FromGitter<iffy> I guess it's actually C++, also
18:30:27*ikan-keli_ joined #nim
18:31:34FromGitter<iffy> https://pastebin.com/wrEswGvH
18:34:12Araqliftdestructors.nim(332, 7) Error: not all cases are covered; missing: {tyNone, tyBool, ...} I love this new error message
18:36:01FromGitter<iffy> Araq: So is there no way to mark a function parameter as const, then?
18:36:34FromGitter<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:32FromGitter<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:30FromGitter<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:25FromGitter<liquid600pgm> @Varriount I know, I was just asking if it would be shadowed by system.new
19:51:56FromGitter<liquid600pgm> I wanted to call it `new`, because the proc is invoked on a `RodClass`, and constructs a `RodObj`
19:52:46FromGitter<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:49FromGitter<liquid600pgm> got simple flow control working in rod: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8812c1e527821f0a499411]
20:13:08FromGitter<danielecook> I'm loving nim for its potential to whip up quick command line utilities...anyone else playing around in this space?
20:15:33FromGitter<iffy> @danielecook yes, I've used it for a few little command line tools
20:15:51FromGitter<danielecook> argparse is a pretty good lib.
20:16:17FromGitter<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:28FromGitter<danielecook> csv kit possibly?
20:16:31FromGitter<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:40Araqiffy: there is a way, read about .importcpp's Patterns
20:37:57*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
20:49:00FromGitter<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:25Araq.importcpp: "#.foo(#, (const T**) #)" is the basic, a bit hacky idea
20:59:37FromGitter<iffy> oh, and then Nim would know to make my T* into a const T*?
20:59:43FromGitter<iffy> bah, markdown
21:01:34FromGitter<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:09FromGitter<iffy> Araq: that worked! Oh, and I think I see what that works. It's a string substitution thing, right?
21:10:32FromGitter<iffy> i.e. the patterns let you choose what strings are emitted when calling that function
21:10:47FromGitter<iffy> thank you!
21:12:51Araqglad it worked, you're welcome
21:15:16FromGitter<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:41Araq@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:38Araqunit testing is best done with 'when isMainModule: doAssert' IMO, but many people prefer to use unittest.nim instead
21:23:05Araqin 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:24FromGitter<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:43shashlickReally need a way to debug Nim dlls using gdb
22:32:07Araqcompile the DLLs with --debugger:native
22:32:13Araqdoesn'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:53FromDiscord<sealmove> What is ROD?
23:21:51FromGitter<arnetheduck> `--debuginfo` usually works for me
23:26:01FromGitter<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:08FromGitter<gogolxdong> Does it jump to definition?
23:31:01FromGitter<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)