<< 20-10-2019 >>

00:00:01*junland quit (Quit: %ZNC Disconnected%)
00:00:46*junland joined #nim
00:10:03stefantalpalaruIt's worse than you think. All of BearSSL gets statically linked in your binary, not just the objects you actually use: https://github.com/status-im/nim-bearssl/pull/3
00:11:04stefantalpalaruIt can be up to 594 KiB of avoidable binary size.
00:11:38dom96Yeah, I noticed.
00:11:46dom96I care more about the compile-time slowdown than the binary size
00:16:09*Hideki_ joined #nim
00:21:52FromDiscord<treeform> I hate JWT so much, I mainly hate openSSL. I am thankful to yglukhov everyday for figuring it out.
00:24:32*clyybber quit (Quit: WeeChat 2.6)
00:24:36disruptektreeform: btw, how is gcplat working for you?
00:26:17FromDiscord<treeform> disruptek, sorry I got busy with work and have not tried it yet. I will try it right now.
00:26:50disruptekdon't sweat it on my account.
00:28:36FromDiscord<treeform> hmm getting `Error: cannot open file: rest`
00:28:46FromDiscord<Kiloneie> Am i crazy trying to think of a way that one can parse enumerators from strings and or integers or is the person asking me how to do it ? oO...
00:29:00FromDiscord<treeform> I think its on my end
00:29:19disruptekparseEnum or parseInt.
00:30:06disruptektreeform: maybe i got the specification of a git url wrong in the nimble file.
00:30:24*PrimHelios joined #nim
00:30:49PrimHelioswhy does the streams module have a StreamObj and a `Stream = ref StreamObj` when every proc just takes a Stream?
00:31:27PrimHeliosI've noticed that pattern a lot and I kinda just don't understand why
00:31:36disruptekit's an idiom in nim for reasons of alloc, i guess.
00:31:56disruptekeg. you want it on the stack, you use the Obj, you want it on the heap, you use the ref.
00:32:29PrimHeliosHow would you pass a StreamObj in place of a Stream, just use `addr thestream` or something?
00:33:00disrupteknah, addr produces a ptr.
00:33:49PrimHeliosThat's what I thought
00:41:20PrimHeliosSo given a variable x of type int, how do I get a ref to x?
00:42:16FromDiscord<treeform> disruptek, I got it to work. I got it to work for bigquery. Do you always have to do `response = request.retried()`?
00:42:39disrupteknah
00:43:04disruptekthe minimal example is with issueRequest iirc.
00:45:11FromDiscord<treeform> I did this call and it works: https://gist.github.com/treeform/984ceb18175d16afc7e67179cf6f6364
00:46:02FromDiscord<treeform> this does not work though... https://gist.github.com/treeform/5b23b82da87c80b4df10045787a04d54 I get `400 Bad Request`
00:47:12disruptekso, what you want to figure out is if there's a good way to divide the required variables to, eg. be able to pass path variables in the call() as arguments, or to omit all header variables as arguments. amazon's api is a good example of this.
00:47:29disrupteki can just update all the apis with whatever you decide.
00:49:10FromDiscord<treeform> This is my implantation of the same call: https://github.com/treeform/googleapi/blob/master/src/googleapi/bigquery.nim#L35
00:49:21disruptekanother change we might need to make is to deny defaults eg. the empty string for a given variable that takes a string.
00:49:49disruptektry providing maxResults, then?
00:49:58FromDiscord<treeform> Well this call takes 2 strings and returns a tables structure
00:50:40FromDiscord<treeform> still get 404 with maxResults=100
00:50:49disruptek404? not found?
00:51:28FromDiscord<treeform> oh sorry `400 Bad Request`
00:52:11disruptekecho request.url and let's see what it came up with.
00:53:34disrupteki think the issue is gonna be the defaults.
00:55:18FromDiscord<treeform> `https://bigquery.googleapis.com/bigquery/v2/projects/"test-project-1702323"/datasets/"v3"/tables`
00:55:26FromDiscord<treeform> I think its a URL building issue it puts quotes around stuff
00:55:37disruptekholy smokes, that's super broken.
00:55:53disruptekeasier to fix, though.
00:56:19FromDiscord<treeform> looking in `hydratePath(path, segments)`?
00:56:52disruptekthere's a custom one for google, called composeQueryString.
00:57:39disruptekbut, it looks right. so maybe its input is wrong. can you echo $query in there and we'll see if the json is double-quoted?
00:59:08disruptekhydratePath is the stuff that takes a simple tuple and turns it into a path; to avoid having to have regexp or npeg requirements in the api itself.
01:01:31FromDiscord<treeform> So after fixing the URL, the default params needed to be removed
01:01:43FromDiscord<treeform> I made it work
01:01:48FromDiscord<treeform> Here is a diff of my changes:
01:02:40disrupteki guess i'll look at google's api definition and see if they are providing those defaults or what.
01:02:41FromDiscord<treeform> https://gist.github.com/treeform/e5b70f6764c3909fb33c6c0bd2cbb1b7
01:03:48FromDiscord<treeform> basically url it liked was this `https://bigquery.googleapis.com/bigquery/v2/projects/test-project-1702323/datasets/v3/tables?alt=json`
01:04:04disruptekwow, hydratePath is actually broken but passes the tests. i wonder if it's a different hydratePath.
01:04:16FromDiscord<treeform> Each file has its own hydratePath
01:04:34FromDiscord<treeform> Where are googles API definitions?
01:04:37disruptekwell yeah, they all are generated.
01:04:38FromDiscord<treeform> It it like a json format?
01:04:48disruptekyeah, it's yaml that i turn into json.
01:04:54FromDiscord<treeform> link?
01:05:15disruptekit's linked off my repo from the readme.
01:05:40disruptekopenapi directory under APIs/google.com/... 180 different services.
01:07:07disruptekah, yeah it's a bug in the code that goes into the api, only. no wonder.
01:07:18FromDiscord<treeform> Sorry I am looking for the link to the google's YAML files?
01:08:07disrupteki know -- https://github.com/APIs-guru/openapi-directory/tree/master/APIs/googleapis.com
01:08:10FromDiscord<treeform> Sorry, I need to head out, some one is here. But I would like to continue this later.
01:08:44disruptekokie. this is the one for bigquery v2: https://github.com/APIs-guru/openapi-directory/blob/master/APIs/googleapis.com/bigquery/v2/swagger.yaml
01:09:04disrupteki'll fix hydratePath and push a new google so at least the quotes will be fixed.
01:09:15disrupteks/google/gcplat/
01:09:26disruptekthanks for messing with it.
01:10:25*PrimHelios quit (Quit: Leaving)
01:13:57disruptekahh, your base64 changes break jwt. 🙄
01:14:40disruptekyou can't make this stuff up...
01:18:26*Hideki_ quit (Ping timeout: 240 seconds)
01:23:26*Hideki_ joined #nim
01:36:02*ng0_ joined #nim
01:39:00*ng0 quit (Ping timeout: 260 seconds)
01:40:08*stefantalpalaru quit (Quit: stefantalpalaru)
01:44:44disruptektreeform: i guess the optional stuff seems to be in query variables and the required stuff in path variables. we could omit the query stuff from the call()s by default if that seems consistent across all the apis. alternatively, you can just compose the arguments in json objects and call() using those; that's a fallback that works for any call in any api anywhere.
01:45:40disruptekalso, this tag has a fixed hydratePath for all the apis: https://github.com/disruptek/gcplat/releases/tag/2.0.3
02:00:34*Hideki_ quit (Remote host closed the connection)
02:02:38*Hideki_ joined #nim
02:06:50*Hideki_ quit (Ping timeout: 240 seconds)
02:07:24*willyboar quit ()
02:18:36FromDiscord<Chiqqum_Ngbata> Is there anything like a spread operator? If I've got a varargs and I want to forward each element to another function as positional rather than array argument, like `...args`
02:20:38*theelous3_ joined #nim
02:21:53FromDiscord<Chiqqum_Ngbata> I think I figured out why openArray was creating extra argument to that function I was trying to bind with. It seems to implicitly pass length as the next argument along with arraylike
02:23:11*theelous3__ joined #nim
02:23:39*theelous3 quit (Ping timeout: 240 seconds)
02:24:39*theelous3 joined #nim
02:26:50*theelous3_ quit (Ping timeout: 276 seconds)
02:27:15*theelous3__ quit (Ping timeout: 240 seconds)
02:27:53*theelous3_ joined #nim
02:29:14*theelous3 quit (Ping timeout: 240 seconds)
02:30:17*theelous3 joined #nim
02:31:37*theelous3__ joined #nim
02:33:48*theelous3_ quit (Ping timeout: 268 seconds)
02:35:56*theelous3 quit (Ping timeout: 276 seconds)
02:55:48FromDiscord<Chiqqum_Ngbata> Got a reasonable solution to that, ignore
03:00:56*Hideki_ joined #nim
03:22:48*chemist69 quit (Ping timeout: 245 seconds)
03:24:46*chemist69 joined #nim
03:25:26FromDiscord<Chiqqum_Ngbata> Is there a straightforward way to disambiguate varargs[T] and openArray[T]? https://github.com/wltsmrz/nimler/commit/0d45bf168bbebf368f6c20109e2815f05b64a660#diff-cd5dfa365710249b6d40556ed4eb0247R28
03:38:51*Hideki_ quit (Remote host closed the connection)
04:21:38*theelous3__ quit (Ping timeout: 240 seconds)
04:22:21*theelous3_ joined #nim
04:40:53FromGitter<xmonader> How do you do named captures in nim? pcre module doesn't support get_named_substring?
04:43:03FromGitter<xmonader> looks like regex is what i'm supposed to use not re
04:45:59*traviss joined #nim
04:54:30FromGitter<xmonader> now building nim from github devel gives ⏎ ⏎ ```Error: cannot open '/home/xmonader/.cache/nim/koch_d/@[email protected]'``` [https://gitter.im/nim-lang/Nim?at=5dabe886dd688b6b67fefa7e]
05:20:13FromDiscord<Chiqqum_Ngbata> Did you try installing koch?
05:22:46*lbartoletti is now known as lbart
05:27:16*dddddd quit (Remote host closed the connection)
05:36:19FromGitter<xmonader> no i'm following the instructions in the github page for compiling nim
05:36:29FromGitter<xmonader> this section https://github.com/nim-lang/Nim#compiling
05:38:52Araqxmonader: but the CIs are green
05:42:10FromGitter<xmonader> not sure maybe it conflicts with something in the nimble installation i've somewhere? I just cloned and ran build_all.sh script
05:53:02Araqfull HD?
05:55:37FromGitter<xmonader> not sure what HD means but if u want to see the full log here it is https://pastebin.com/dZAdce67
05:59:03*nsf joined #nim
06:06:08Araqthe log is weird
06:06:38Araqtry bin/nim c -f koch
06:13:06*solitudesf joined #nim
06:21:31FromGitter<xmonader> same https://pastebin.com/90VyCJaa :(
07:00:00*gmpreussner quit (Quit: kthxbye)
07:01:47*solitudesf quit (Ping timeout: 276 seconds)
07:05:12*gmpreussner joined #nim
07:05:49*nsf quit (Quit: WeeChat 2.6)
07:37:10*NimBot joined #nim
07:43:04*ng0_ is now known as ng0
07:48:12*ng0_ joined #nim
07:50:56*ng0 quit (Ping timeout: 260 seconds)
07:51:00*ng0_ is now known as ng0
08:02:27*gmpreussner quit (Ping timeout: 240 seconds)
08:03:40*gmpreussner joined #nim
08:14:06*lritter joined #nim
08:32:12*Vladar joined #nim
08:44:37*theelous3_ quit (Ping timeout: 240 seconds)
08:51:38*narimiran joined #nim
09:47:27*lbartoletti joined #nim
09:47:27*lbart quit (Read error: Connection reset by peer)
09:51:39*Jesin quit (Ping timeout: 250 seconds)
10:10:42*oculuxe joined #nim
10:11:38*oculux quit (Ping timeout: 240 seconds)
10:12:14*krux02 joined #nim
10:13:18FromGitter<matrixbot> `rosma` Can anyone please compile the following statement and tell me what results they get let uinteger64_max: uint64 = 18446744073709551615 # i.e. = 2^64-1
10:14:16FromGitter<matrixbot> `rosma` I get the following Error: number out of range: '18446744073709551615'
10:16:47lqdev[m]@rosma append a `'u64` to your number literal
10:20:09*luis joined #nim
10:25:53FromGitter<matrixbot> `rosma` Thanks that seems to work ok, can you try the following me
10:26:30FromGitter<matrixbot> `rosma` let integer32_min: int32 = -2147483648'i32
10:30:00YardanicoBtw rosma, you can connect to Nim directly without Gitter, since Matrix has a native Matrix<->Freenode bridge
10:30:41Yardanicohttps://github.com/matrix-org/matrix-appservice-irc/wiki/End-user-FAQ
10:31:23Yardanicohttps://meta.wikimedia.org/wiki/Matrix.org#Connecting_to_freenode_IRC_channels has a simpler guide
10:35:59*clyybber joined #nim
10:37:13*filcuc joined #nim
10:44:39Yardanico!eval let integer32_min: int32 = -2147483648'i32
10:44:41NimBotCompile failed: /usercode/in.nim(1, 30) Error: number out of range: '2147483648'i32'
10:44:55*clyybber quit (Quit: WeeChat 2.6)
10:45:40*luis quit (Remote host closed the connection)
10:49:03FromGitter<matrixbot> `rosma` Thanks, that is the error I also get
10:50:12narimiran!eval let integer32_min = int32 -2147483648
10:50:14NimBot<no output>
10:50:22narimiranthere you go
10:50:41*filcuc quit (Ping timeout: 264 seconds)
10:50:44Yardanico!eval let myint = int32 -2147483648; echo myint
10:50:47NimBot-2147483648
10:55:33FromGitter<matrixbot> `rosma` Yes that works, but it isn't how the language manual shows the declarations
10:55:54*clyybber joined #nim
10:57:25FromGitter<matrixbot> `rosma` Also let uinteger64_max = uint64 4294967294 works correctly
10:59:45*Romanson joined #nim
11:00:08FromGitter<matrixbot> `rosma` But let uinteger64_max = uint64 18446744073709551615 fails
11:00:34FromGitter<matrixbot> `rosma` There doesn't seem to be a consistent format that works in all cases
11:02:40narimiran!eval let uinteger64_max = uint64.high; echo uinteger64_max
11:02:43NimBot18446744073709551615
11:05:20FromGitter<matrixbot> `rosma` Yes I have found that .low and .high cases work for the different signed and unsigned integer cases but not when you specify the actaul numbers
11:06:57*narimiran quit (Ping timeout: 240 seconds)
11:15:52FromGitter<matrixbot> `rosma` * Yes I have found that .low and .high cases work for the different signed and unsigned integer cases but not when you specify the actual numbers
11:16:42*clyybber quit (Quit: WeeChat 2.6)
11:20:20*rosma[m] joined #nim
11:24:17rosma[m]Thanks for all your help this morning
11:48:26*rosma[m] left #nim ("User left")
11:50:10*rosma[m] joined #nim
11:50:39*rosma[m] left #nim ("User left")
11:52:43FromDiscord<Rika> TIL that's what the [m] means
11:55:37*nsf joined #nim
12:00:08*PrimHelios joined #nim
12:00:16PrimHeliosis there any way to do something like this in nim? https://stackoverflow.com/questions/3753642/how-can-i-dynamically-access-a-field-of-a-field-of-a-structure-in-matlab#3753768
12:00:36*NimBot joined #nim
12:01:38PrimHeliosor something like python's getattr()
12:03:50YardanicoPrimHelios: well, you can do it with macros or at runtime with something like fieldPairs, but why though? maybe it would be better to use tables then
12:04:45PrimHeliosi think tables would be better, but i also think that would be a lot of overhead to the end user, unless i could figure out an easy-to-use macro to convert objects to tables
12:04:58Yardanicowhat's the usecase for that by the way? just curious
12:06:03PrimHeliostrying to write a jinja2 clone in nim that does things in runtime. i'd have to convert from "someobject.field" to something that actually accesses that field of the object
12:06:04FromGitter<Vindaar> note that `fieldPairs` also happens at compile time, since the loop is unrolled
12:06:07Yardanicoyou can also use json instead of object/tables, but that will of course be slower than just using objects :)
12:07:03YardanicoPrimHelios: what about things like if field == "test": object.test
12:07:13Yardanico(I think that can be simplified using a macro/template as well)
12:07:27PrimHeliosit has to support arbitrary objects and fields
12:08:30PrimHeliosbasically this, but at runtime: https://github.com/onionhammer/nim-templates
12:11:42*tklohna_ joined #nim
12:12:42PrimHeliosi think json is the only thing i'll be able to work with, and even that's gonna have a lot of overhead
12:17:32ZevvHave there been any improvements recently for the mutual-dependent-import problem with Nim?
12:18:09ZevvI still run into this every now and then. But I do not want to push stuff into a single source file, its logically really separate components
12:36:10*daddoo joined #nim
12:40:08FromDiscord<exelotl> I used to find it troublesome but then I discovered you can just move the 'import foo' further down in the module bar so that it occurs after all the types/procs/variables of bar that foo uses
12:40:37FromDiscord<exelotl> Seems to solve all my problems so far. Just mutually dependent types could still be an issue
12:41:00*theelous3__ joined #nim
12:47:03*chemist69 quit (Quit: WeeChat 2.3)
12:47:34*msmorgan quit (Quit: Connection closed for inactivity)
12:49:26ZevvI already put almost all my types in one module
12:49:41*nif quit (Quit: ...)
12:49:51*nif joined #nim
12:50:54*Willyboar joined #nim
12:51:49jkenZevv, I've been hitting that too, likely my own bad habits from JS modules.
12:52:03*Willyboar quit (Client Quit)
12:52:14jkenMy solution to circular imports between 2 files has been to have 3 files
12:53:03*nif quit (Client Quit)
12:53:13*nif joined #nim
12:59:12FromDiscord<treeform> Primhelios, I recommend fieldPairs for your use case. They are really easy to use.
13:01:24FromDiscord<treeform> Also, I would look at what https://github.com/enthus1ast/nimWebTemplates/blob/master/readme.md does.
13:02:59FromDiscord<treeform> I much prefer templates like this: https://github.com/pragmagic/karax/blob/master/readme.rst#server-side-html-rendering
13:04:01FromDiscord<treeform> Jinja ok for dynamic languages, but it's nice to have static typing in your templates and use real programming language.
13:07:20*go|dfish joined #nim
13:09:18*narimiran joined #nim
13:11:23*nif quit (Quit: ...)
13:11:32*nif joined #nim
13:16:59*alexander92 quit (Ping timeout: 268 seconds)
13:24:24PrimHeliosdynamic languages are real languages. my templates are simple, i prefer them to be dynamic lol
13:28:56*traviss quit (Quit: Leaving)
13:36:39*nsf quit (Quit: WeeChat 2.6)
13:37:44FromDiscord<treeform> I mean the Jinja {%language%} is not real.
13:38:13Yardanicodom96: can you activate my new account on the forum - Yardanico ? I got the confirmation mail, but it said that the link expired
13:38:49Yardanico(I registered around 7 days ago and got the mail almost immediately, but it already didn't work)
13:43:23*dddddd joined #nim
13:44:19*luis joined #nim
13:51:15*filcuc joined #nim
13:51:29*filcuc quit (Client Quit)
13:51:49*filcuc joined #nim
13:54:05*PrimHelios quit (Quit: Leaving)
13:54:16*filcuc quit (Client Quit)
13:54:43*filcuc joined #nim
13:54:51FromGitter<xmonader> @Aray sorry, so late. Yes I can compile hello world with bin/nim
13:55:09dom96Yardanico, activated
13:55:13Yardanicothanks :)
13:57:01filcucis there a way to specify the nimble build directory for temporary files and output files without messing with the .nimble file?
13:57:37filcuci'm asking for understanding if a custom out directory makes sense for my QtCreator Nim plugin
14:09:13FromGitter<mratsim> export NIMBLE_DIR=
14:09:30FromGitter<mratsim> And for out you can use - - outdir
14:13:44onionhammer@PrimHelios why? So you dont have to recompile? you may be able to make nim-templates run at runtime
14:14:31*alexander92 joined #nim
14:14:32*chemist69 joined #nim
14:16:44lqdev[m]hey @shashlick, I think I found something that may resolve that caching problem
14:16:46lqdev[m]in nimterop
14:16:48lqdev[m]`defined(nimcheck)`
14:17:34lqdev[m]from here: https://github.com/nim-lang/Nim/blob/devel/compiler/main.nim#L55
14:19:35*nixfreak_ quit (Read error: Connection reset by peer)
14:19:50filcucmratsim: outdir works only with c, cc commands?
14:20:34filcucbtw what's the purpose on nim-gdb?
14:21:03FromGitter<auxym> Good morning. I was reading this thread from last year: https://forum.nim-lang.org/t/4293 Is there an RFC or issue tracking the proposal of adding support for cyclic imports?
14:21:15*tklohna_ quit (Ping timeout: 240 seconds)
14:24:34*luis quit (Quit: luis)
14:25:38*luis joined #nim
14:29:43filcucis there a way to dump the nim library path, given nimble or nim? the idea is to exclude standard library nim files while debugging
14:37:12filcucsolved "nim dump"
14:40:11FromGitter<mratsim> @filcuc I think nim-gdb is deprecated, I always use debugger:native
14:41:07FromGitter<mratsim> @auxym probably something that contains "forward declaration(s)" in it
14:47:37FromGitter<Willyboar> @treeform do you know if nimWebTemplates supports control flow?
14:48:41FromGitter<Willyboar> @treeform never mind i just read it doesn't support.
14:57:46*nsf joined #nim
15:10:28FromGitter<Willyboar> It would be nice if nim have embedded html files in std lib like erb etc
15:10:49FromGitter<Willyboar> i just opened an issue at the needed-libraries
15:11:35disrupteki made a pr for literate mode but it's stalled because there's no defined interface for adding source code filter extensions.
15:13:15disruptekthus, no source code filter extensions may be created. 😝
15:14:42disruptekafter three months, no one that matters has an opinion they can be bothered to share on how an interface might actually work.
15:18:08filcucis there a more convenient way to debug nim code
15:18:11disruptektreeform: i kinda hate this solution, but what if we just ignore named arguments in call() that happen to match the defaults for those types? so "" == default(string) and thus we do not compose the request with it.
15:18:19filcuci ask at those of you that debug the compiler
15:18:22filcucthrough GDB
15:18:54filcuceven with "skip" directives it seems that gdb fail to stay in user nim files
15:19:02filcuci see jumping around the standard library
15:20:11shashlick@lqdev - so if nimcheck do some caching of my own?
15:20:50lqdev[m]probably, yes
15:20:58lqdev[m]should improve performance a lot
15:21:09shashlickWill look into it
15:21:20shashlickCan you please create an issue to track
15:22:11shashlick@Araq Nim check doesn't create anything in nimcache including gorgeEx caching - WAD right?
15:22:44disruptekshashlick: true.
15:24:57*Hideki_ joined #nim
15:25:23*luis quit (Quit: luis)
15:25:55*luis joined #nim
15:26:19*solitudesf joined #nim
15:29:39*crem quit (Ping timeout: 250 seconds)
15:32:03*crem joined #nim
15:32:04*filcuc quit (Remote host closed the connection)
15:32:32*filcuc joined #nim
15:35:55disruptekfilcuc: krux02 is the resident gdb<->nim expert.
15:40:30FromGitter<mratsim> @filcuc it helps when the bug is in Nim compiler or stdlib
15:41:19*filcuc_ joined #nim
15:41:54*filcuc quit (Ping timeout: 268 seconds)
15:41:58*PMunch joined #nim
15:45:16*filcuc_ quit (Client Quit)
15:46:09*filcuc joined #nim
15:50:36filcucAraq: is there a way to not generate debug informations for standard library
15:50:38filcucAraq: but keep them for user code?
15:55:52jkenDoes nims module system have a "index.nim" concept? Ie, a default file name that gets imported when I specific a folder name as an import?
15:56:53FromDiscord<Rika> the module name
15:56:59dom96nope, but you can create a file called `folder.nim` that's beside the folder
15:57:30FromDiscord<Rika> then import the folder in folder.nim; imagine it like a prelude file rather than an index file
15:57:35FromDiscord<Rika> i dont know how to explain it too well
16:02:40shashlicknim-gdb works well for me
16:02:47shashlickWhat are you trying to do
16:06:52disruptekelide stdlib from debugging.
16:11:01planetis[m]mratsim, hi I have a question about arraymancer, how do you deal with operator precedence of `.*` and the like? Bc I think it is incorrect
16:11:56*nixfreak joined #nim
16:12:12*MarderIII joined #nim
16:14:18*MarderIII is now known as warkruid
16:16:58filcucshashlick: disruptek answered
16:25:40*luis quit (Quit: luis)
16:25:54*luis joined #nim
16:27:37*filcuc quit (Ping timeout: 240 seconds)
16:27:52*filcuc joined #nim
16:28:55krux02filcuc: what advantage do you expect from not generating debug informations for no debug information in the stdlib?
16:29:14krux02a smaller debug binary?
16:31:22krux02planetis[m], I am not tha maintainer of arraymancer, but I recommend to not write operations where operator precedence is not clear to the non expert reader of the code.
16:31:45krux02because operator precedence is out of the range of the library developer
16:33:21filcuckrux02: i would like to step only on my application code
16:33:53filcuckrux02: or at least replicate the same behaviour i get when debugging C++ code
16:34:12filcuckrux02: i don't expect to step inside standard library code
16:35:10filcuckrux02: but maybe it's just a configuration of gdb that i'm failing to setup correctly
16:35:20filcuckrux02: i tried to use "-skip" without success
16:36:06filcuckrux02: for example when stepping in a proc call i would like to jump in the body of that proc not through standard library push/pop functions
16:44:54*daddoo quit (Quit: Leaving)
16:45:25*filcuc quit (Ping timeout: 268 seconds)
16:45:28krux02filcuc, maybe you need to use `n[ext]` instead of `s[tep]` to debug though your code.
16:45:45krux02next does not follow function calls.
16:46:42krux02and I recommend that you get your nim build to the very latest versionm sence there was recently a very important issue fixed for debugging.
16:50:49*ng0 quit (Remote host closed the connection)
16:51:57planetis[m]krux02, I agree with you, the problem is ``.`` has lower precedence according to the manual. A solution is to start the operator with the ``*`` sign. ``*.`` works fine
16:52:18*ng0 joined #nim
17:25:50*luis quit (Quit: luis)
17:26:07*luis joined #nim
17:49:16*Romanson quit (Quit: Connection closed for inactivity)
18:04:39*ng0 quit (Remote host closed the connection)
18:05:11*luis quit (Remote host closed the connection)
18:06:09*ng0 joined #nim
18:07:39*Trustable joined #nim
18:20:00*ng0 quit (Ping timeout: 260 seconds)
18:26:46*ng0 joined #nim
18:42:00*nsf quit (Quit: WeeChat 2.6)
18:49:23*sealmove joined #nim
18:50:53FromDiscord<sealmove> .
18:51:22sealmove!eval echo "Hello" & "world"
18:51:25NimBotHelloworld
18:53:38PMunchHmm, does the NimBot work over the various bridges?
18:54:14disrupteksure.
18:54:18*lritter quit (Ping timeout: 268 seconds)
18:54:52FromDiscord<Yardanico> !eval echo 1+1
18:54:54NimBot2
18:55:19PMunch<PMunch> !eval echo 1+2
18:55:21NimBot3
18:55:34Yardanicosomerandomtexthere@@@244 !eval echo 1+1
18:55:44PMunchAha, so that's how it works
18:57:39disrupteknah, somerandomtexthere@@@244 is blocked for being racist.
18:57:51disruptekbut <goat_puncher> !eval echo "is not"
18:58:30disruptekwait, what does the bot have against goat punchers?
18:58:52disruptek<goat_smacker> !eval echo "is fine, doh"
18:58:55NimBotis fine, doh
18:59:27disruptekand yet <goat_licker> !eval echo "is no beuno"
18:59:46disruptekwhat is this world coming to?
19:04:00*Hideki_ quit (Remote host closed the connection)
19:04:13*Jesin joined #nim
19:08:01*Jesin quit (Remote host closed the connection)
19:08:39*Hideki_ joined #nim
19:11:53planetis[m]hi sealmove, whats up?
19:11:53dom96disruptek, PMunch https://github.com/nim-lang/nimbot/blob/master/src/nimbot.nim#L66-L75
19:12:29disruptekyes, but goat licking is kinda my thing.
19:12:50*Hideki_ quit (Ping timeout: 240 seconds)
19:15:01PMunchdom96, yeah that was pretty much what I expected
19:19:49sealmoveplanetis: hey, all good, I've been working on https://kaitai.io/
19:20:30sealmoveyou?
19:20:36FromGitter<Willyboar> @narimiran free ebooks merge my pr. Nim basics added.
19:22:13narimiranhuh?
19:22:53FromGitter<Willyboar> https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books.md#nim
19:23:32narimiranoh, nice, thanks!
19:23:34planetis[m]nice, released a new version of my matrix lib this weekend: https://github.com/b3liever/manu
19:23:48planetis[m]think will take a break now
19:25:28FromGitter<Willyboar> they have 130k stars so i hope some of them to have the chance to read about nim. Thanks for your work.
19:56:33*nsf joined #nim
20:03:08*nsf quit (Quit: WeeChat 2.6)
20:13:17FromGitter<Lecale> hmm say I want to make charts with nim, there is only plotly to work with?
20:16:56*crem quit (Ping timeout: 268 seconds)
20:19:17*crem joined #nim
20:25:37FromGitter<Willyboar> https://github.com/bunkford/wChart
20:26:15*daddoo joined #nim
20:27:29*Trustable quit (Remote host closed the connection)
20:27:36FromGitter<Vindaar> @Lecale still very much WIP, but https://github.com/Vindaar/ggplotnim
20:27:46FromGitter<Vindaar> there's also https://github.com/dvolk/gnuplot.nim
20:28:26FromGitter<Vindaar> and with https://github.com/yglukhov/nimpy accessing matplotlib, seaborn or whatever is easy too
20:41:05dom96sealmove, that looks cool, does Nim support exist?
20:42:47*PMunch quit (Remote host closed the connection)
20:43:15sealmovedom96: you can track progress here: https://ci.kaitai.io/
20:43:59dom96awesome
20:44:06sealmoveI estimate it will take me a couple of months to complete
20:44:12sealmovethanks :)
20:44:18dom96it's a really cool project, excited to give it a try
20:45:05dom96are you generating Nim code or using macros to generate an AST for the Kaitai structures?
20:46:31sealmoveusing Kaitai AST to generate Nim code
20:46:43sealmovein Scala >_>
20:48:45sealmoveparsing the Kaitai Struct yaml with Nim and generating Nim AST would be cooler
20:50:25sealmovethere is already a seperate compiler for Go (https://github.com/cugu/kaitaigo) so maybe we can do the same for Nim after ;)
20:52:25*narimiran quit (Remote host closed the connection)
20:56:08dom96oh, why in Scala?
20:56:19dom96I guess most generators are written in that?
20:57:05sealmovebecause Kaitai Struct compiler is in Scala; and a common AST is used to generate source code for multiple languages
21:00:27sealmoveso to support a new language you don't have to reimplement the parsting
21:00:30sealmoveparsing*
21:02:03*luis_ joined #nim
21:05:39*dgt joined #nim
21:10:58*solitudesf quit (Remote host closed the connection)
21:11:12*solitudesf joined #nim
21:13:42disruptekis there any point to submitting issues for `nim doc`?
21:18:04*Trioxin joined #nim
21:18:45Trioxincongrats on v1! Very exciting!
21:23:55dom96hey Trioxin! Thanks! :)
21:37:33*dgt quit (Ping timeout: 250 seconds)
21:38:50*luis_ quit (Quit: luis_)
21:39:11*luis joined #nim
21:44:21*Vladar quit (Quit: Leaving)
21:45:59*solitudesf quit (Ping timeout: 265 seconds)
21:50:51*Trioxin quit (Ping timeout: 240 seconds)
22:16:17*sagax quit (Ping timeout: 240 seconds)
22:27:25*pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
22:27:39*pbb joined #nim
22:39:33*luis quit (Quit: luis)
22:39:51*luis joined #nim
22:49:00*daddoo quit (Quit: Leaving)
22:50:01disrupteki have no idea what this means, but i can tell you that it doesn't match my reality: "Error: Cannot develop packages that are binaries only." -- i frequently impl a lib that also features a binary demo. or, if it makes more sense to you, a cli tool that may also be exploited as a library.
22:50:54disrupteki can't think of a binary that i wouldn't want to expose low(er)-level access to, should a user actually want to use it thusly.
22:59:15*luis quit (Remote host closed the connection)
22:59:29dom96This is just something that I didn't have time to implement IIRC
23:00:53disruptekit's not a big deal -- just comment out the `bin` statement and re-run `nimble develop`, but maybe there should just be a `--force` option for applying these things because I_KNOW_WHAT_IM_DOING=1.
23:06:19*pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
23:06:36*pbb joined #nim
23:09:31*warkruid quit (Quit: Leaving)
23:10:19*Hideki_ joined #nim
23:14:37*Hideki_ quit (Ping timeout: 240 seconds)
23:23:45*krux02_ joined #nim
23:26:14*sealmove quit (Quit: WeeChat 2.6)
23:26:33*krux02 quit (Ping timeout: 245 seconds)
23:29:48*sealmove joined #nim
23:31:58*ng0 quit (Quit: Alexa, when is the end of world?)
23:41:37*oculux joined #nim
23:42:27*oculuxe quit (Ping timeout: 240 seconds)
23:56:06*sealmove quit (Quit: WeeChat 2.6)