00:02:13 | * | neptune42 joined #nim |
00:02:13 | * | snooptek quit (Remote host closed the connection) |
00:06:12 | * | neptune42 left #nim (#nim) |
00:10:13 | * | al_ quit (Quit: al_) |
00:16:46 | * | fanta1 quit (Quit: fanta1) |
00:21:41 | * | Jjp137 quit (Read error: Connection reset by peer) |
00:29:41 | * | Jjp137 joined #nim |
00:38:06 | * | Hideki_ joined #nim |
00:40:17 | * | go|dfish quit (Ping timeout: 240 seconds) |
00:45:27 | * | snooptek joined #nim |
00:45:43 | FromGitter | <Varriount> disruptek: I have now starred your OpenAPI repo |
00:45:58 | disruptek | oh shoot |
00:46:08 | FromGitter | <Varriount> It looks really cool. :D |
00:46:32 | disruptek | let me know if you still feel that way after you try to use it. |
00:47:30 | FromGitter | <Varriount> "The quality of OpenAPI definitions in the wild appears to vary, uh, wildly." <- I have noticed this |
00:47:57 | disruptek | yeah, but more and more are being created by software, so that's good. |
00:48:07 | disruptek | of course, not all software is as flawless as mine. |
00:48:31 | FromGitter | <Varriount> I tried running a Python OpenAPI code generator through the API of an open source project I use at work, and it... sorta worked |
00:48:54 | * | Hideki_ quit (Remote host closed the connection) |
00:49:40 | disruptek | Hideki there did an openapi generator for nim that uses java and, i guess handlebars or similar, to write pretty nicely organized apis. |
00:50:04 | disruptek | not to my taste, but if what you want is nice looking code, i think that's a superior solution at present. |
00:50:24 | * | Hideki_ joined #nim |
00:50:45 | FromGitter | <Varriount> Not enough that I was willing to use the generated code though - in the end I just used aiohttp to make the requests. |
00:51:03 | disruptek | ahh. |
00:52:11 | FromGitter | <Varriount> Honestly, the hardest part about the API I was using was the fact that the responses used XML for certain data descriptions, and that the API was underdocumented. |
00:52:53 | disruptek | my stuff doesn't do any response parsing and i think it doesn't even create the types currently. |
00:53:18 | disruptek | i started off ambitious and ended up rubbish, to paraphrase a certain pokey car show. |
00:53:29 | FromGitter | <Varriount> Perhaps that's a good thing? |
00:53:29 | disruptek | but, i will finish it eventually. |
00:53:34 | * | Hideki_ quit (Remote host closed the connection) |
00:53:51 | * | Hideki_ joined #nim |
00:54:19 | disruptek | it's hard to parse and render 3000 apis to the same standard of quality; garbage in, mostly useful garbage out. |
00:54:45 | FromGitter | <Varriount> It would be nice if there was a magical way for a library that makes/listens for HTTP requests to just "plug into" whatever networking library the user of the library is using. |
00:55:11 | * | Hideki_ quit (Remote host closed the connection) |
00:55:21 | disruptek | yeah, it seemed stupid not to splice the rest package off from openapi, but i'm disappointed it doesn't actually do anything, really. |
00:55:46 | * | Hideki_ joined #nim |
00:55:48 | disruptek | i need to put more work into it and figure out how to surface it a bit better so it's less paint and has more body over the existing transport. |
00:56:07 | disruptek | also need to figure out js transport so this code can run in the browser, too. |
00:56:40 | disruptek | but anyway, that rest package openapi uses could be that pluggable layer. |
00:57:37 | disruptek | i guess i want something like superagent for js or requests for python, but with more of a middleware feel the way nim can provide. |
00:57:44 | * | Hideki_ quit (Remote host closed the connection) |
00:58:00 | * | Hideki_ joined #nim |
01:01:36 | * | Romanson joined #nim |
01:11:20 | disruptek | https://play.nim-lang.org/#ix=1Z8l is https://github.com/nim-lang/Nim/issues/10938 |
01:13:32 | * | nif quit (Quit: ...) |
01:13:49 | * | nif joined #nim |
01:26:57 | * | oculuxe quit (Ping timeout: 240 seconds) |
01:27:45 | * | oculux joined #nim |
02:15:24 | * | Willyboar quit () |
02:35:29 | * | Hideki_ quit (Remote host closed the connection) |
02:35:48 | * | Hideki_ joined #nim |
02:36:18 | * | Hideki_ quit (Remote host closed the connection) |
02:38:34 | * | Hideki_ joined #nim |
02:40:34 | * | Hideki_ quit (Remote host closed the connection) |
02:40:51 | * | Hideki_ joined #nim |
02:51:42 | * | Hideki_ quit (Remote host closed the connection) |
02:52:20 | * | Hideki_ joined #nim |
02:56:33 | * | Hideki_ quit (Ping timeout: 250 seconds) |
03:11:13 | * | Romanson quit (Quit: Connection closed for inactivity) |
03:23:13 | * | chemist69 quit (Ping timeout: 245 seconds) |
03:25:18 | * | chemist69 joined #nim |
03:46:59 | * | Hideki_ joined #nim |
03:57:16 | * | Hideki_ quit (Ping timeout: 240 seconds) |
04:28:06 | * | traviss quit (Quit: Leaving) |
04:45:37 | * | NicQ joined #nim |
04:47:47 | * | theelous3_ joined #nim |
04:50:26 | * | theelous3 quit (Ping timeout: 240 seconds) |
04:55:28 | * | NicQ quit (Read error: Connection reset by peer) |
04:56:20 | * | NicQ joined #nim |
05:10:01 | * | dddddd quit (Remote host closed the connection) |
05:24:37 | * | PrimHelios joined #nim |
05:25:26 | PrimHelios | how should I write unit tests for macros? It's my first time with them and I'm not sure how I should test to make sure they work |
05:31:32 | * | go|dfish joined #nim |
05:32:42 | * | NicQ quit (Ping timeout: 265 seconds) |
05:33:01 | * | solitudesf joined #nim |
05:33:13 | * | NicQ joined #nim |
05:36:24 | * | NicQ quit (Read error: Connection reset by peer) |
05:37:10 | FromGitter | <Varriount> PrimHelios: I would focus more on integration tests |
05:37:21 | * | NicQ joined #nim |
05:37:46 | FromGitter | <Varriount> Unit tests for macros only really work when the macro is complicated enough to be broken into multiple procedures. |
05:41:58 | * | go|dfish quit (Ping timeout: 268 seconds) |
05:46:43 | * | NicQ quit (Ping timeout: 265 seconds) |
05:49:05 | Araq | PrimHelios: you test them like anything else really, you test to invoke the macro and that it produces something sane |
05:54:41 | * | Hideki_ joined #nim |
05:55:04 | * | narimiran joined #nim |
05:59:14 | * | Hideki_ quit (Ping timeout: 268 seconds) |
06:01:38 | * | sagax quit (Read error: Connection reset by peer) |
06:12:49 | * | theelous3_ quit (Ping timeout: 265 seconds) |
06:24:05 | * | sagax joined #nim |
06:26:50 | * | solitudesf quit (Ping timeout: 265 seconds) |
06:28:27 | * | tiorock joined #nim |
06:28:28 | * | tiorock quit (Changing host) |
06:28:28 | * | tiorock joined #nim |
06:28:28 | * | rockcavera is now known as Guest27894 |
06:28:28 | * | Guest27894 quit (Killed (card.freenode.net (Nickname regained by services))) |
06:28:28 | * | tiorock is now known as rockcavera |
06:28:43 | * | PrimHelios quit (Quit: Leaving) |
06:41:48 | * | nsf joined #nim |
06:43:13 | * | tiorock joined #nim |
06:43:13 | * | tiorock quit (Changing host) |
06:43:13 | * | tiorock joined #nim |
06:43:13 | * | rockcavera quit (Killed (cherryh.freenode.net (Nickname regained by services))) |
06:43:13 | * | tiorock is now known as rockcavera |
06:48:54 | * | lritter joined #nim |
06:56:56 | * | oculux quit (Quit: blah) |
06:57:15 | * | oculux joined #nim |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:05:02 | * | gmpreussner joined #nim |
07:21:31 | * | fanta1 joined #nim |
07:44:44 | * | fanta1 quit (Quit: fanta1) |
07:45:48 | * | kungtotte quit (Quit: WeeChat 2.6) |
07:53:07 | * | fanta1 joined #nim |
08:00:57 | * | couven92 joined #nim |
08:03:02 | * | gmpreussner quit (Quit: kthxbye) |
08:03:19 | * | gmpreussner joined #nim |
08:04:51 | * | go|dfish joined #nim |
08:04:56 | * | fanta1 quit (Quit: fanta1) |
08:19:35 | * | tiorock joined #nim |
08:19:35 | * | rockcavera is now known as Guest5430 |
08:19:35 | * | tiorock is now known as rockcavera |
08:21:23 | * | Guest5430 quit (Ping timeout: 265 seconds) |
08:38:21 | Zevv | is there a shortcut to do a recursive copylineinfo? |
08:38:39 | * | NimBot joined #nim |
08:58:02 | * | go|dfish quit (Ping timeout: 240 seconds) |
08:58:56 | * | Hideki_ joined #nim |
09:08:40 | * | Vladar joined #nim |
09:11:42 | * | Trustable joined #nim |
09:43:44 | * | PMunch joined #nim |
09:47:13 | * | fredrik92 joined #nim |
09:47:46 | * | couven92 quit (Disconnected by services) |
09:47:55 | * | fredrik92 is now known as couven92 |
09:48:11 | * | fredrik92 joined #nim |
09:53:01 | * | Hideki_ quit (Remote host closed the connection) |
09:53:38 | * | Hideki_ joined #nim |
09:57:48 | * | Hideki_ quit (Ping timeout: 245 seconds) |
10:26:46 | * | Hideki_ joined #nim |
10:31:48 | * | Hideki_ quit (Ping timeout: 268 seconds) |
10:39:00 | FromDiscord | <Chiqqum_Ngbata> Is it possible to do optional tuple destruct? |
10:39:05 | FromDiscord | <Chiqqum_Ngbata> (a, b, c = 0) = d |
10:42:22 | Araq | there is only '_' |
10:42:30 | Araq | let (a, b, _) = d |
10:45:15 | * | Vladar quit (Ping timeout: 240 seconds) |
10:45:50 | * | crem quit (Ping timeout: 252 seconds) |
10:46:18 | Zevv | is it possible to skip a few stack frames in the trace when raising an expection? I now get a trace from some technical implemnetation, while the source of the error lies higher up. |
10:47:14 | * | crem joined #nim |
10:49:03 | Araq | there is an API to do that |
10:49:15 | FromDiscord | <Chiqqum_Ngbata> Can I do default args with template? |
10:50:49 | * | PMunch quit (Remote host closed the connection) |
10:51:32 | FromDiscord | <Chiqqum_Ngbata> Seems I can, scratch that |
10:51:48 | Zevv | Araq: where would I find that, approximately? |
10:54:07 | Araq | asyncfutures.nim line 299 following |
10:54:23 | Araq | it does some nice stack trace hacks |
10:54:44 | Araq | however, I dunno if you can use that to influence the exception's stack trace |
10:55:46 | Araq | trace: seq[StackTraceEntry] |
10:55:46 | Araq | # system.nim doesn't make it public... |
10:56:32 | Araq | I'm beginning to think that "information hiding" is wrong as often as not hiding stuff |
10:56:35 | * | PMunch joined #nim |
10:56:42 | Zevv | hehe |
10:56:44 | Zevv | thanks anyway |
11:04:53 | * | Hideki_ joined #nim |
11:08:00 | PMunch | Chiqqum_Ngbata, yes, but Nim also supports default args |
11:09:13 | * | clyybber joined #nim |
11:13:37 | Araq | gah, we need command line arguments that make sense |
11:14:55 | Araq | --seqs:v2 --gc:markAndSweep |
11:15:50 | * | go|dfish joined #nim |
11:15:51 | Araq | --runtimeTypeInfo:v2 |
11:17:46 | Zevv | I feel the whole command line parsing could use some proper structuring - probably data driven so that relations between options can be checked early, --help outputs relevant stuff and help is generated from the code. But thats quite an undertaking |
11:18:20 | Araq | I consider it to be perfectly fine |
11:18:39 | Araq | but --newruntime conflates 3 different notions |
11:18:51 | Araq | and needs to be changed |
11:18:51 | Zevv | I see |
11:19:29 | Araq | --newruntime is effectively: --seqs:v2 --runtimeTypeInfo:v2 --ownedRefs:on |
11:19:52 | clyybber | And --gc:destructors |
11:19:59 | clyybber | Right? |
11:20:02 | * | Hideki_ quit (Ping timeout: 240 seconds) |
11:20:04 | Araq | that's --seqs:v2 |
11:20:20 | clyybber | And why do you want to remove --newruntime? |
11:20:25 | Araq | destructors are always enabled |
11:20:48 | Araq | it's just that the old strings and seqs don't use them |
11:21:30 | Araq | clyybber, I want everything from --newruntime except --ownedRefs:on ;-) |
11:21:46 | clyybber | You gave up on owned refs? |
11:22:52 | Araq | as I said, we have 2 competing designs, owned refs are still in the game. |
11:23:40 | Araq | and currently neither design works with async and both designs have some unforeseen complications... |
11:24:16 | clyybber | Maybe we should look at pony |
11:24:19 | Araq | so I'm trying to hack something together that works and hacking works better with a plethora of compiler options :P |
11:24:22 | FromDiscord | <Chiqqum_Ngbata> Is it not ok to pass empty array arg to template? |
11:24:58 | Araq | clyybber, pony is even more complex though |
11:25:41 | clyybber | Hmm, I don't think its that complex. It's really simple once you get the hang of it IMO |
11:26:13 | clyybber | But I guess it doesn't have to be done in the core language |
11:26:31 | clyybber | I thought of doing an actor framework for nim which steals the ideas of pony. |
11:27:36 | clyybber | In macro |
11:27:57 | Araq | the actors model is silent about Future/FlowVars |
11:28:21 | Araq | and without them all you have is some bullshit message passing system where everything is hard to do |
11:28:51 | clyybber | Pony really isn't that hard to use in practice. But of course the actor model isn't a good fit for everything. |
11:29:27 | clyybber | But with project picasso it would fit right in. And it would be really cool if it can be implemented with macros. |
11:30:29 | Araq | btw feel free to fix some --newruntime bugs |
11:30:42 | Araq | with your refactoring some of these should be simpler |
11:30:46 | clyybber | I currently feel very free to get default fields to work :) |
11:31:01 | clyybber | But sure, I'll look at them afterwards |
11:31:05 | Araq | also fine, did you read what I said? |
11:31:10 | clyybber | Nope |
11:31:32 | clyybber | When? I can search on the logs |
11:31:33 | Araq | Nim pretty much forces you to use MyObject(kind: x) nowadays |
11:31:46 | Araq | and that's when you can set the default values |
11:32:12 | clyybber | You mean making it a transformation in sem? |
11:32:12 | Araq | on object construction with a discriminator that is at least known at runtime |
11:32:36 | Araq | so you need to generate a 'switch' statement after object construction |
11:32:51 | Araq | unless you have the value ready at compile-time |
11:33:08 | clyybber | Ah sure. I'm doing that already |
11:33:22 | clyybber | Well not the compile-time optimization, but I can do that |
11:35:00 | * | D4663R joined #nim |
11:35:37 | Araq | not that important, clang/gcc can fold the switch |
11:35:42 | clyybber | The problem I'm dealing with is that I need to generate a field access for the loc of an object not the node, meaning that I need a version of genRecordField that takes a loc instead of e: PNode. It's easy to do really, but with generating case statements it means that I essentially need to copy all their code too, and make it so that they use the patched genRecordField.. |
11:36:17 | Araq | make it an AST to AST transformation |
11:36:25 | Araq | and just use all of the existing codegen |
11:36:38 | clyybber | Yeah thats the problem. I can't |
11:36:43 | clyybber | I get an infinite loop then |
11:36:48 | clyybber | *recursion |
11:36:57 | Araq | hmmm why? |
11:38:02 | clyybber | Because when I encounter `someproc(MyObject(v: 1))` the lode of the location of MyObject is the constrcutor itself, meaning that codegen will generate it again and again and again |
11:38:21 | clyybber | Because I generate a `MyObject(v: 1).field = defaultvalue` |
11:39:07 | Araq | nah |
11:39:39 | Araq | MyObject(v: 1) --- transform into --> let o: MyObject; o.v = 1; o.field = defaultValue |
11:40:36 | Araq | but maybe it's harder than it looks indeed |
11:40:40 | clyybber | Ok, but we needn't do that in codegen anymore, right? |
11:41:02 | Araq | I suppose ideally it's in transf.nim |
11:46:08 | clyybber | Araq: Do you think that logic: https://github.com/nim-lang/Nim/blob/832b0a0232e610c1935aaf6ce0b45f69199f8a19/compiler/ccgexprs.nim#L1344 can be replicated in transf.nim? |
11:46:31 | * | Hideki_ joined #nim |
11:46:52 | clyybber | I guess so |
11:47:12 | Araq | yeah |
11:47:37 | Araq | however, maybe it's time to bite the bullet and to rewrite the C codegen to be AST based |
11:49:06 | Araq | but that's of course months of work |
11:50:04 | clyybber | It also can pretty much be only done by you, because you are most familiar with the code |
11:50:14 | clyybber | And it will take ages for someone not as familiar to do it |
11:50:47 | Araq | others know it quite well too |
11:51:04 | Araq | but if we find some incremental approach to this |
11:51:39 | Araq | so that you can e.g. make 'switch' codegen AST based, check it in, see if the tests are still green, repeat until no "rope" is left |
11:51:50 | Araq | then it would be much easier |
11:52:00 | clyybber | I feel like maybe its best to implement a general `=default` with which default fields could be implemented |
11:52:24 | Araq | sounds like a bad idea |
11:52:40 | clyybber | Why? |
11:52:53 | Araq | type based hooks are a last resort in language design |
11:53:12 | Araq | Nim already has 3, cooldome wants =check |
11:53:14 | Araq | you want =default |
11:53:18 | Araq | and I want =trace |
11:53:34 | clyybber | Yeah and they all serve a purpose and help to simplify everything else |
11:53:47 | FromDiscord | <Chiqqum_Ngbata> https://github.com/nim-lang/Nim/issues/2459 damn |
11:53:55 | clyybber | I think its rather elegant to unify many conecpts into a few fundamental ones |
11:56:05 | Araq | field: int = 4 is the natural syntax |
11:56:26 | Araq | why change it? the implementation is as hard as it is with =default |
11:56:48 | FromGitter | <zetashift> "to rewrite the C codegen to be AST based" I thought Nim compilation already went like Nim -> AST -> C? |
11:57:00 | clyybber | I don't want to change the syntax, just make field: int = 4 transform to a `=default` implementation |
11:57:02 | Araq | if it helps your thinking, do the implementation as if it were =default |
11:57:16 | Araq | ah |
11:57:25 | Araq | so we don't disagree |
11:57:27 | clyybber | Sure, the implementation won't be simpler, but it would be more general |
11:57:31 | clyybber | Araq: Yeah |
11:57:39 | Araq | ok. |
11:57:55 | clyybber | But we can do that `=default` in the future maybe. |
11:58:09 | Araq | we also need =trace very soon, I bet... |
11:58:22 | clyybber | What would =trace be? A debugging thing? |
11:58:42 | Araq | =trace teaches the GC how to traverse custom objects |
11:59:26 | FromGitter | <dumjyl> an `=default` would be nice for `range`/`distinct` types for which there isn't a natural syntax in a type section. |
11:59:32 | clyybber | Yeah |
12:00:29 | Araq | zetashift: yes, but the C codegen does some optimizations that are not on the AST level, but could be and then the JS backend would benefit too, for example |
12:01:59 | Araq | bbl |
12:02:13 | clyybber | Yeah I would love that. And maybe make the code backends only handle a small subset of the nim AST |
12:02:25 | clyybber | An even smaller subset, I should say |
12:03:10 | * | D4663R left #nim ("WeeChat 2.6") |
12:03:21 | Araq | that's problematic as the Nim ast doesn't contain much you want to ignore in a backend |
12:03:51 | * | go|dfish quit (Ping timeout: 250 seconds) |
12:04:05 | Araq | ok, so you have to ignore type sections and most proc declarations, big deal. everything else is relevant |
12:07:19 | clyybber | Yeah, I guess we already do that to an extent. |
12:14:12 | * | Vladar joined #nim |
12:25:17 | * | willyboar joined #nim |
12:27:48 | * | ronny left #nim ("User left") |
12:28:18 | * | ng0 joined #nim |
12:29:17 | clyybber | Araq: How does one deal with the result variable? Will there already be a constructor? |
12:31:57 | * | dddddd joined #nim |
12:35:36 | * | daddoo joined #nim |
12:48:11 | * | solitudesf joined #nim |
12:49:09 | * | Hideki_ quit (Ping timeout: 265 seconds) |
12:52:38 | * | Kaivo quit (Quit: WeeChat 2.6) |
13:07:41 | * | sealmove joined #nim |
13:43:45 | * | sealmove quit (Quit: WeeChat 2.6) |
13:53:27 | * | clyybber quit (Ping timeout: 268 seconds) |
13:55:43 | * | Vladar quit (Quit: Leaving) |
14:07:53 | * | kobi7 joined #nim |
14:07:57 | kobi7 | Howdy! |
14:08:13 | kobi7 | quick question for the knowledgeable! :-) |
14:09:04 | kobi7 | when using regex replacef, how can I access the captures? I want to do the replacing but also "record" the replaced strings. |
14:10:03 | disruptek | use a different proc. |
14:10:46 | disruptek | ie. perform a match to record your captures, then replace them. |
14:11:33 | FromDiscord | <Chiqqum_Ngbata> I wonder why, when I have an argument type of openArray, the library I'm binding with complains that it's receiving too many arguments (to the bound function) |
14:11:58 | disruptek | is it a C lib or nim? |
14:12:16 | kobi7 | thanks, disruptek that's a good idea |
14:12:38 | FromDiscord | <Chiqqum_Ngbata> C |
14:15:07 | Araq | kobi7, nre has a replace that takes a callback iirc |
14:16:07 | kobi7 | Araq: cool, i'll check this now |
14:17:43 | * | clyybber joined #nim |
14:17:44 | * | clyybber quit (Client Quit) |
14:17:57 | * | clyybber joined #nim |
14:18:31 | Araq | clyybber, there is logic in the backend to init 'result' |
14:20:04 | clyybber | Ugh, so I can't do it in transf |
14:20:17 | clyybber | Why don't we put that logic in transf too? |
14:20:27 | * | go|dfish joined #nim |
14:21:17 | Araq | be my guest ;-) |
14:22:44 | * | nsf quit (Quit: WeeChat 2.6) |
14:23:12 | * | stefantalpalaru joined #nim |
14:23:57 | clyybber | With the greatest of pleasure :) |
14:25:20 | * | PMunch quit (Remote host closed the connection) |
14:25:56 | stefantalpalaru | Any Windows users relying on the Visual Studio toolchain? How do you tell Nimble to use that, when installing a package which needs to compile a bundled C library? Does `defined(vcc)` work inside a *.nimble file? |
14:27:34 | stefantalpalaru | Also, how do you call `nmake` from the command prompt instead of the IDE? |
14:28:36 | * | go|dfish quit (Ping timeout: 268 seconds) |
14:30:00 | * | theelous3 joined #nim |
14:34:19 | stefantalpalaru | Found the answer to the last question: https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=vs-2019 |
14:38:55 | Araq | I use 'nim --cc:vcc' in order to use Visual Studio |
14:39:11 | Araq | and Nimble now supports --passNim iirc |
14:39:29 | Araq | nimble c --passNim:cc=vcc maybe? |
14:39:36 | stefantalpalaru | Let me try that. |
14:40:01 | kobi7 | Thanks a lot Araq, I think it works. |
14:40:09 | kobi7 | (will test now :) |
14:41:22 | kobi7 | btw, nre seems nicer to work with, api wise. |
14:41:55 | disruptek | it's better, but don't compliment him on it -- it makes him suspicious. |
14:42:07 | Araq | many agree with you, kobi7 |
14:42:11 | disruptek | i figured you wanted to use `re` since you were using `replacef`. |
14:42:32 | Araq | disruptek, I think kobi7 really means 'nre' is better ;-) |
14:42:57 | disruptek | that was my interpretation as well. 😁 |
14:43:03 | Araq | good that we have both... better if we could unify them somehow |
14:43:28 | disruptek | why is that? |
14:44:32 | clyybber | Do nre or re use the pcre library? |
14:44:40 | disruptek | they both do. |
14:44:52 | clyybber | How can they be so different then? |
14:44:56 | clyybber | Arent they just wrappers? |
14:45:01 | Zevv | yes |
14:45:07 | Zevv | one is 'raw' the other is more 'nim like' |
14:45:41 | clyybber | Nre is more nim like I suppose? |
14:45:54 | clyybber | So kill re? Whats good about re that isn't there in nre? |
14:46:12 | disruptek | it's a little more complete because it captures, so to speak, more of pcre. |
14:47:39 | * | zyklon quit (Quit: Konversation terminated!) |
14:47:58 | * | zyklon joined #nim |
14:48:48 | disruptek | i think `re` should be moved to nimble. |
14:49:59 | Zevv | I think Nim needs a native regexp engine that does not depend on a C library. PCRE is overkill for a lot of use cases, maybe we can find a decent regexp implementation and do a 'naive' nim port of it |
14:50:22 | disruptek | i nominate zevv. |
14:50:36 | Araq | nitely has a native Nim regex engine |
14:50:46 | Araq | part of "Important packages", I hope |
14:51:03 | Zevv | Ah look, so there is something already! |
14:51:05 | FromDiscord | <exelotl> Yeah I was gonna say why aren't we using nim-regex |
14:53:24 | clyybber | I guess because ppl will still want PCRE? |
14:53:31 | stefantalpalaru | Why keep making it a ghetto with pure Nim libraries, instead of relying on battle-tested external C libraries? |
14:53:55 | disruptek | pure libraries are more portable. |
14:53:58 | Zevv | because you a) you need to shipp your app with the C library, which is especially a pain when you wnat to be portable |
14:54:09 | Zevv | b) doesn't work on non-C backends |
14:54:11 | stefantalpalaru | And breaking backwards compatibility by removing stdlib modules is a cardinal sin. |
14:54:18 | disruptek | b) see a. |
14:54:35 | Zevv | stefantalpalaru: nope, that's why you call it '2.0' |
14:54:40 | clyybber | stefantalpalaru: Not if you deprecate them and move them to a nimble package |
14:55:07 | Zevv | and people realize a mistakes happened; throwing stuff out and deprecated is the sane way out |
14:55:22 | disruptek | i think the worse sin is having two stdlib modules that do the same thing, of which one is overly complex and not as idiomatic. |
14:56:08 | * | stefan_ joined #nim |
14:56:25 | Zevv | I can blow the dust off https://github.com/zevv/nimpat/blob/master/nimpat.nim. It's lua patterns, lightweight regexps in about 400 LOC |
14:56:30 | disruptek | that said, i think we need a seventh strformat lib in stdlib. |
14:56:42 | Zevv | we only have six? |
14:56:54 | disruptek | yeah, it's kinda slim pickins in here. |
14:57:19 | FromDiscord | <exelotl> Oh cool! Lua patterns are nice |
14:57:51 | clyybber | Lua is nice |
14:57:55 | Zevv | not sure if it still works with recent nim tho |
14:58:39 | * | stefan_ quit (Client Quit) |
14:58:41 | * | stefantalpalaru quit (Ping timeout: 265 seconds) |
14:58:57 | * | stefan_ joined #nim |
14:59:02 | * | stefan_ is now known as stefantalpalaru |
14:59:42 | Zevv | nope |
14:59:43 | stefantalpalaru | Nim will never be more portable than C. Why let that false goal undermine its biggest strength - easy wrapping of C libraries? |
14:59:54 | disruptek | you'll get araq's vote if you rebase it on strscans. |
15:00:13 | shashlick | Nimpcre compiles in pcre if you want |
15:00:20 | disruptek | no one said you couldn't keep using pcre. |
15:01:16 | clyybber | stefantalpalaru: The biggest strength is not wrapping C libraries, otherwise we wouldn't need Nim at all. |
15:01:26 | clyybber | And it may be more portable with llvm. |
15:02:16 | disruptek | this. |
15:02:17 | stefantalpalaru | Let's agree that you're wrong on all accounts ;-) |
15:03:07 | clyybber | lol |
15:03:12 | FromDiscord | <Rika> lmao |
15:03:15 | * | Hideki_ joined #nim |
15:04:07 | clyybber | stefantalpalaru: Btw nim *is* already more portable than C because C cant compile to js :P |
15:05:20 | stefantalpalaru | Dude... it all started with Emscripten. |
15:05:37 | disruptek | yeah, because _that_ works well. |
15:05:52 | clyybber | Well, and that plays into my previous point. That when Nim uses LLVM it could be more portable |
15:06:03 | stefantalpalaru | Nim is not, nor will it ever be more portable than C. If you don't understand that, you don't understand C. |
15:06:04 | disruptek | it does and it is. |
15:06:20 | clyybber | stefantalpalaru: And then you dont understand GPUs |
15:06:21 | FromDiscord | <Rika> what the hell is this argument |
15:06:33 | clyybber | Good luck having all those pointers on the GPU |
15:06:36 | stefantalpalaru | LLVM is the opposite of portability, because it locks you into a single toolchain. |
15:06:39 | FromDiscord | <Rika> can we give supporting evidence on both sides |
15:07:08 | clyybber | stefantalpalaru: It doesn't lock us, Nim already has multiple backends |
15:07:13 | disruptek | C is apparently not part of his C toolchain. |
15:07:31 | stefantalpalaru | Both OpenCL and CUDA are slightly restricted versions of C and C++. This is not by chance. |
15:07:36 | * | Hideki_ quit (Ping timeout: 240 seconds) |
15:07:46 | clyybber | OpenCL is not *slightly* restricted C |
15:07:57 | clyybber | its C but castrated |
15:08:04 | disruptek | oh how rude. |
15:08:12 | clyybber | In a good way :) |
15:08:22 | clyybber | It sings high tones |
15:08:22 | * | kobi7 quit (Read error: Connection reset by peer) |
15:08:49 | disruptek | the angelic voice of opencl. |
15:10:35 | FromDiscord | <Stuffe> does anyone know how to get a template to "return" a pointer? |
15:10:39 | FromDiscord | <Stuffe> Im trying this: |
15:10:39 | FromDiscord | <Stuffe> template get(syntax: syntax, path: seq[int]): addr syntax = |
15:10:53 | FromDiscord | <Stuffe> But I get the error: Error: expression has no address; maybe use 'unsafeAddr' |
15:11:04 | clyybber | Stuffe: The return type should be ptr syntax |
15:11:21 | FromDiscord | <Stuffe> Ah works |
15:11:22 | FromDiscord | <Stuffe> Thank you |
15:11:25 | clyybber | np |
15:15:22 | * | uvegbot joined #nim |
15:16:41 | * | zyklon quit (Ping timeout: 250 seconds) |
15:21:25 | FromDiscord | <krab4t> any good GUI frameworks for Nim? 🙂 |
15:32:13 | FromDiscord | <Karl Marx> https://github.com/trustable-code/NiGui |
15:35:50 | * | alexander92 quit (Read error: Connection reset by peer) |
15:39:49 | * | alexander92 joined #nim |
15:41:11 | * | Trustable quit (Remote host closed the connection) |
15:42:21 | * | Trustable joined #nim |
15:42:51 | * | daddoo quit (Quit: Leaving) |
15:42:59 | * | go|dfish joined #nim |
15:52:10 | clyybber | krab4t: https://github.com/treeform/fidget, https://github.com/yglukhov/nimx |
15:58:34 | FromDiscord | <Karl Marx> Wow I like fidget a lot |
15:58:38 | FromDiscord | <Karl Marx> I might try it |
15:58:41 | FromDiscord | <Karl Marx> Looks super nice |
16:02:03 | * | go|dfish quit (Ping timeout: 240 seconds) |
16:04:18 | stefantalpalaru | Complete failure when trying to define "vcc" in a *.nimble file: https://github.com/nim-lang/nimble/issues/726 |
16:04:47 | * | narimiran quit (Ping timeout: 276 seconds) |
16:04:50 | * | lbartoletti joined #nim |
16:04:54 | * | lbart quit (Ping timeout: 265 seconds) |
16:10:58 | FromDiscord | <Rika> im definitely doing something wrong here, i would like to know what stupid thing im doing here https://play.nim-lang.org/#ix=1Zdn |
16:12:31 | disruptek | the first `image` needs to be `backticked` and made into its own identifier. |
16:12:44 | disruptek | i mean, the one in the smth definition. |
16:13:09 | disruptek | which is, i guess, the second one. oh well. |
16:14:18 | FromDiscord | <Rika> oh i see |
16:14:29 | FromDiscord | <Rika> i guess its becayse hteyre named differently internally |
16:15:31 | disruptek | it's because otherwise it gets generated, after which your `test` doesn't match. |
16:15:39 | * | thomasross quit (Ping timeout: 240 seconds) |
16:16:06 | disruptek | https://play.nim-lang.org/#ix=1Zdu |
16:16:19 | disruptek | (see debug output) |
16:17:52 | shashlick | are macros not called in top down order? |
16:18:00 | FromDiscord | <treeform> is there a nim version defined? Can I do `when nimVersion > 1.0.0: ... ` else do the old thing? |
16:18:19 | disruptek | NimVersion, NimMajor, NimMinor, NimPatch... all consts. |
16:18:26 | disruptek | first is a string, the others are ints. |
16:19:04 | disruptek | shashlick: you mean outer into inner? |
16:19:48 | FromDiscord | <treeform> oh thanks! |
16:19:52 | shashlick | probably |
16:19:57 | shashlick | well i am calling a macro from a macro |
16:20:03 | shashlick | but it seems to be done in reverse order |
16:20:21 | disruptek | i likely needs to evaluate one before the other. |
16:21:34 | shashlick | so i'm trying to figure out how to do this |
16:21:45 | shashlick | I'm trying to reuse cOverride to now override in place |
16:21:57 | shashlick | but i need to use cPlugin to achieve that |
16:22:04 | shashlick | which means you need to run cOverride before cPlugin |
16:22:14 | shashlick | but that means you are forced to run a cPlugin even if you don't want to |
16:22:28 | disruptek | it sounds like you need a Third Way. |
16:22:41 | shashlick | so i was trying to implicitly call cPlugin if a cOverride was specified |
16:22:52 | shashlick | in cImport |
16:23:11 | shashlick | but it gets processed before cOverride which was declared earlier |
16:23:31 | shashlick | one option is to introduce a types section in cPlugin but it will mean yet another different way to do overrides |
16:23:41 | shashlick | i'd rather just use cOverride since it is otherwise useless |
16:24:04 | shashlick | or mandate that cOverride needs an explicit cPlugin with nothing |
16:24:16 | shashlick | or disallow cOverride + cPlugin renaming of symbols |
16:24:29 | shashlick | tis a mess |
16:24:35 | disruptek | maybe your abstraction is to handle calling cOverride automatically and not call it manually. |
16:25:36 | shashlick | then where should the override definitions go |
16:26:24 | disruptek | cOverride will still define them, but you will actually invoke it in different places. you merely need to remember whether it has been mixed in or not. |
16:26:56 | disruptek | i guess maybe you don't have a concept of state yet? |
16:27:13 | disruptek | hmm, but you must. |
16:28:01 | shashlick | the one that mixes it in is cPlugin |
16:28:17 | shashlick | and the one that uses it is cImport |
16:29:03 | disruptek | i smell an architectural change comin'. |
16:29:17 | shashlick | gosh, you'd think things would get easier in life |
16:32:04 | shashlick | i guess i have to break out cPlugin into a proc and macro |
16:33:02 | disruptek | hey, if it makes you feel better, i just finished a rearch in golden and i can see another one towards generics on my horizon. |
16:33:31 | shashlick | you're never good enough in the past |
16:35:30 | disruptek | software wants to grow; it's our job to stunt it as best we can. 😀 |
16:36:07 | shashlick | makes sense |
16:36:30 | disruptek | you win if you can remove more than you add. |
16:39:55 | Araq | exactly. Now let's please remove symlinks from every OS and never look back. :P |
16:40:10 | disruptek | pffbt |
16:40:34 | disruptek | we develop for the platform we have, not a theoretical ideal that doesn't exist. |
16:41:44 | jken | finally got imgui rendering and updating with sdl2 and opengl :D |
16:42:00 | shashlick | okay figured it out |
16:42:00 | disruptek | i was never able to get it to output my framerate. |
16:42:00 | * | lbartoletti_ joined #nim |
16:42:07 | * | lbartoletti quit (Ping timeout: 265 seconds) |
16:42:19 | Araq | that's true but computing is too important, don't keep the artifical complexity in it |
16:42:43 | disruptek | i mean, see if you can sell a fs w/o symlinks. |
16:43:13 | disruptek | i even use them for simple storage of strings. maybe i'm crazy. |
16:48:00 | Araq | Oberon doesn't have symlinks |
16:48:14 | disruptek | speaking of difficult to sell. |
16:49:56 | FromDiscord | <treeform> Some one uses Oberon? What about SkyOS or ManuetOS? |
16:50:26 | Araq | no but I recently read https://inf.ethz.ch/personal/wirth/ProjectOberon1992.pdf |
16:50:56 | Araq | it's an impressive design |
16:52:18 | FromDiscord | <treeform> Niklaus Wirth, Pascal guy? cool. |
16:52:42 | FromDiscord | <treeform> Which parts did you find impressive? |
16:54:15 | Araq | the "I can select text everywhere" design, the fact that it uses a single programming language for everything, the linker/loader unification |
16:54:18 | disruptek | the page count. |
17:01:02 | * | couven92 quit (Quit: Disconnecting) |
17:02:11 | shashlick | got it working |
17:02:24 | shashlick | anyone wants to test a real cOverride? |
17:03:02 | FromDiscord | <treeform> what problems does cOverride solve for me? |
17:04:05 | * | lbartoletti joined #nim |
17:04:36 | FromGitter | <zetashift> I never knew Oberon also was used in an OS. Also damn: "Mastering the Oberon user interface, both the purely textual and also the so called Gadgets System (under S3), is absolutely non-trivial" from the OS's wiki |
17:05:08 | shashlick | @treeform - while wrapping, if nimterop misses certain stuff and you manually want to declare those |
17:05:21 | shashlick | if the override contains symbols yet to be defined by cImport, it doesn't work |
17:05:55 | shashlick | so the new cOverride overrides the symbols in place rather than at the top |
17:05:59 | shashlick | so it will be contextual |
17:06:26 | * | lbartoletti_ quit (Ping timeout: 240 seconds) |
17:07:11 | FromDiscord | <treeform> shashlick, I see, sorry I don't have these kinds of problems. |
17:07:42 | shashlick | cool |
17:20:41 | * | Trustable quit (Remote host closed the connection) |
17:25:46 | * | nsf joined #nim |
17:29:15 | Araq | treeform: your UI project is superb |
17:30:17 | Araq | please keep me in the loop about its progress |
17:31:02 | FromDiscord | <Kiloneie> After 4 days of no video, heres another(i got bored, played games instead D: sue me). https://youtu.be/kogpTd0IlAw |
17:32:06 | FromDiscord | <Kiloneie> Also had to rethink how to make my videos, i started writting longer and longer scripts that i followed less and less, except for blocks of text i needed to say D: |
17:32:45 | * | demonttazz joined #nim |
18:08:13 | * | solitudesf- joined #nim |
18:11:03 | * | solitudesf quit (Ping timeout: 265 seconds) |
18:12:16 | * | lritter quit (Ping timeout: 240 seconds) |
18:13:29 | * | nsf quit (Quit: WeeChat 2.6) |
18:24:11 | * | kungtotte joined #nim |
18:25:46 | FromDiscord | <sealmove> Use bullet points? |
18:29:25 | FromDiscord | <Kiloneie> Yeah, that's the idea |
18:29:45 | FromDiscord | <Kiloneie> i started writting big scripts because i couldn't talk as freely before. |
18:31:19 | * | solitudesf joined #nim |
18:31:24 | FromDiscord | <sealmove> Treeform: what's your github account? |
18:34:19 | * | clyybber quit (Quit: WeeChat 2.6) |
18:34:56 | * | solitudesf- quit (Ping timeout: 276 seconds) |
18:39:09 | FromDiscord | <Kiloneie> probably treeform ? i gogled treeform and hisaccount was first to show with his avatar |
18:47:51 | disruptek | Araq: did you come up with a solution for --gc:destructors? |
18:51:58 | FromDiscord | <sealmove> Ah right, found it |
18:54:57 | FromDiscord | <sealmove> Wow fidget is indeed beautiful |
19:04:56 | * | Hideki_ joined #nim |
19:09:48 | * | Hideki_ quit (Ping timeout: 268 seconds) |
19:13:47 | * | krux02 joined #nim |
19:25:55 | * | Vladar joined #nim |
19:27:06 | Araq | disruptek, https://github.com/nim-lang/Nim/pull/12467 |
19:27:45 | disruptek | but what does it all mean? 😉 |
19:29:27 | disruptek | i see options to turn stuff on, but i was under the impression you weren't sure gc:destructors was gonna work. |
19:33:45 | Araq | no, it'll work but my patch was all wrong |
19:34:16 | Araq | also I'm doing too many things at once, so now it's time for some discipline: First sort out the compiler options (done). |
19:35:02 | disruptek | nice. |
19:35:32 | Araq | Then patch the GCs to support the new strings and seqs. (WIP) |
19:36:26 | Araq | Then add the new dispose() API. |
19:37:20 | * | nsf joined #nim |
19:37:58 | rayman22201 | Then document all of it (I hope :-P) |
19:39:40 | Araq | it would be easier if we had a good, simple async benchmark |
19:40:02 | Araq | but working with the GC tests is also fine, so whatever |
19:46:26 | * | daddoo joined #nim |
20:35:07 | * | demonttazz quit (Remote host closed the connection) |
20:36:46 | * | nsf quit (Quit: WeeChat 2.6) |
20:40:44 | planetis[m] | hey can i ask something slightly offtopic? |
20:41:39 | planetis[m] | People who fork repos in github in numbers, like 10-20 a month, what's their deal? |
20:44:10 | FromGitter | <iffy> I have a string (var x = newString(len)) and want to do stdin.readChars(x, len); how do I get an openArray[char] from my string x? |
20:46:10 | planetis[m] | are they trying to take ownership of projects if a creator deletes the original? |
20:46:44 | rayman22201 | on github you have to create fork to make a PR. maybe they are making a lot of PRs? They could also be creating backups, yes. |
20:47:07 | FromGitter | <iffy> oh, nm, I need to do stdin.readChars(x, 0, len) |
20:54:04 | Araq | planetis[m]: I do it so that the code is save from github's "nuke repository" feature |
20:54:10 | Araq | *safe |
20:57:01 | planetis[m] | cool no problem |
20:57:31 | planetis[m] | but i've seen people claiming to know many languages and all they have are forks |
20:57:50 | federico3 | some seem to be bot |
20:58:16 | planetis[m] | and one of them follows me and clones my repos and that annoys me |
20:58:27 | federico3 | some might want to attack careless users that might pick the fork |
20:58:35 | planetis[m] | yeah must likely a bot |
20:59:11 | planetis[m] | *most |
21:00:46 | disruptek | there isn't a lot of code i worry about losing, but yeah, i do it on repos that seem abandoned. |
21:00:58 | disruptek | and, to irritate other users, of course. |
21:02:11 | planetis[m] | lol |
21:03:04 | disruptek | i was worried we would never meet, otherwise. |
21:05:12 | dom96 | anyone used any good ORMs in Nim lately? |
21:06:52 | dom96 | norm is looking pretty good |
21:08:11 | planetis[m] | disruptek: was that a joke? |
21:08:57 | planetis[m] | cause I got chilled |
21:10:07 | disruptek | you're kidding, right? |
21:10:12 | disruptek | a hottie like you? |
21:10:30 | disruptek | i only fish on gitlab. github is full of neckbeards. |
21:10:55 | FromDiscord | <exelotl> ಠ_ಠ |
21:11:27 | disruptek | present company excluded, of course. |
21:11:47 | planetis[m] | oh stop it, im blushing |
21:24:31 | * | teimosso joined #nim |
21:31:31 | daddoo | is anybody around to discuss a possible bug in 1.0.0, or would I do better during the week? |
21:31:53 | daddoo | (I'm very hesitant to call it a "bug", but I'm not sure what else to call it at this point) |
21:32:10 | Yardanico | well you can go ahead and ask here |
21:32:43 | daddoo | okay, let me get the sample code up on pastebin ... people will have to excuse it, it's part of a work in progress, and I'm a noob at the language |
21:32:59 | Yardanico | You can also use https://play.nim-lang.org/ |
21:33:08 | Yardanico | (there's a share to ix button in the bottom left here) |
21:33:47 | daddoo | is that preferred? |
21:34:08 | Yardanico | well, it doesn't matter, but generally I would recommend you to use any paste service except pastebin :) |
21:35:21 | daddoo | okay, I got no output on play, it doesn't compile on my machine here |
21:35:36 | Yardanico | well just share it anyway :) |
21:36:04 | daddoo | okay, I just did that ... the button is sitting and spinning |
21:36:37 | * | vegax87 joined #nim |
21:36:45 | Yardanico | well try https://paste.debian.net/ then :) |
21:37:15 | daddoo | why that over regular pastebin? |
21:38:36 | Yardanico | Because it has ads, premium accounts and generally people use other services over it (like transfer.sh, ix.io, gists or other websites) |
21:38:57 | daddoo | okay, let me put it up there |
21:40:04 | daddoo | okay, here's the URL, good for 24 hours: https://paste.debian.net/hidden/97b43b56/ |
21:40:18 | daddoo | I left some notes in the top of the file (blocked by #[ ]# |
21:40:19 | daddoo | ) |
21:40:35 | Yardanico | and what nim version do you have? |
21:40:40 | daddoo | 1.0.0 |
21:41:00 | daddoo | if I generate that table using "let" or "var", it's fine, but it doesn't make it thru the build as a "const". |
21:41:02 | Yardanico | ah nvm, yeah, I can get the same error on playground |
21:41:34 | daddoo | good (I think) |
21:41:42 | * | Vladar quit (Quit: Leaving) |
21:42:00 | Yardanico | Basically it probably doesn't compile because "const" means that the expression must be calculated at compile-time, but you can't do that if your const variable contains references to procedures |
21:42:06 | Araq | it's a bug (yay) |
21:42:08 | planetis[m] | btw I found a cool usecase for distinct in my linear algebra package. I define row and column vector types as distinct matrix and then will have broadcasting support, so cool. |
21:42:21 | Araq | NodeProc = proc(value: int) {.nimcall.} # workaround |
21:42:44 | daddoo | I figured that was the case, Yardanico - but I'm concerned that compiler didn't catch it before trying to build the generated code |
21:43:04 | daddoo | thanks, Araq - I'll have to plug that into my real project |
21:43:17 | Yardanico | daddoo: yeah if Nim code you're trying to compile shows a C compiler error - it's always considered a bug :) |
21:43:36 | Yardanico | ideally the compiler should catch all of these before calling the C compiler |
21:43:41 | daddoo | sure |
21:44:25 | daddoo | yeah, generating bad intermediate-language code is considered user-hostile |
21:44:58 | disruptek | a little gift for you, shashlick: https://github.com/disruptek/bump |
21:45:03 | planetis[m] | and can be better vectorized than implementing it like other n-d array libs do |
21:45:46 | shashlick | nifty! |
21:46:09 | disruptek | it's a start. enjoy. |
21:48:20 | daddoo | thanks for your time, Yardanico |
21:51:54 | disruptek | okay, i guess it works, shashlick. added a dry-run feature and bumped it. |
21:56:53 | * | clyybber joined #nim |
21:57:39 | dom96 | I'm so disappointed. The only Nim oauth library appears to be really badly designed. |
21:58:43 | disruptek | hey, i spent a long time documenting how not to write such a library. |
21:59:50 | * | krux02 quit (Remote host closed the connection) |
22:03:29 | disruptek | man, i shoulda written bump ages ago. |
22:07:54 | dom96 | When you use `waitFor` in an async proc, and write your own httpserver using raw sockets, and don't use the uri module. That's about where I think I need to draw the line and just write this myself. |
22:07:58 | Zevv | I once knew this guy, he was *sooo* lazy, he made this script to automate editing one file, and pushing a tag |
22:09:03 | shashlick | he was less lazy than those who asked for such a tool |
22:09:26 | Zevv | ha. and now merge it into nimble! |
22:09:44 | Zevv | we need pluggable subcommands! |
22:11:07 | dom96 | wat |
22:21:32 | * | daddoo quit (Quit: Leaving) |
22:23:09 | disruptek | totes worth it. |
22:23:13 | * | teimosso quit (Quit: teimosso) |
22:23:57 | disruptek | i realized that libgit2 would be a worse dependency than just using a subprocess, so... |
22:25:14 | disruptek | most of stdlib doesn't use the Uri module, afaik. |
22:27:33 | disruptek | so do you wanna wait another couple weeks or do you want to solve the ioselector cleanup issue right now, dom96? |
22:27:50 | disruptek | we've already decided that this isn't nim 1.0. |
22:27:55 | disruptek | so we can make changes. |
22:28:01 | disruptek | or do you want me to fork ioselectors? |
22:28:47 | dom96 | We? |
22:28:54 | dom96 | That definitely doesn't include me |
22:29:01 | dom96 | I've said my thoughts in the issue already |
22:29:03 | disruptek | you're the one that made the commit. |
22:29:48 | disruptek | i guess what i'm saying is, i didn't wait two weeks to hear that the problem is that the current code doesn't work. |
22:29:56 | disruptek | i believe that was established when the issue was created. |
22:30:01 | disruptek | how do you want it fixed? |
22:30:41 | dom96 | I think we're talking about different things |
22:30:47 | dom96 | send me a link to what you're talking about please |
22:30:51 | disruptek | alright. |
22:31:13 | disruptek | https://github.com/nim-lang/Nim/issues/12354 |
22:32:18 | disruptek | we can fix it! |
22:32:21 | disruptek | we have the technology! |
22:32:54 | dom96 | okay, so we are talking about the same thing |
22:33:06 | dom96 | Quoting myself: "I think we're left with only one option: deprecate registerProcess and introduce a new proc that isn't discardable." |
22:33:46 | disruptek | why can't we just do the work to make `close` not suck? |
22:33:55 | disruptek | is that really the interface you want? |
22:35:26 | disruptek | what use do the registrations have if the selector is closed? |
22:37:17 | disruptek | well, please consider it and holla back. |
22:37:36 | disruptek | i got another nimble subcommand to impl. bbl. |
22:39:22 | dom96 | what subcommands are you implementing? :) |
22:40:23 | dom96 | I explained the problem that I foresee in the issue. Your response doesn't really encourage further discussion. |
22:40:47 | disruptek | well, your explanation assumes that we lack the capacity for forethought, which is not the case for all participants. |
22:41:18 | disruptek | but, it's cool. if you are happy with the code as it is, i'm fine with it. |
22:41:40 | disruptek | i really have plenty of my own bugs to fix, tbh. |
22:44:56 | * | ng0 quit (Ping timeout: 260 seconds) |
22:45:39 | * | solitudesf quit (Ping timeout: 246 seconds) |
22:50:16 | dom96 | I'm not happy with how the code is |
22:50:34 | dom96 | Once again, I would like the current proc to be deprecated and one that isn't discardable to be implemented |
22:51:46 | * | ng0 joined #nim |
22:55:17 | * | vegax87 quit (Quit: Leaving) |
23:06:39 | * | Hideki_ joined #nim |
23:10:56 | * | Hideki_ quit (Ping timeout: 240 seconds) |
23:48:31 | dom96 | yay, a maintained JWT library |
23:48:33 | dom96 | Thx yglukhov |
23:51:28 | * | Jjp137 quit (Read error: Connection reset by peer) |
23:54:25 | * | Jjp137 joined #nim |
23:56:41 | dom96 | oh boy, that sure pulled in a lot of dependencies, all of bear-ssl was compiled in D: |