<< 01-05-2019 >>

00:05:37*cyberjpn joined #nim
00:30:05*mosORadi quit (Quit: Connection closed for inactivity)
00:30:52*vlad1777d quit (Ping timeout: 245 seconds)
00:52:57*theelous3_ quit (Ping timeout: 245 seconds)
01:02:12*xet7 quit (Remote host closed the connection)
01:08:07*cyberjpn quit (Quit: WeeChat 2.4)
01:08:57*cyberjpn joined #nim
01:11:19*rayman22201 joined #nim
01:22:31*rnrwashere quit (Ping timeout: 276 seconds)
01:24:24*JappleAck quit (Remote host closed the connection)
01:27:18*rnrwashere joined #nim
01:31:17*JappleAck joined #nim
02:00:17*banc quit (Quit: Bye)
02:21:54*banc joined #nim
02:47:38*leorize quit (Remote host closed the connection)
02:48:17*leorize joined #nim
03:27:21*JappleAck left #nim (#nim)
03:29:19*JappleAck joined #nim
03:31:56*rayman22201 quit (Quit: Connection closed for inactivity)
03:35:18*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
03:38:22*cyberjpn quit (Ping timeout: 258 seconds)
03:41:54FromGitter<kaushalmodi> Araq: does this make any sense? ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5cc915821cd0b8307da09a14]
03:42:51FromGitter<kaushalmodi> this is in continuation of my debug of why that `boolToBit` returned random uint8 values (`Bit` is type alias of `byte` aka `uint8`)
03:53:36FromGitter<jrfondren> whatever the test, you're setting result to one of two values and you were getting others.
03:53:45FromGitter<jrfondren> what was the codegen for the buggy code?
03:54:36FromGitter<jrfondren> find ~/.cache/nim -name the_filename_of_the_nim_module.c
03:55:21FromGitter<jrfondren> I think it has to be a codegen bug that result was left undefined.
04:01:10FromGitter<kaushalmodi> this seems to be the generated cpp of the buggy code: http://ix.io/1HIe (when using `if inp == true:`)
04:02:25FromGitter<kaushalmodi> and here's the working code: http://ix.io/1HIf (when using `if $inp == "true":`)
04:03:42FromGitter<jrfondren> and from the buggy version you get invalid result values?
04:04:16FromGitter<kaushalmodi> yes
04:04:46FromGitter<jrfondren> do you see that when you add an echo to these functions as well?
04:06:35FromGitter<kaushalmodi> yes .. with: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5cc91b4b8446a6023ea630a7]
04:06:47FromGitter<kaushalmodi> I get: http://ix.io/1HIg/text
04:06:58FromGitter<jrfondren> what's the codegen for that?
04:07:24FromGitter<kaushalmodi> http://ix.io/1HIh
04:08:22FromGitter<kaushalmodi> note that this is using `nim cpp` (cannot use `nim c` on this project)
04:08:36*lestus joined #nim
04:08:37FromGitter<jrfondren> :/
04:09:14FromGitter<jrfondren> do you get the bug if you compile without -d:release ?
04:09:39FromGitter<jrfondren> although I don't think that could actually matter in this case.
04:10:41FromGitter<kaushalmodi> wow, no!
04:10:50FromGitter<kaushalmodi> bug goes away without -d:release
04:11:40FromGitter<jrfondren> you don't get a new error? the bug just goes away?
04:12:12FromGitter<jrfondren> it could be that there's an exception, but you're catching it
04:12:41FromGitter<kaushalmodi> there isn't any error to begin with
04:12:47FromGitter<kaushalmodi> I get functionally wrong values
04:13:05FromGitter<jrfondren> in this case it'd be an error elsewhere in your code.
04:13:12FromGitter<kaushalmodi> here's the code gen with `if inp == true` and without release: http://ix.io/1HIk
04:13:24FromGitter<kaushalmodi> yeah, random crashes
04:13:50FromGitter<kaushalmodi> because that value which must be only 0 or 1 crosses over to the other language compiler where it pukes
04:14:05FromGitter<kaushalmodi> .. if that value is not actually 0 or 1
04:14:09FromGitter<jrfondren> suppose for example you're writing to some wildly-off index of an array, and normally catch and discard the write as an IndexError, but in -d:release that write's allowed to happen, and it's randomly breaking this code.
04:15:25FromGitter<kaushalmodi> I am working with a c++ code base that returns a nested struct with may be 200 total elements in total and about 20 of those are bools
04:16:04FromGitter<kaushalmodi> I am converting those bools to Nim bytes and passing that struct along to SystemVerilog where those bytes (uint8) are mapped to bits (which can be 0 or 1)
04:16:51FromGitter<jrfondren> how about -d:release --boundChecks:on ?
04:17:14FromGitter<kaushalmodi> I am not dealing with arrays here, but will try that switch
04:18:06lestusjust came on to express my thank you to all the contributors and creators of nim, you've done wonderful work, nim is a dream come true for me
04:18:39FromGitter<kaushalmodi> @jrfondren nope, same error (different rand values) with that switch
04:18:42FromGitter<kaushalmodi> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5cc91e223d78aa6c03c47566]
04:22:31FromGitter<jrfondren> aye so it's not the IndexError story. there are other checks though. if you still get the error with -d:release --checks:on --assertions:on , then it's probably more of a "there's undefined behavior somewhere and therefore the C compiler feels that it has license to apply nonsensical optimizations to it like removing critical parts of control flow"
04:23:10FromGitter<jrfondren> in the latter case, you might find that you don't get the bug with a different compiler.
04:23:20*nsf joined #nim
04:24:33FromGitter<jrfondren> ah, or by changing --opt
04:26:57FromGitter<kaushalmodi> yep! `-d:release --opt:none` results in bugfree behavior
04:27:10FromGitter<kaushalmodi> the other switches you suggested earlier made no difference
04:29:28FromGitter<jrfondren> OK, that still makes it a codegen bug. But I don't see a problem in the code seen so far.
04:32:08FromGitter<kaushalmodi> yeah, the code seems straightforward even to me non-C/C++ coder
04:33:41*druonysus quit (Ping timeout: 252 seconds)
04:34:21FromGitter<jrfondren> you might try -d:release --opt:none -t:"-O2"
04:34:36FromGitter<jrfondren> Nim does -O3 on --opt:speed
04:35:58FromGitter<kaushalmodi> -O2 spoiled it again
04:36:19FromGitter<kaushalmodi> both --opt:speed and --opt:size don't work either
04:36:25FromGitter<jrfondren> yikes.
04:36:36FromGitter<kaushalmodi> I mean, what kind of optimization is this?
04:36:58FromGitter<kaushalmodi> If I code to set a var to 0 or 1, why would any other rand value make sense to the compiler?
04:37:55FromGitter<kaushalmodi> though, thanks for taking your time in helping me find this workaround
04:38:11FromGitter<kaushalmodi> there's this one thing to try if I see funny results like these again
04:38:19FromGitter<jrfondren> an example is `int x = 0; while (x++ > 0) { something(); }`. A C compiler can look at that, and reason: x starts as 0. x++ only increases the numbers that x could be during the loop. The test then is for something that will *always* be true. Great, I can optimize this code by removing the test and making it an infinite loop, since it's infinite anyway.
04:38:36*rnrwashere quit (Remote host closed the connection)
04:38:45FromGitter<kaushalmodi> yes, that makes sense there
04:39:18FromGitter<kaushalmodi> but here I am compiling a .so, which the compiler does not know how it's going to get used by another application
04:39:31FromGitter<jrfondren> well, I'd prefer that C compilers recognize that they're always compiling for a target architecture and that none of those target architectures have infinite-width integers.
04:40:19FromGitter<jrfondren> I think what must be happening in your case is some change to the control flow, so that result isn't always set, and your random values are undefined memory on the stack.
04:41:12FromGitter<jrfondren> in an early pass the C compiler might say: well there's an either/or here and both of them set result, so I can remove this earlier set of result to 0 as dead code. And then in a later pass something creates a third way through the either/or.
04:42:38FromGitter<kaushalmodi> I spent 2 nights and an entire work day to try to figure out that boolToBit bug :P
04:42:39FromGitter<jrfondren> anyway, to get the bug fixed, since you don't want to make your code public and can't cut it down while retaining the bug, maybe you can make your code privately available to one of the devs who can look into the codegen issue.
04:43:53FromGitter<jrfondren> I haven't been doing Nim for very long, but already I've got "try it without -d:release" and "use nim check" as important troubleshooting steps :)
04:44:09FromGitter<kaushalmodi> yep, thank you!
04:45:42FromGitter<kaushalmodi> I think that I'll need to go through NDA, etc. to share the full code, which will also pull in a lot of proprietary C++ code
04:46:07FromGitter<kaushalmodi> .. which would be necessary to compile this whole Nim project
04:46:59*sentreen quit (Read error: Connection reset by peer)
04:47:08FromGitter<kaushalmodi> great! just when I was about to declare the day successful: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5cc924cc4b4cb471d9888fde]
04:47:21FromGitter<kaushalmodi> 32-bit worked, 64-bit crashed :P
04:49:53*sentreen joined #nim
04:52:22*rayman22201 joined #nim
04:54:31*rnrwashere joined #nim
05:35:18*lestus quit (Quit: leaving)
05:46:31*rnrwashere quit (Remote host closed the connection)
05:50:31*absolutejam3 joined #nim
06:07:13*narimiran joined #nim
06:18:10*solitudesf- joined #nim
06:33:12*solitudesf- quit (Quit: Leaving)
06:33:45*solitudesf joined #nim
06:36:03Araqkaushalmodi: run your code through 'valgrind'
06:38:19*rokups joined #nim
06:50:37*absolutejam3 quit (Ping timeout: 246 seconds)
07:00:00*gmpreussner quit (Quit: kthxbye)
07:01:57*rayman22201 quit (Quit: Connection closed for inactivity)
07:04:37*gmpreussner joined #nim
07:17:47*narimiran quit (Ping timeout: 246 seconds)
07:34:49*vlad1777d joined #nim
07:52:00FromGitter<bluenote10> Any spontaneous ideas how to pass an ad-hoc AST involving acc-quoted ops into a compile time proc? Something like this, but that doesn't compile: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5cc9502097dcb371d84318b6]
07:56:05leorizebluenote10: use a macro?
07:58:55FromGitter<jrfondren> s/proc/macro/ and add :untyped and that works as is.
07:59:19FromGitter<jrfondren> well, it does something.
07:59:41FromGitter<jrfondren> I'm not sure what 16x '+' symbols is telling me
08:00:18FromGitter<jrfondren> ah that looks to be about the number of + candidates
08:01:54*neceve joined #nim
08:02:21FromGitter<bluenote10> I cannot use a macro, because I want to write a bunch of unit tests for some existing compile time procs. So I cannot change these compile time procs to macros -- they are used by some top level macros, but I'm trying to test them on a lower level.
08:04:05FromGitter<bluenote10> think of writing tests for ``proc parseUserAst(n: NimNode): ParsingResult``
08:04:12*solitudesf quit (Ping timeout: 245 seconds)
08:04:12FromGitter<jrfondren> ok, I believe your code fails because `+` isn't the usual stropping syntax, but is quasiquote syntax
08:04:33FromGitter<jrfondren> yeah your exact code with a + b instead works
08:05:41FromGitter<bluenote10> yes the problem only comes from the acc quoting. The problem is that the DSL I'm designing (and I want to test) relies on acc quotes, so I cannot avoid them ;)
08:15:42*stefanos82 joined #nim
08:20:37FromGitter<jrfondren> quote says it takes a second argument that changes the quoting but I'm not sure how that works
08:22:22FromGitter<bluenote10> yeah me neither, because if I pass in a block statement I don't think I can pass in the ``op`` as a second arg.
08:23:33FromGitter<bluenote10> Wrapping it in a macro like this (https://github.com/bluenote10/oop_utils/blob/5a680c025f9f95b57025fb301704dcc4679b07c4/tests/standard_class/parse_self_block_test.nim#L36) also doesn't work (on the bottom of the file you can see the use case)
08:23:33FromGitter<jrfondren> I feel like duplicating the magic should work but it doesn't either: ⏎ ⏎ ```proc quote2*(bl: typed, op = "!!"): NimNode {.magic: "QuoteAst", noSideEffect.}``` [https://gitter.im/nim-lang/Nim?at=5cc957852e2caa1aa6ebbbae]
08:41:41*Vladar joined #nim
08:47:15FromGitter<mratsim> @bluenote10, unfortunately changing the quotation symbol is broken as well, there is a bug (maybe mine) on that ...
08:48:28FromGitter<mratsim> ah yes it's mine: https://github.com/nim-lang/Nim/issues/7589
08:49:48FromGitter<mratsim> The discussion on the new quoting AST is here: https://github.com/nim-lang/RFCs/issues/122
08:56:04FromGitter<jrfondren> I'm not happy with how this looks but I'm happy it's possible: https://gist.github.com/jrfondren/829889fe6519118a71fb1ce76386e972 . I started out wanting "%maturity" syntax though, which failed strangely.
08:57:25*theelous3_ joined #nim
08:59:15FromGitter<bluenote10> @mratsim oh indeed that might be the same problem, thanks for the links, maybe I can find a hint for workarounds there
09:00:44FromGitter<mratsim> @jrfondren are you writing a D&D game?
09:00:51FromGitter<mratsim> no workaround :P
09:01:01FromGitter<mratsim> I wrote my code differently AFAIK
09:01:16FromGitter<jrfondren> no. I just like D&D-themed examples, rather than Foo, Bar, a, b, c.
09:02:42FromGitter<mratsim> btw are you still working on Kadro @bluenote10 ?
09:05:27*cyberjpn joined #nim
09:05:54FromGitter<jrfondren> that "accuracy", "maturity" stuff isn't D&D though. It's mod_security rules.
09:07:30*theelous3_ quit (Ping timeout: 250 seconds)
09:12:28FromGitter<bluenote10> @mratsim it's still on my todo list, but I'm waiting for write tracking to continue.
09:24:01*slugm joined #nim
10:23:00*clyybber joined #nim
10:28:32clyybberleorize: Hi, did you succeed in creating a testcase for the memory corruption with --newruntime?
10:28:41*theelous3_ joined #nim
10:29:07leorizeclyybber: the mem corruption was a known bug https://github.com/nim-lang/Nim/issues/9799
10:30:09leorizekoch was using a global string variable, and that variable got wiped out too early
10:32:06clyybberleorize: I'm facing memory corruption with --newruntime too, but I'm not using .global. anywhere in my code
10:32:21leorizeany global / top-level variable
10:32:35leorizethey are all subjected to this bug
10:32:40clyybberdamn
10:38:13leorizeclyybber: here's a sample: http://ix.io/1HJg
10:38:35leorizeofc this will still print "string" because nothing has overridden that memory area yet
10:39:11clyybberso destructors don't free immediately?
10:39:33clyybberthats why no segfault is happening right?
10:39:46leorize`free` merely mark an area as "unused", for performance reasons
10:40:13clyybberI guessed so, thats cool.
10:40:35clyybberis there any work around you know of?
10:41:55clyybberAraq: Maybe #9799 should be labeled high priority?
10:42:06leorizemove everything out of the top-level :p
10:42:19leorizenot everyday you got an excuse to make your program usable as a library :p
10:44:55clyybbershouldn't be too hard. For some reason none of my procs rely on global variables
10:46:25leorize!eval echo NimVersion
10:46:27NimBot0.19.4
10:51:51FromGitter<Clyybber> !eval #!/usr/bin/env -S nim --d:something ⏎ echo defined(something)
10:51:53NimBot<no output>
10:52:46FromGitter<Clyybber> !eval #!/usr/bin/env -S nim -d:something ⏎ echo defined(something)
10:52:47NimBot<no output>
11:01:12FromGitter<liquid600pgm> is there any way to download and unpack a tar.gz file in nimterop?
11:13:21*cybj joined #nim
11:21:03shashlickIt could be added
11:21:43shashlickThere's an extract function that does zip i think
11:22:06FromGitter<liquid600pgm> yeah, there's extractZip
11:22:25FromGitter<liquid600pgm> but idk if it works for tar.gz
11:23:33shashlickNope
11:24:27shashlickPR's welcome :)
11:24:28FromGitter<liquid600pgm> what I'd like to do is to download the freetype sources at compile time, unfortunately they're not hosted in a git repo afaik
11:24:57shashlickThere might be a mirror
11:25:37shashlickYou could always use static exec to run tar
11:25:47shashlickBut that won't be cross platform
11:26:10FromGitter<liquid600pgm> I know that, that's why I want to avoid doing this
11:26:11shashlickWindows is a pain
11:26:29FromGitter<liquid600pgm> I found this http://git.savannah.gnu.org/cgit/freetype/freetype2.git/ which seems to be the official git repo for freetype
11:28:03*ng0 joined #nim
11:30:28shashlickThere's also @dom96's untar package
11:30:48shashlick@Araq - is https://github.com/nim-lang/Nim/pull/11148 good to go?
11:38:23shashlick@dom96 - there's this https://github.com/nim-lang/nimble/pull/643
11:43:48*cyberjpn quit (Ping timeout: 244 seconds)
11:44:18*lritter joined #nim
11:49:37xaceis breaking Nimbot encouraged?
11:50:09FromGitter<liquid600pgm> please don't `staticExec("rm -rf /")`
11:50:21FromGitter<kayabaNerve> Do?
11:50:43FromGitter<kayabaNerve> :P
11:58:08FromGitter<dom96> @shashlick: looks good
11:58:13*cyberjpn joined #nim
11:59:13FromGitter<dom96> Xace: you can't break NimBot. You can break the playground though. These two are distinct :)
12:03:03xacedom96: does it have a webinterface that is open to the public?
12:03:14*uptime quit (Excess Flood)
12:03:21leorizeplay.nim-lang.org?
12:03:38xaceleorize: yeah, seems to be it :)
12:07:49FromGitter<liquid600pgm> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5cc98c15b4700e023d02c461]
12:07:55FromGitter<liquid600pgm> what does that mean?
12:08:06FromGitter<liquid600pgm> those pre-compiled headers, that is
12:10:22shashlick@dom96 ok thanks merging
12:11:10FromGitter<liquid600pgm> I'm getting the following error: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5cc98cde3b6cb0686a84752d]
12:11:26FromGitter<liquid600pgm> seems strange since I use GCC, and not Visual C++
12:11:29*uptime joined #nim
12:25:38FromGitter<liquid600pgm> shashlick: is there any way of doing something line `#inclide FT_FREETYPE_H` in nimterop?
12:25:46FromGitter<liquid600pgm> like*
12:28:17*uptime quit (Excess Flood)
12:35:26*uptime joined #nim
12:35:41*Snircle joined #nim
12:39:03shashlickcDefine maybe?
12:39:41*uptime quit (Excess Flood)
12:43:59*uptime joined #nim
12:44:20FromGitter<liquid600pgm> nope, not the thing I need
12:46:46FromGitter<liquid600pgm> I tried to import the header directly, but it raises an AssertionError (toast fails)
13:04:21FromGitter<genotrance> How do they handle that include in their make file
13:11:02FromGitter<genotrance> Looks like it is defined in http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/include/freetype/internal/internal.h
13:11:37FromGitter<genotrance> Need to make sure your include paths are set correctly and that the right #defines are set
13:11:59FromGitter<genotrance> Their configure or cmake scripts must be doing a bunch of stuff
13:21:02FromGitter<mratsim> so ugly: https://github.com/nim-lang/Nim/pull/11145 <//<
13:22:06FromGitter<jrfondren> ugliness is what he was going for
13:22:56FromGitter<mratsim> That's probably a critical hit
13:23:24FromGitter<jrfondren> oh, or rather: <Araq> it is allowed to be ugly btw
13:33:06*solitudesf joined #nim
13:37:31*solitudesf quit (Ping timeout: 258 seconds)
13:41:21*arecaceae quit (Remote host closed the connection)
13:41:41*arecaceae joined #nim
14:00:31*slugm quit (Remote host closed the connection)
14:00:46*slugm joined #nim
14:15:26federico3https://github.com/nim-lang/Nim/blob/737fff5902772485537b4ff12ec5002bd48e3d55/changelog.md was the subex module deprecated before moving it to the graveyard?
14:17:27*rnrwashere joined #nim
14:20:03*cyberjpn quit (Ping timeout: 245 seconds)
14:20:10*rnrwashere quit (Remote host closed the connection)
14:20:59*rnrwashere joined #nim
14:21:03*solitudesf joined #nim
14:28:32*rnrwashere quit (Remote host closed the connection)
14:38:00FromGitter<liquid600pgm> @genotrance afaik ther's just one include path, and that is `(freetype_root)/include`
14:49:48*Snircle quit (Ping timeout: 244 seconds)
15:00:53*rnrwashere joined #nim
15:05:08*rnrwashere quit (Remote host closed the connection)
15:07:16*rnrwashere joined #nim
15:10:15*Tyresc joined #nim
15:10:49*arecaceae quit (Remote host closed the connection)
15:11:08*arecaceae joined #nim
15:31:12shashlick@liquid600pgm - did you figure it out?
15:31:23FromGitter<liquid600pgm> nope
15:31:55shashlickokay what do you have so far? i can try
15:31:58shashlickand win/lin?
15:32:38FromGitter<liquid600pgm> linux, give me a sec to set up my coding env (fresh OS install)
15:46:03shashlick@liquid600pgm - looks like it only gets set if FT2_BUILD_LIBRARY is defined
15:46:08shashlickcDefine("FT2_BUILD_LIBRARY")
15:47:09*rnrwashere quit (Remote host closed the connection)
15:57:11FromGitter<liquid600pgm> added that, but now I get a bunch of other errors
15:57:21FromGitter<liquid600pgm> I'll trace all of those down and set the appropriate switches
15:57:33shashlickhold i'm making a wrapper
15:57:43shashlickneed to make an h file since
15:57:50shashlickhttps://www.freetype.org/freetype2/docs/tutorial/step1.html
15:58:04shashlickwe need all the macro stuff in one place
16:07:41shashlickam stuck with FT_RasterRec which is undefined
16:07:59*ryukoposting joined #nim
16:21:58shashlick@liquid600pgm: so I got everything except two enums which are too complicated
16:22:02shashlickideally you don't need them
16:22:44shashlickso create an h file with two lines - #include "ft2build.h", #include FT_FREETYPE_H
16:23:37shashlickand use this wrapper - http://ix.io/1HKQ/nim
16:24:10shashlickchange that a.h to whatever you call your h file
16:24:32shashlicknow you need to either passL or cCompile the rest of the lib in
16:25:23shashlickfreetype freetype2 nim wrapper using nimterop for all those googlers out there
16:26:38shashlickyou might want to add the gitPull and related calls above that and fix the relative paths
16:27:32FromGitter<liquid600pgm> thanks for your help!
16:29:23*xet7 joined #nim
16:29:39shashlickhere's what the output looks like though it won't compile in isolation since it needs those opaque objects - http://ix.io/1HKW/nim
16:30:22*slugm quit (Read error: Connection reset by peer)
16:30:43*slugm joined #nim
16:49:21*ryukoposting quit (Quit: Lost terminal)
16:49:27*rnrwashere joined #nim
16:56:24FromGitter<SolitudeSF> can anybody tell me why this doesnt compile (`Error: undeclared identifier: 'convert'`) and if its a know bug or i am retarded? https://gist.github.com/SolitudeSF/1ee4a11adb60e6ec32a3a885d1e281bc
16:56:56FromGitter<SolitudeSF> it compiles if i change in `test` proc `HSlice` to `HSlice[int, int]`
16:57:32shashlickexport convert?
16:57:34shashlickconvert*
16:59:27FromGitter<SolitudeSF> i dont understand why i should. if i remove implicit generic from test it compiles with convert unexported
17:02:13shashlickokay never mind, you aren't using convert outside
17:02:16clyybberlooks like a bug to me
17:03:35clyybberprobably because of the generic instantiation invoking varargs to be resolved in module b.nim instead of a.nim
17:06:38*rnrwashere quit (Remote host closed the connection)
17:12:18*rnrwashere joined #nim
17:13:08FromGitter<mratsim> HSlice is a generic, so test is a generic and all symbols in a generic proc must be available and resolved in the calling context
17:13:16FromGitter<mratsim> it might work with mixin convert
17:14:38FromGitter<mratsim> If it doesn't, I think it's different enough from my previous generics symbol resolution issue, but even if you don't create a new issue you can still add your test case to this meta discussion: https://github.com/nim-lang/Nim/issues/8677
17:19:23*jjido joined #nim
17:24:53*narimiran joined #nim
17:29:19*neceve quit (Remote host closed the connection)
17:33:23*rokups quit (Quit: Connection closed for inactivity)
17:34:49*zyklon quit (Quit: Konversation terminated!)
17:34:51*uvegbot joined #nim
17:40:28*Snircle joined #nim
17:47:23*Trustable joined #nim
17:50:12*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:51:04FromDiscord_<deeuu> theme
17:52:06*thomasross quit (Remote host closed the connection)
17:52:20*thomasross joined #nim
17:55:18FromGitter<liquid600pgm> any way I can get rid of unnecessary font format drivers from FreeType? I tried compiling only the TrueType and OpenType ones, but there were a bunch of linker errors
17:56:15FromGitter<liquid600pgm> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5cc9ddbf3d78aa6c03c9afae]
17:58:53disruptekSolitudeSF: weirdly, if you add a call to test in same file where it is defined, it will compile and run (calling test twice).
17:59:27FromGitter<genotrance> @liquid600pgm - there might be some #defines you can set/unset to limit it
18:03:58*vlad1777d quit (Ping timeout: 250 seconds)
18:05:24*vlad1777d joined #nim
18:06:32shashlickseems like you could try commenting out some modules here - http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/include/freetype/config/ftmodule.h
18:08:14FromGitter<liquid600pgm> aw crap, I suppose editing that file won't be very easy
18:08:39FromGitter<liquid600pgm> I guess I could write to it after pulling it from git
18:09:38shashlickya you can at compile time in a static block
18:09:49shashlickreadFile and writeFile should work i think
18:09:52shashlicki do that in nimterop
18:10:00FromGitter<liquid600pgm> I'm just reading the CUSTOMIZING file, and it appears I can override FT_CONFIG_MODULES_H
18:10:09shashlickhttps://github.com/nimterop/nimterop/blob/master/nimterop/setup.nim#L25
18:11:01FromGitter<liquid600pgm> yeah but I still need a custom ft2build.h
18:11:08FromGitter<liquid600pgm> I'll stay with the writeFile method
18:11:31shashlickwhat are you chanign in ft2build.h
18:11:54FromGitter<liquid600pgm> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5cc9e16a4b4cb471d98dbca8]
18:12:02shashlickyou could just add #include FT_FREETYPE_H to the bottom of that file and not need an extra a.h like i did
18:12:53shashlickya but just easier to edit the main file and reset it with gitReset() at the end
18:13:14shashlicksince it will be in your nim code
18:26:07clyybbersolitudesf: I think that wont work when you call it with a differently typed HSlice
18:27:18FromGitter<liquid600pgm> I still get the same linker errors, not sure what I'm doing wrong https://github.com/liquid600pgm/rapid/blob/master/src/rapid/lib/freetype.nim
18:31:05shashlickam trying locally
18:31:24shashlickyou could throw out freetype_import.h and add that one line to ft2build.h like i mentioned
18:32:10shashlicki could nim c freetype.nim and it compiled fine
18:32:19shashlickof course, nothing is being used so how did you test this
18:32:33FromGitter<liquid600pgm> just nim c freetype.nim
18:32:50shashlickcompiled fine for me on ubuntu
18:32:52FromGitter<liquid600pgm> I also tried cDisableCaching but no luck
18:33:11FromGitter<liquid600pgm> I also removed the freetype_src directory, no luck
18:37:06*Trustable quit (Remote host closed the connection)
18:38:55shashlickyep, tried FT_Init_FreeType() and it worked - returned 0
18:39:08FromGitter<liquid600pgm> huh, strange
18:39:26shashlicktrying the tutorial - https://www.freetype.org/freetype2/docs/tutorial/step1.html
18:41:57shashlickopened a ttf face also
18:42:21shashlickprobably remove nimcache
18:45:04FromGitter<liquid600pgm> that fixed the issue, thank you
18:45:15shashlickawesome work!
18:45:32FromGitter<liquid600pgm> I wouldn't succeed without you :) thanks a lot
18:45:33shashlickany general feedback using nimterop? what more can be done to make it better
18:46:02FromGitter<liquid600pgm> it's already a very nice library, it makes wrapping libraries a piece of cake
18:46:36FromGitter<liquid600pgm> haven't used it enough to notice anything that could be improved, but I guess that will change as time goes and I wrap more libs ;)
18:47:00shashlickjust tried freetype.nim on windows - it just works!
18:47:18FromGitter<liquid600pgm> nice!
18:47:34FromGitter<liquid600pgm> too bad t_window.nim doesn't work :( there's some strange segfault I'm yet to debug
18:58:00*solitudesf quit (Quit: Leaving)
19:01:10*slugm quit (Remote host closed the connection)
19:01:33*slugm joined #nim
19:10:27*solitudesf joined #nim
19:15:48FromGitter<kaushalmodi> shashlick: your nimterop library, work on the static nightly builds and you are just awesome
19:17:25shashlickThanks buddy
19:19:32FromGitter<alehander42> yeah you seem to do very useful stuff <3
19:19:33FromGitter<alehander42> <3
19:29:22FromGitter<mratsim> +1
19:36:07FromGitter<zetashift> yes much appreciated! ;D
19:38:36narimiran+1
19:39:13FromGitter<liquid600pgm> +1
19:45:09*Vladar quit (Remote host closed the connection)
19:45:56shashlickoh wow thanks everyone 🙂
20:06:22*slugm quit (Ping timeout: 276 seconds)
20:10:56*jjido joined #nim
20:15:04*luis_ joined #nim
20:16:42luis_Dear all, is there any implementation for a multidimensional array on Nim? Like R's data.table?
20:20:59*nsf quit (Quit: WeeChat 2.4)
20:26:02FromDiscord_<kodkuce> soory newer used R , duno if [][] works
20:28:44*narimiran quit (Ping timeout: 244 seconds)
20:36:26*luis_ quit (Quit: luis_)
20:37:09*luis_ joined #nim
20:45:13*rnrwashere quit (Remote host closed the connection)
20:55:02*luis_ quit (Ping timeout: 245 seconds)
20:55:36FromGitter<gogolxdong> Who uses ryzen CPU, is there any issue to compile Nim on ryzen CPUs?
21:02:47FromGitter<mratsim> @luis_ multidimensional arrays and R data.table are different
21:03:16*fredrik92 joined #nim
21:03:50FromGitter<mratsim> for 2D arrays you have neo: https://github.com/unicredit/neo ⏎ for Nd arrays you have Arraymancer: https://github.com/mratsim/Arraymancer ⏎ for dataframes you have nimdata: https://github.com/bluenote10/NimData
21:03:53FromDiscord_<kodkuce> i have 2400g
21:04:29FromDiscord_<kodkuce> gogolxdong tought i dient try to compile anything soon but 3-4 months ago it owrke dnp
21:05:39*couven92 quit (Disconnected by services)
21:05:45*fredrik92 is now known as couven92
21:05:55FromGitter<mratsim> @Araq, why was nnkVarTuple needed, isn't nnkPar enough?
21:06:06*fredrik92 joined #nim
21:20:57*xet7 quit (Quit: Leaving)
21:36:18*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:39:11*Tyresc quit (Quit: WeeChat 2.5-dev)
21:39:28*rnrwashere joined #nim
21:44:31*rnrwashere quit (Ping timeout: 276 seconds)
21:48:43*clyybber quit (Quit: WeeChat 2.4)
22:08:12*rnrwashere joined #nim
22:11:10*solitudesf quit (Ping timeout: 276 seconds)
22:12:04*rnrwashe_ joined #nim
22:12:12*rnrwashe_ quit (Remote host closed the connection)
22:12:18*rnrwashe_ joined #nim
22:13:01*rnrwashere quit (Ping timeout: 268 seconds)
22:31:30*lritter quit (Quit: Leaving)
22:39:05*rnrwashe_ quit (Remote host closed the connection)
22:42:00*rnrwashere joined #nim
22:53:24FromGitter<lf-araujo> @mratsim Thank you! This is what I was looking...
22:54:35*NimBot joined #nim
22:58:55*luis_ joined #nim
23:04:02*rnrwashere quit (Remote host closed the connection)
23:06:18*rnrwashere joined #nim
23:12:22*couven92 quit (Quit: Client Disconnecting)
23:38:38*al_ joined #nim
23:41:42*rnrwashere quit (Remote host closed the connection)
23:44:37*rnrwashere joined #nim
23:46:03*luis__ joined #nim
23:46:38*luis_ quit (Ping timeout: 258 seconds)
23:47:57*jasper_ joined #nim
23:49:00*rnrwashere quit (Ping timeout: 246 seconds)
23:49:25*al_ quit (Quit: al_)
23:50:54*rnrwashere joined #nim
23:51:56*luis__ quit (Ping timeout: 250 seconds)
23:55:29*rnrwashere quit (Ping timeout: 255 seconds)
23:56:45*jasper_ quit (Ping timeout: 256 seconds)
23:59:38*rnrwashere joined #nim