00:00:01 | * | junland quit (Quit: %ZNC Disconnected%) |
00:00:46 | * | junland joined #nim |
00:10:03 | stefantalpalaru | It'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:04 | stefantalpalaru | It can be up to 594 KiB of avoidable binary size. |
00:11:38 | dom96 | Yeah, I noticed. |
00:11:46 | dom96 | I care more about the compile-time slowdown than the binary size |
00:16:09 | * | Hideki_ joined #nim |
00:21:52 | FromDiscord | <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:36 | disruptek | treeform: btw, how is gcplat working for you? |
00:26:17 | FromDiscord | <treeform> disruptek, sorry I got busy with work and have not tried it yet. I will try it right now. |
00:26:50 | disruptek | don't sweat it on my account. |
00:28:36 | FromDiscord | <treeform> hmm getting `Error: cannot open file: rest` |
00:28:46 | FromDiscord | <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:00 | FromDiscord | <treeform> I think its on my end |
00:29:19 | disruptek | parseEnum or parseInt. |
00:30:06 | disruptek | treeform: maybe i got the specification of a git url wrong in the nimble file. |
00:30:24 | * | PrimHelios joined #nim |
00:30:49 | PrimHelios | why does the streams module have a StreamObj and a `Stream = ref StreamObj` when every proc just takes a Stream? |
00:31:27 | PrimHelios | I've noticed that pattern a lot and I kinda just don't understand why |
00:31:36 | disruptek | it's an idiom in nim for reasons of alloc, i guess. |
00:31:56 | disruptek | eg. you want it on the stack, you use the Obj, you want it on the heap, you use the ref. |
00:32:29 | PrimHelios | How would you pass a StreamObj in place of a Stream, just use `addr thestream` or something? |
00:33:00 | disruptek | nah, addr produces a ptr. |
00:33:49 | PrimHelios | That's what I thought |
00:41:20 | PrimHelios | So given a variable x of type int, how do I get a ref to x? |
00:42:16 | FromDiscord | <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:39 | disruptek | nah |
00:43:04 | disruptek | the minimal example is with issueRequest iirc. |
00:45:11 | FromDiscord | <treeform> I did this call and it works: https://gist.github.com/treeform/984ceb18175d16afc7e67179cf6f6364 |
00:46:02 | FromDiscord | <treeform> this does not work though... https://gist.github.com/treeform/5b23b82da87c80b4df10045787a04d54 I get `400 Bad Request` |
00:47:12 | disruptek | so, 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:29 | disruptek | i can just update all the apis with whatever you decide. |
00:49:10 | FromDiscord | <treeform> This is my implantation of the same call: https://github.com/treeform/googleapi/blob/master/src/googleapi/bigquery.nim#L35 |
00:49:21 | disruptek | another change we might need to make is to deny defaults eg. the empty string for a given variable that takes a string. |
00:49:49 | disruptek | try providing maxResults, then? |
00:49:58 | FromDiscord | <treeform> Well this call takes 2 strings and returns a tables structure |
00:50:40 | FromDiscord | <treeform> still get 404 with maxResults=100 |
00:50:49 | disruptek | 404? not found? |
00:51:28 | FromDiscord | <treeform> oh sorry `400 Bad Request` |
00:52:11 | disruptek | echo request.url and let's see what it came up with. |
00:53:34 | disruptek | i think the issue is gonna be the defaults. |
00:55:18 | FromDiscord | <treeform> `https://bigquery.googleapis.com/bigquery/v2/projects/"test-project-1702323"/datasets/"v3"/tables` |
00:55:26 | FromDiscord | <treeform> I think its a URL building issue it puts quotes around stuff |
00:55:37 | disruptek | holy smokes, that's super broken. |
00:55:53 | disruptek | easier to fix, though. |
00:56:19 | FromDiscord | <treeform> looking in `hydratePath(path, segments)`? |
00:56:52 | disruptek | there's a custom one for google, called composeQueryString. |
00:57:39 | disruptek | but, 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:08 | disruptek | hydratePath 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:31 | FromDiscord | <treeform> So after fixing the URL, the default params needed to be removed |
01:01:43 | FromDiscord | <treeform> I made it work |
01:01:48 | FromDiscord | <treeform> Here is a diff of my changes: |
01:02:40 | disruptek | i guess i'll look at google's api definition and see if they are providing those defaults or what. |
01:02:41 | FromDiscord | <treeform> https://gist.github.com/treeform/e5b70f6764c3909fb33c6c0bd2cbb1b7 |
01:03:48 | FromDiscord | <treeform> basically url it liked was this `https://bigquery.googleapis.com/bigquery/v2/projects/test-project-1702323/datasets/v3/tables?alt=json` |
01:04:04 | disruptek | wow, hydratePath is actually broken but passes the tests. i wonder if it's a different hydratePath. |
01:04:16 | FromDiscord | <treeform> Each file has its own hydratePath |
01:04:34 | FromDiscord | <treeform> Where are googles API definitions? |
01:04:37 | disruptek | well yeah, they all are generated. |
01:04:38 | FromDiscord | <treeform> It it like a json format? |
01:04:48 | disruptek | yeah, it's yaml that i turn into json. |
01:04:54 | FromDiscord | <treeform> link? |
01:05:15 | disruptek | it's linked off my repo from the readme. |
01:05:40 | disruptek | openapi directory under APIs/google.com/... 180 different services. |
01:07:07 | disruptek | ah, yeah it's a bug in the code that goes into the api, only. no wonder. |
01:07:18 | FromDiscord | <treeform> Sorry I am looking for the link to the google's YAML files? |
01:08:07 | disruptek | i know -- https://github.com/APIs-guru/openapi-directory/tree/master/APIs/googleapis.com |
01:08:10 | FromDiscord | <treeform> Sorry, I need to head out, some one is here. But I would like to continue this later. |
01:08:44 | disruptek | okie. 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:04 | disruptek | i'll fix hydratePath and push a new google so at least the quotes will be fixed. |
01:09:15 | disruptek | s/google/gcplat/ |
01:09:26 | disruptek | thanks for messing with it. |
01:10:25 | * | PrimHelios quit (Quit: Leaving) |
01:13:57 | disruptek | ahh, your base64 changes break jwt. 🙄 |
01:14:40 | disruptek | you 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:44 | disruptek | treeform: 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:40 | disruptek | also, 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:36 | FromDiscord | <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:53 | FromDiscord | <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:48 | FromDiscord | <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:26 | FromDiscord | <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:53 | FromGitter | <xmonader> How do you do named captures in nim? pcre module doesn't support get_named_substring? |
04:43:03 | FromGitter | <xmonader> looks like regex is what i'm supposed to use not re |
04:45:59 | * | traviss joined #nim |
04:54:30 | FromGitter | <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:13 | FromDiscord | <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:19 | FromGitter | <xmonader> no i'm following the instructions in the github page for compiling nim |
05:36:29 | FromGitter | <xmonader> this section https://github.com/nim-lang/Nim#compiling |
05:38:52 | Araq | xmonader: but the CIs are green |
05:42:10 | FromGitter | <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:02 | Araq | full HD? |
05:55:37 | FromGitter | <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:08 | Araq | the log is weird |
06:06:38 | Araq | try bin/nim c -f koch |
06:13:06 | * | solitudesf joined #nim |
06:21:31 | FromGitter | <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:18 | FromGitter | <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:16 | FromGitter | <matrixbot> `rosma` I get the following Error: number out of range: '18446744073709551615' |
10:16:47 | lqdev[m] | @rosma append a `'u64` to your number literal |
10:20:09 | * | luis joined #nim |
10:25:53 | FromGitter | <matrixbot> `rosma` Thanks that seems to work ok, can you try the following me |
10:26:30 | FromGitter | <matrixbot> `rosma` let integer32_min: int32 = -2147483648'i32 |
10:30:00 | Yardanico | Btw rosma, you can connect to Nim directly without Gitter, since Matrix has a native Matrix<->Freenode bridge |
10:30:41 | Yardanico | https://github.com/matrix-org/matrix-appservice-irc/wiki/End-user-FAQ |
10:31:23 | Yardanico | https://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:39 | Yardanico | !eval let integer32_min: int32 = -2147483648'i32 |
10:44:41 | NimBot | Compile 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:03 | FromGitter | <matrixbot> `rosma` Thanks, that is the error I also get |
10:50:12 | narimiran | !eval let integer32_min = int32 -2147483648 |
10:50:14 | NimBot | <no output> |
10:50:22 | narimiran | there you go |
10:50:41 | * | filcuc quit (Ping timeout: 264 seconds) |
10:50:44 | Yardanico | !eval let myint = int32 -2147483648; echo myint |
10:50:47 | NimBot | -2147483648 |
10:55:33 | FromGitter | <matrixbot> `rosma` Yes that works, but it isn't how the language manual shows the declarations |
10:55:54 | * | clyybber joined #nim |
10:57:25 | FromGitter | <matrixbot> `rosma` Also let uinteger64_max = uint64 4294967294 works correctly |
10:59:45 | * | Romanson joined #nim |
11:00:08 | FromGitter | <matrixbot> `rosma` But let uinteger64_max = uint64 18446744073709551615 fails |
11:00:34 | FromGitter | <matrixbot> `rosma` There doesn't seem to be a consistent format that works in all cases |
11:02:40 | narimiran | !eval let uinteger64_max = uint64.high; echo uinteger64_max |
11:02:43 | NimBot | 18446744073709551615 |
11:05:20 | FromGitter | <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:52 | FromGitter | <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:17 | rosma[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:43 | FromDiscord | <Rika> TIL that's what the [m] means |
11:55:37 | * | nsf joined #nim |
12:00:08 | * | PrimHelios joined #nim |
12:00:16 | PrimHelios | is 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:38 | PrimHelios | or something like python's getattr() |
12:03:50 | Yardanico | PrimHelios: 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:45 | PrimHelios | i 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:58 | Yardanico | what's the usecase for that by the way? just curious |
12:06:03 | PrimHelios | trying 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:04 | FromGitter | <Vindaar> note that `fieldPairs` also happens at compile time, since the loop is unrolled |
12:06:07 | Yardanico | you can also use json instead of object/tables, but that will of course be slower than just using objects :) |
12:07:03 | Yardanico | PrimHelios: what about things like if field == "test": object.test |
12:07:13 | Yardanico | (I think that can be simplified using a macro/template as well) |
12:07:27 | PrimHelios | it has to support arbitrary objects and fields |
12:08:30 | PrimHelios | basically this, but at runtime: https://github.com/onionhammer/nim-templates |
12:11:42 | * | tklohna_ joined #nim |
12:12:42 | PrimHelios | i 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:32 | Zevv | Have there been any improvements recently for the mutual-dependent-import problem with Nim? |
12:18:09 | Zevv | I 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:08 | FromDiscord | <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:37 | FromDiscord | <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:26 | Zevv | I 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:49 | jken | Zevv, I've been hitting that too, likely my own bad habits from JS modules. |
12:52:03 | * | Willyboar quit (Client Quit) |
12:52:14 | jken | My 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:12 | FromDiscord | <treeform> Primhelios, I recommend fieldPairs for your use case. They are really easy to use. |
13:01:24 | FromDiscord | <treeform> Also, I would look at what https://github.com/enthus1ast/nimWebTemplates/blob/master/readme.md does. |
13:02:59 | FromDiscord | <treeform> I much prefer templates like this: https://github.com/pragmagic/karax/blob/master/readme.rst#server-side-html-rendering |
13:04:01 | FromDiscord | <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:24 | PrimHelios | dynamic 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:44 | FromDiscord | <treeform> I mean the Jinja {%language%} is not real. |
13:38:13 | Yardanico | dom96: can you activate my new account on the forum - Yardanico ? I got the confirmation mail, but it said that the link expired |
13:38:49 | Yardanico | (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:51 | FromGitter | <xmonader> @Aray sorry, so late. Yes I can compile hello world with bin/nim |
13:55:09 | dom96 | Yardanico, activated |
13:55:13 | Yardanico | thanks :) |
13:57:01 | filcuc | is there a way to specify the nimble build directory for temporary files and output files without messing with the .nimble file? |
13:57:37 | filcuc | i'm asking for understanding if a custom out directory makes sense for my QtCreator Nim plugin |
14:09:13 | FromGitter | <mratsim> export NIMBLE_DIR= |
14:09:30 | FromGitter | <mratsim> And for out you can use - - outdir |
14:13:44 | onionhammer | @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:44 | lqdev[m] | hey @shashlick, I think I found something that may resolve that caching problem |
14:16:46 | lqdev[m] | in nimterop |
14:16:48 | lqdev[m] | `defined(nimcheck)` |
14:17:34 | lqdev[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:50 | filcuc | mratsim: outdir works only with c, cc commands? |
14:20:34 | filcuc | btw what's the purpose on nim-gdb? |
14:21:03 | FromGitter | <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:43 | filcuc | is 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:12 | filcuc | solved "nim dump" |
14:40:11 | FromGitter | <mratsim> @filcuc I think nim-gdb is deprecated, I always use debugger:native |
14:41:07 | FromGitter | <mratsim> @auxym probably something that contains "forward declaration(s)" in it |
14:47:37 | FromGitter | <Willyboar> @treeform do you know if nimWebTemplates supports control flow? |
14:48:41 | FromGitter | <Willyboar> @treeform never mind i just read it doesn't support. |
14:57:46 | * | nsf joined #nim |
15:10:28 | FromGitter | <Willyboar> It would be nice if nim have embedded html files in std lib like erb etc |
15:10:49 | FromGitter | <Willyboar> i just opened an issue at the needed-libraries |
15:11:35 | disruptek | i made a pr for literate mode but it's stalled because there's no defined interface for adding source code filter extensions. |
15:13:15 | disruptek | thus, no source code filter extensions may be created. 😝 |
15:14:42 | disruptek | after three months, no one that matters has an opinion they can be bothered to share on how an interface might actually work. |
15:18:08 | filcuc | is there a more convenient way to debug nim code |
15:18:11 | disruptek | treeform: 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:19 | filcuc | i ask at those of you that debug the compiler |
15:18:22 | filcuc | through GDB |
15:18:54 | filcuc | even with "skip" directives it seems that gdb fail to stay in user nim files |
15:19:02 | filcuc | i see jumping around the standard library |
15:20:11 | shashlick | @lqdev - so if nimcheck do some caching of my own? |
15:20:50 | lqdev[m] | probably, yes |
15:20:58 | lqdev[m] | should improve performance a lot |
15:21:09 | shashlick | Will look into it |
15:21:20 | shashlick | Can you please create an issue to track |
15:22:11 | shashlick | @Araq Nim check doesn't create anything in nimcache including gorgeEx caching - WAD right? |
15:22:44 | disruptek | shashlick: 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:55 | disruptek | filcuc: krux02 is the resident gdb<->nim expert. |
15:40:30 | FromGitter | <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:36 | filcuc | Araq: is there a way to not generate debug informations for standard library |
15:50:38 | filcuc | Araq: but keep them for user code? |
15:55:52 | jken | Does 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:53 | FromDiscord | <Rika> the module name |
15:56:59 | dom96 | nope, but you can create a file called `folder.nim` that's beside the folder |
15:57:30 | FromDiscord | <Rika> then import the folder in folder.nim; imagine it like a prelude file rather than an index file |
15:57:35 | FromDiscord | <Rika> i dont know how to explain it too well |
16:02:40 | shashlick | nim-gdb works well for me |
16:02:47 | shashlick | What are you trying to do |
16:06:52 | disruptek | elide stdlib from debugging. |
16:11:01 | planetis[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:58 | filcuc | shashlick: 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:55 | krux02 | filcuc: what advantage do you expect from not generating debug informations for no debug information in the stdlib? |
16:29:14 | krux02 | a smaller debug binary? |
16:31:22 | krux02 | planetis[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:45 | krux02 | because operator precedence is out of the range of the library developer |
16:33:21 | filcuc | krux02: i would like to step only on my application code |
16:33:53 | filcuc | krux02: or at least replicate the same behaviour i get when debugging C++ code |
16:34:12 | filcuc | krux02: i don't expect to step inside standard library code |
16:35:10 | filcuc | krux02: but maybe it's just a configuration of gdb that i'm failing to setup correctly |
16:35:20 | filcuc | krux02: i tried to use "-skip" without success |
16:36:06 | filcuc | krux02: 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:28 | krux02 | filcuc, maybe you need to use `n[ext]` instead of `s[tep]` to debug though your code. |
16:45:45 | krux02 | next does not follow function calls. |
16:46:42 | krux02 | and 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:57 | planetis[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:53 | FromDiscord | <sealmove> . |
18:51:22 | sealmove | !eval echo "Hello" & "world" |
18:51:25 | NimBot | Helloworld |
18:53:38 | PMunch | Hmm, does the NimBot work over the various bridges? |
18:54:14 | disruptek | sure. |
18:54:18 | * | lritter quit (Ping timeout: 268 seconds) |
18:54:52 | FromDiscord | <Yardanico> !eval echo 1+1 |
18:54:54 | NimBot | 2 |
18:55:19 | PMunch | <PMunch> !eval echo 1+2 |
18:55:21 | NimBot | 3 |
18:55:34 | Yardanico | somerandomtexthere@@@244 !eval echo 1+1 |
18:55:44 | PMunch | Aha, so that's how it works |
18:57:39 | disruptek | nah, somerandomtexthere@@@244 is blocked for being racist. |
18:57:51 | disruptek | but <goat_puncher> !eval echo "is not" |
18:58:30 | disruptek | wait, what does the bot have against goat punchers? |
18:58:52 | disruptek | <goat_smacker> !eval echo "is fine, doh" |
18:58:55 | NimBot | is fine, doh |
18:59:27 | disruptek | and yet <goat_licker> !eval echo "is no beuno" |
18:59:46 | disruptek | what 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:53 | planetis[m] | hi sealmove, whats up? |
19:11:53 | dom96 | disruptek, PMunch https://github.com/nim-lang/nimbot/blob/master/src/nimbot.nim#L66-L75 |
19:12:29 | disruptek | yes, but goat licking is kinda my thing. |
19:12:50 | * | Hideki_ quit (Ping timeout: 240 seconds) |
19:15:01 | PMunch | dom96, yeah that was pretty much what I expected |
19:19:49 | sealmove | planetis: hey, all good, I've been working on https://kaitai.io/ |
19:20:30 | sealmove | you? |
19:20:36 | FromGitter | <Willyboar> @narimiran free ebooks merge my pr. Nim basics added. |
19:22:13 | narimiran | huh? |
19:22:53 | FromGitter | <Willyboar> https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books.md#nim |
19:23:32 | narimiran | oh, nice, thanks! |
19:23:34 | planetis[m] | nice, released a new version of my matrix lib this weekend: https://github.com/b3liever/manu |
19:23:48 | planetis[m] | think will take a break now |
19:25:28 | FromGitter | <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:17 | FromGitter | <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:37 | FromGitter | <Willyboar> https://github.com/bunkford/wChart |
20:26:15 | * | daddoo joined #nim |
20:27:29 | * | Trustable quit (Remote host closed the connection) |
20:27:36 | FromGitter | <Vindaar> @Lecale still very much WIP, but https://github.com/Vindaar/ggplotnim |
20:27:46 | FromGitter | <Vindaar> there's also https://github.com/dvolk/gnuplot.nim |
20:28:26 | FromGitter | <Vindaar> and with https://github.com/yglukhov/nimpy accessing matplotlib, seaborn or whatever is easy too |
20:41:05 | dom96 | sealmove, that looks cool, does Nim support exist? |
20:42:47 | * | PMunch quit (Remote host closed the connection) |
20:43:15 | sealmove | dom96: you can track progress here: https://ci.kaitai.io/ |
20:43:59 | dom96 | awesome |
20:44:06 | sealmove | I estimate it will take me a couple of months to complete |
20:44:12 | sealmove | thanks :) |
20:44:18 | dom96 | it's a really cool project, excited to give it a try |
20:45:05 | dom96 | are you generating Nim code or using macros to generate an AST for the Kaitai structures? |
20:46:31 | sealmove | using Kaitai AST to generate Nim code |
20:46:43 | sealmove | in Scala >_> |
20:48:45 | sealmove | parsing the Kaitai Struct yaml with Nim and generating Nim AST would be cooler |
20:50:25 | sealmove | there 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:08 | dom96 | oh, why in Scala? |
20:56:19 | dom96 | I guess most generators are written in that? |
20:57:05 | sealmove | because Kaitai Struct compiler is in Scala; and a common AST is used to generate source code for multiple languages |
21:00:27 | sealmove | so to support a new language you don't have to reimplement the parsting |
21:00:30 | sealmove | parsing* |
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:42 | disruptek | is there any point to submitting issues for `nim doc`? |
21:18:04 | * | Trioxin joined #nim |
21:18:45 | Trioxin | congrats on v1! Very exciting! |
21:23:55 | dom96 | hey 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:01 | disruptek | i 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:54 | disruptek | i 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:29 | dom96 | This is just something that I didn't have time to implement IIRC |
23:00:53 | disruptek | it'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) |