00:00:01 | * | junland quit (Quit: %ZNC Disconnected%) |
00:01:46 | * | junland joined #nim |
00:06:13 | FromDiscord | <exelotl> lol I'm so out of my depth here |
00:07:13 | FromDiscord | <exelotl> don't even know how to write a test for the desired codegen |
00:08:01 | FromDiscord | <exelotl> (for implementing the let produces C consts RFC) |
00:13:41 | FromDiscord | <exelotl> I think I got it, testament has a 'ccodecheck' key that uses the pegs module... just that I'm not used to writing these and I didn't realise it was inside a Nim string so backslashes require escaping |
00:33:40 | * | endragor joined #nim |
00:38:27 | * | endragor quit (Ping timeout: 265 seconds) |
01:12:52 | * | endragor joined #nim |
01:17:07 | * | endragor quit (Ping timeout: 245 seconds) |
01:25:11 | shashlick | @disruptek we shouldn't really need those calls since we aren't creating a gui |
01:26:38 | shashlick | Actually that scintilla code needs to go into window.nim if possible |
01:26:46 | shashlick | Since it is GUI related |
01:27:15 | shashlick | Can comment out all scintilla code from sci |
01:28:00 | * | Hideki_ quit (Remote host closed the connection) |
01:28:08 | shashlick | In fact I'll need to rename it to app.nim or something |
01:29:53 | * | LargeEpsilon joined #nim |
01:34:12 | * | LargeEpsilon quit (Ping timeout: 245 seconds) |
01:40:11 | * | owl_000 joined #nim |
01:51:14 | * | endragor joined #nim |
01:56:16 | * | endragor quit (Ping timeout: 265 seconds) |
01:56:53 | FromGitter | <nanjizal> Hi I am just reading Nim in action, I notice there is a webgl module but looks like it has not been worked on much recently, are there other webgl libraries webgl2 ones, is Nim used with js much? |
01:58:56 | FromGitter | <nanjizal> I guess I am wondering if there is any Nim libraries that target Shaders for Web and Cross platform. |
02:53:15 | FromDiscord | <treeform> nanjizal, I use nim in js mode a ton. I don't use it with webGL though 😦 |
02:53:47 | FromDiscord | <treeform> nanjizal, for shaders see https://github.com/yglukhov/nimsl |
02:54:07 | FromDiscord | <treeform> yglukhov, compiles Nim to shader code in a macro. |
02:59:29 | FromDiscord | <Nanjizal> Not yet looked at Nim macros are they hard |
02:59:58 | FromDiscord | <Rika> no not really |
03:01:00 | FromDiscord | <exelotl> I couldn't really get into them until I worked through the examples in dom's book |
03:01:21 | FromDiscord | <exelotl> maybe there's better resources to learn them nowadays? |
03:02:33 | FromDiscord | <Nanjizal> I have only read chapter 1,2 and scanned 3, and some of 8 |
03:02:35 | FromDiscord | <Rika> dunno, i used nim by example's macro as a base |
03:03:00 | FromDiscord | <Nanjizal> I think macros might be chapter9 |
03:03:25 | FromDiscord | <exelotl> if you have the book then you're sorted ;) |
03:06:15 | FromDiscord | <exelotl> this page didn't exist back when I learned them https://nim-lang.github.io/Nim/tut3.html |
03:06:19 | FromDiscord | <exelotl> seems pretty solid |
03:14:15 | FromDiscord | <Nanjizal> My perspective is Haxe, but I have not really used thier macros they always seemed rather complex. |
03:18:00 | FromDiscord | <Nanjizal> thanks for the links. |
03:22:58 | * | Lunar joined #nim |
03:23:16 | FromDiscord | <Nanjizal> @treeform the js you code in Nim do you use Canvas much or is it more react type stuff |
03:23:31 | Lunar | Hey all! I'm entirely new to Nim, and I'd like to know how to convert a string to an int. |
03:23:57 | Lunar | I tried to stream the string, then turn the stream into an int, but that didn't work |
03:24:21 | Lunar | This is just to make sure the user's input is numerical |
03:25:53 | FromDiscord | <treeform> @Nanjizal I do use canvas a ton |
03:26:36 | FromDiscord | <treeform> @Lunar, just `parseInt("123")` |
03:26:54 | FromDiscord | <Tsukiko(Lunar)> Seriously? |
03:26:58 | FromDiscord | <Tsukiko(Lunar)> It's that easy? |
03:27:17 | * | Lunar quit (Remote host closed the connection) |
03:27:20 | FromDiscord | <treeform> why would it not be? I think its a build-in because its so basic |
03:27:34 | FromDiscord | <treeform> there is also `parseFloat` |
03:28:15 | FromDiscord | <Lunar> Just a little frustrated. I've tried to do ``int("123")``, ``toInt("123")``, streaming the string |
03:28:18 | FromDiscord | <Lunar> Just a little shocked |
03:28:19 | FromDiscord | <Nanjizal> @treeform do you have any html canvas stuff on github |
03:28:45 | FromDiscord | <treeform> Hmm, not really all of it is in a private codebase for work. |
03:29:32 | FromDiscord | <treeform> I use this: https://github.com/define-private-public/HTML5-Canvas-Nim I think. |
03:29:56 | FromDiscord | <treeform> here are examples on how you work it: https://github.com/define-private-public/HTML5-Canvas-Nim/blob/master/test.nim#L23 |
03:30:29 | FromDiscord | <treeform> Its very much like JS stuff I had before. I think it was straight line by line port. |
03:32:03 | FromDiscord | <Nanjizal> oh ok I normally use Haxe so I am kind of curious on the no OOP in Nim and what it looks like in a small project. |
03:32:03 | FromDiscord | <treeform> @Lunar https://nim-lang.org/docs/strutils.html#parseInt%2Cstring I think its in strutils module not a build-in |
03:32:40 | FromDiscord | <treeform> @Nanjizal I hate OOP I have used 0 OOP in the last 3 years or so. |
03:33:40 | FromDiscord | <Lunar> No, I've been using the parseutils module |
03:33:46 | FromDiscord | <Lunar> Just got it working too |
03:33:47 | FromDiscord | <Lunar> Ty |
03:34:22 | FromDiscord | <treeform> yeah parseutils has a more complex https://nim-lang.org/docs/parseutils.html#parseInt%2Cstring%2Cint%2Cint one |
03:34:26 | FromDiscord | <Lunar> ```nim |
03:34:26 | FromDiscord | <Lunar> import parseutils |
03:34:26 | FromDiscord | <Lunar> var number:int |
03:34:26 | FromDiscord | <Lunar> discard parseInt("123", number) |
03:34:27 | FromDiscord | <Lunar> echo number |
03:34:27 | FromDiscord | <Lunar> ``` |
03:34:27 | FromDiscord | <treeform> I don't use it |
03:34:33 | FromDiscord | <Lunar> Discord has nim support |
03:34:37 | FromDiscord | <Lunar> 😱 |
03:35:26 | FromDiscord | <treeform> why not `var number = parseInt("123")` ? |
03:35:45 | FromDiscord | <Lunar> because I'm exhausted and haven't gotten to that 😅 |
03:36:02 | FromDiscord | <treeform> the other parse int lets you see if its a valid int |
03:36:14 | FromDiscord | <treeform> if you have some one typing non integers and you need to handle that |
03:36:18 | FromDiscord | <Lunar> and this: |
03:36:22 | FromDiscord | <Rika> what is the pure pragma supposed to do to enums |
03:36:36 | FromDiscord | <Lunar> ```l:\Desktop\App\Nim\Calc\main.nim(2, 26) Error: type mismatch: got <string> |
03:36:36 | FromDiscord | <Lunar> but expected one of: |
03:36:36 | FromDiscord | <Lunar> proc parseInt(s: string; number: var int; start = 0): int |
03:36:37 | FromDiscord | <Lunar> first type mismatch at position: 2 |
03:36:37 | FromDiscord | <Lunar> missing parameter: number |
03:36:37 | FromDiscord | <Lunar> |
03:36:37 | FromDiscord | <Lunar> expression: parseInt("123")``` |
03:36:39 | FromDiscord | <treeform> {.pure.} on enums is going a way |
03:36:43 | FromDiscord | <treeform> @Rika {.pure.} on enums is going a way |
03:37:05 | FromDiscord | <treeform> It switches their behavior a bit, to what it is now I think? |
03:37:05 | FromDiscord | <Lunar> and this: |
03:37:05 | FromDiscord | <Lunar> ``` |
03:37:05 | FromDiscord | <Lunar> l:\Desktop\App\Nim\Calc\main.nim(2, 26) Error: type mismatch: got <string> |
03:37:06 | FromDiscord | <Lunar> but expected one of: |
03:37:06 | FromDiscord | <Lunar> proc parseInt(s: string; number: var int; start = 0): int |
03:37:08 | FromDiscord | <Lunar> first type mismatch at position: 2 |
03:37:08 | FromDiscord | <Lunar> missing parameter: number |
03:37:09 | FromDiscord | <Lunar> |
03:37:10 | FromDiscord | <Lunar> expression: parseInt("123") |
03:37:12 | FromDiscord | <Lunar> ``` |
03:38:11 | FromDiscord | <treeform> @Lunar https://play.nim-lang.org/#ix=1Xjo |
03:38:53 | FromDiscord | <Lunar> 🤔 |
03:39:04 | FromDiscord | <Lunar> I have the *same* exact code |
03:39:09 | disruptek | {.pure.} just means that the enum must be used fully-qualified, with a prefix matching the type name. eg. MyEnumType.FirstEnumValue versus merely FirstEnumValue. |
03:39:33 | disruptek | useful for exports. |
03:39:33 | FromDiscord | <treeform> disruptek is right I was wrong |
03:40:05 | FromDiscord | <Lunar> Also, parseInt is supposed to convert numbers only, correct? |
03:40:33 | FromDiscord | <treeform> @Lunar no you importer `parseutils` one not `strutils` one. |
03:40:40 | FromDiscord | <treeform> @Lunar no you imported `parseutils` one not `strutils` one. |
03:41:01 | FromDiscord | <Lunar> I had no clue that there was the same method in two different modules. My fault entirely |
03:41:20 | FromDiscord | <treeform> yeah I think the `parseutils` has a bad name |
03:41:34 | FromDiscord | <exelotl> @Tsukiko(Lunar) just to let you know, it's advisable not to use multiline messages here because this channel is bridged to IRC and Gitter. Your message won't show up properly for people who are using those |
03:41:50 | FromDiscord | <treeform> it should be `tryParseInt` or some thing |
03:42:15 | FromDiscord | <Lunar> Noted |
03:42:53 | disruptek | !eval import strutils; echo "42".parseInt |
03:42:56 | NimBot | 42 |
03:42:58 | FromDiscord | <exelotl> (but yeah it's awesome that nim syntax highlighting works on discord) ^^ |
03:43:16 | disruptek | !eval import strutils; echo parseInt("42") |
03:43:19 | NimBot | 42 |
03:43:27 | FromDiscord | <Lunar> That's neat |
03:43:27 | disruptek | !eval import strutils; echo parseInt "42" |
03:43:30 | NimBot | 42 |
03:43:39 | disruptek | !eval import strutils; echo parseInt "not a number" |
03:43:42 | NimBot | /usercode/in.nim(1) in↵/nim/lib/pure/strutils.nim(1096) parseInt↵Error: unhandled exception: invalid integer: not a number [ValueError] |
03:43:57 | disruptek | !eval import strutils; echo parseInt("") |
03:44:01 | NimBot | /usercode/in.nim(1) in↵/nim/lib/pure/strutils.nim(1096) parseInt↵Error: unhandled exception: invalid integer: [ValueError] |
03:44:29 | disruptek | have fun; the bot rarely gets exercise. 😁 |
03:45:03 | FromDiscord | <Lunar> I should use it more then :P |
03:45:25 | FromDiscord | <Lunar> !eval echo "Test" |
03:45:27 | NimBot | Test |
03:45:31 | FromDiscord | <Lunar> Whoa. |
03:45:49 | FromDiscord | <Lunar> I didn't think it would work across chat clients |
03:50:26 | FromDiscord | <Lunar> How do I give a function an description? Like the one that pops up for ``echo``, ``parseInt``, ``import`` already? |
03:50:44 | FromDiscord | <Lunar> I tried to do ```"""This is a procedure description"""```, but that didn't work |
03:50:58 | FromDiscord | <Lunar> Definitely not like Python 😅 |
03:51:24 | disruptek | use ## this instead |
03:51:45 | disruptek | then when you export the symbol, ## these contents will go in the docs. |
03:52:21 | FromDiscord | <Lunar> Thank you! |
03:53:28 | disruptek | also note that if you don't export the symbol, it won't show up in the docs you generate with `nim doc somefile.nim`. |
03:53:50 | FromDiscord | <Lunar> Export the symbol...? |
03:54:15 | disruptek | by adding a * to the symbol name at definition, or with an `export` statement. |
03:54:26 | FromDiscord | <Lunar> I'll look into that later |
03:54:33 | FromDiscord | <Lunar> Thank you for letting me know about that though |
03:55:13 | disruptek | yeah, it confused me once. |
03:55:16 | * | chemist69 quit (Ping timeout: 264 seconds) |
03:56:57 | * | chemist69 joined #nim |
04:05:49 | FromDiscord | <Rika> disruptek, but when i put pure on an enum it still accepts a non-prefixed entry w/o the type name (within the file) |
04:09:49 | * | thomasross quit (Remote host closed the connection) |
04:13:35 | disruptek | yes, for convenience. |
04:14:30 | FromDiscord | <Rika> outside the file it has to be fully qualified? |
04:15:10 | * | endragor joined #nim |
04:15:34 | FromGitter | <zacharycarter> shashlick: with nimterop, it seems that header files with an extension of anything other than `.h` don't get picked up |
04:15:36 | disruptek | it's so you don't need to duplicate the type name in the enum name when exporting. eg. Http.Get, Http.Post, Http.Head, etc. versus having to define `type Http = enum HttpGet, HttpHead` and then having to use `HttpGet` in your file. this way, you can use `Get` as you implement use of the enum, but export it as Http.Get. |
04:15:47 | FromGitter | <zacharycarter> for instance `.h.in` |
04:19:01 | disruptek | and despite all that, you can be assured that `Get` is unlikely to clash with some other `Get` symbol. |
04:36:01 | shashlick | In cImport? |
04:37:16 | shashlick | Can you share the output? |
04:38:53 | FromGitter | <nanjizal> Was trying to build nimx using nake any ideas I expect Apple have been messing with command tools again. ⏎ ⏎ Error: unhandled exception: Unable to read file: /Applications/Xcode.app/Contents/Developer/SDKs/MacOSX.sdk/SDKSettings.plist [IOError] |
04:39:41 | * | Hideki_ joined #nim |
04:47:16 | shashlick | @zacharycarter - I do exactly that here https://github.com/nimterop/nimterop/blob/master/tests/tpcre.nim |
04:47:46 | * | endragor quit (Remote host closed the connection) |
04:47:53 | * | endragor joined #nim |
04:49:34 | FromGitter | <zacharycarter> yeah but you use it with cimport |
04:49:36 | FromGitter | <zacharycarter> not cinclude |
04:49:54 | FromGitter | <zacharycarter> it doesn't matter anymore anyway :P I'm just going to link to the shared library |
04:50:04 | FromGitter | <zacharycarter> they were doing a bunch of cmake bullshit behind the scenes which I don't feel like replicating |
04:50:52 | * | nif quit (Quit: ...) |
04:51:01 | * | nif joined #nim |
04:51:19 | * | endragor quit (Read error: Connection reset by peer) |
04:51:32 | * | endragor joined #nim |
05:03:04 | * | Hideki_ quit (Remote host closed the connection) |
05:19:51 | * | thomasross joined #nim |
05:20:52 | * | theelous3 quit (Ping timeout: 245 seconds) |
05:24:01 | * | Trustable joined #nim |
05:25:03 | * | theelous3 joined #nim |
05:40:16 | * | endragor quit (Remote host closed the connection) |
05:43:01 | * | skoude joined #nim |
06:01:42 | * | skoude quit (Ping timeout: 245 seconds) |
06:06:25 | * | Romanson joined #nim |
06:11:07 | * | endragor joined #nim |
06:15:09 | Zevv | oi zacharycarter, how was umbra? |
06:15:41 | * | solitudesf joined #nim |
06:15:52 | * | endragor quit (Ping timeout: 245 seconds) |
06:19:40 | FromGitter | <zacharycarter> hey Zevv! it was just a phone call with their COO but it went well I think |
06:19:43 | FromGitter | <zacharycarter> in person next week |
06:20:19 | Zevv | sweet! |
06:20:36 | Zevv | It's *so* hard to be without a job as an engineer these days :) |
06:21:09 | FromGitter | <zacharycarter> agreed |
06:22:18 | * | mibr joined #nim |
06:24:01 | * | narimiran joined #nim |
06:36:13 | FromDiscord | <Shield> what's the proper way to deal with `Connection was closed before full request has been made` error? the httpclient always fails on the first call after being idle for a bit |
06:38:45 | * | Hideki_ joined #nim |
06:38:49 | * | Hideki_ quit (Remote host closed the connection) |
06:43:44 | * | endragor joined #nim |
06:48:15 | * | Trustable quit (Remote host closed the connection) |
06:48:41 | * | endragor quit (Ping timeout: 265 seconds) |
06:56:26 | Zevv | hm maybe the remote closed the Keep-alive socket after some time, but Nim only notice when it starts sending on the socket a bit later? |
06:56:48 | Zevv | that would be a bug on the nim side I guess |
06:57:32 | * | actuallybatman quit (Ping timeout: 245 seconds) |
06:59:56 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:00:29 | * | ng0 joined #nim |
07:05:04 | * | gmpreussner joined #nim |
07:07:51 | * | Sailor2153 joined #nim |
07:08:40 | * | Sailor2153 quit (Client Quit) |
07:08:48 | FromDiscord | <Shield> it's a discord bot, AsyncWebSocket works fine, this only happens with AsyncHttpClient, i can't get the http status code because it throws an exception |
07:10:13 | FromDiscord | <Shield> the workaround i have so far is to wrap the calls in a try/except block then use a while loop, to make the call again, it works fine on the second call and further calls until you don't use it for few minutes |
07:18:50 | * | theelous3 quit (Ping timeout: 240 seconds) |
07:24:28 | * | Hideki_ joined #nim |
07:30:02 | * | Hideki_ quit (Remote host closed the connection) |
07:34:59 | * | LargeEpsilon joined #nim |
07:44:25 | FromDiscord | <arnetheduck> @awr1 we put `ptrops` in `stew` for now - https://github.com/status-im/nim-stew/blob/master/stew/ptrops.nim - we'll be trying them out there to see how they work in practise |
07:46:27 | FromDiscord | <Shield> Zevv may be into something, it fails at `parseResponse` in `httpclient.nim`, what i don't understand is, the calling function does call `newConnection`which closes the client if it's connected before making the request |
07:47:30 | FromDiscord | <Shield> i like how when i added 1 echo statement in that file the bug refused to show up so far |
07:48:42 | FromDiscord | <Shield> actually |
07:51:38 | FromDiscord | <Shield> https://github.com/nim-lang/Nim/blob/version-1-0/lib/pure/httpclient.nim#L783 |
07:52:15 | FromDiscord | <Shield> this line might be the culprit, it ignores the whole `newConnection` |
07:53:13 | FromDiscord | <Shield> also on line 796 there's no need for `client.connected = false` since `client.close()` does that by default |
07:53:37 | FromDiscord | <Shield> i'm gonna make a new issue |
08:02:25 | * | dddddd quit (Remote host closed the connection) |
08:14:01 | FromDiscord | <Shield> issue link https://github.com/nim-lang/Nim/issues/12299 |
08:18:39 | * | Vladar joined #nim |
08:22:52 | * | asymptotically joined #nim |
08:33:54 | * | nsf joined #nim |
08:39:33 | * | endragor joined #nim |
08:49:38 | * | endragor quit (Ping timeout: 240 seconds) |
08:50:37 | * | krux02 joined #nim |
09:03:17 | * | mibr_ joined #nim |
09:03:50 | * | mibr quit (Read error: Connection reset by peer) |
09:08:25 | * | mibr_ quit (Remote host closed the connection) |
09:08:44 | * | mibr_ joined #nim |
09:20:52 | FromGitter | <gogolxdong> Hi guys, here is a question, how to make threads and channels work on standalone OS? |
09:27:07 | * | Romanson quit (Quit: Connection closed for inactivity) |
09:36:34 | * | NimBot joined #nim |
09:44:08 | * | mibr_ quit (Remote host closed the connection) |
09:53:57 | * | Romanson joined #nim |
09:59:12 | * | narimiran quit (Ping timeout: 245 seconds) |
10:10:03 | * | solitudesf quit (Ping timeout: 240 seconds) |
10:16:43 | * | clyybber joined #nim |
10:22:20 | FromGitter | <gogolxdong> and how to trace a ptr type which is return from a ffi proc? |
10:24:02 | Zevv | what do you mean by "trace"? |
10:25:10 | FromGitter | <gogolxdong> cast it to ref |
10:26:10 | Zevv | you can wrap it in a nim object |
10:28:09 | FromGitter | <gogolxdong> Is there any snippet? |
10:28:38 | FromGitter | <gogolxdong> Do you mean casting doesn't work by the way? |
10:28:57 | FromDiscord | <Shield> no you can't cast ptr to ref |
10:29:32 | FromGitter | <gogolxdong> event the syntax allows? |
10:29:46 | Zevv | No, refs are more then a ptr, but wrapping into an object and using a finalizer should work |
10:31:34 | Zevv | I must admit I am still not sure how this fits in with the current language, though. Are finalizers related to destructors, and why are they not yet mentioned in the manual? |
10:31:44 | FromDiscord | <Shield> what do you mean by the syntax allows it? |
10:32:00 | Zevv | gogolxdong: http://ix.io/1Xkj |
10:34:14 | FromDiscord | <Shield> @Zevv I was about to ask exactly the same question |
10:35:27 | FromGitter | <gogolxdong> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d9088eebf625112c0ff74d3] |
10:45:54 | clyybber | Zevv: Ideally finalizers should be the same as destructors in nim |
10:47:09 | * | endragor joined #nim |
10:50:49 | * | skoude joined #nim |
10:52:23 | FromDiscord | <Shield> so far it looks that =destroy only accepts objects, while finalizers accept refs |
10:52:26 | Zevv | The information about this subjects is still fragmented I believe. Ideally, you'd want a finalizer to be able to do RAII for you, effectively cleaning up the moment something goes out of scop or loses its last reference, instead of when the GC feels like it |
10:54:03 | FromDiscord | <Shield> another note is that the finalizers are only called on GC_fullcollect() |
10:54:57 | * | skoude quit (Ping timeout: 240 seconds) |
10:55:22 | FromDiscord | <Shield> what i don't understand is why doesn't ref to Foo call the destructor of Foo |
10:56:17 | * | endragor quit (Ping timeout: 240 seconds) |
11:00:50 | * | Trustable joined #nim |
11:08:38 | Araq | `=destroy` sets the finalizer |
11:10:19 | Zevv | what is the relation with new(.., finalizer)? |
11:12:52 | FromDiscord | <Shield> Araq: can you explain in a clearer way? |
11:18:46 | FromDiscord | <Shield> so far it looks like `reset` is a good way to force a finalizer to execute, but it still doesn't call the destructor |
11:19:40 | FromDiscord | <Shield> according to Araq's comment in https://forum.nim-lang.org/t/4132#25775 |
11:19:40 | FromDiscord | <Shield> the finalizer of ref T should call the destructor of T |
11:19:47 | FromDiscord | <Shield> i'm very confused |
11:43:44 | FromDiscord | <Rika> what's bitwise and in nim? |
11:43:48 | FromDiscord | <Rika> &? |
11:49:38 | Zevv | !eval 60 and 24 |
11:49:40 | NimBot | Compile failed: /usercode/in.nim(1, 4) Error: expression '24' is of type 'int literal(24)' and has to be discarded |
11:49:45 | Zevv | !eval echo 60 and 24 |
11:49:48 | NimBot | 24 |
12:13:35 | Zevv | http://zevv.nl/div/nim1.jpg http://zevv.nl/div/nim2.jpg |
12:28:31 | * | solitudesf joined #nim |
12:32:21 | * | adeohluwa joined #nim |
12:36:11 | * | Ven`` joined #nim |
12:39:00 | clyybber | Zevv: Nice |
12:41:56 | Araq | Zevv: is that real or a fake? |
12:42:37 | Zevv | real |
12:42:43 | Zevv | denmark |
12:42:58 | Zevv | awr mentioned that on #nim-offtopic |
12:53:06 | shashlick | @zacharycarter - that's why I've put together getHeader - check the v020 branch of nimterop |
12:53:21 | FromGitter | <zacharycarter> (https://files.gitter.im/nim-lang/Nim/bM8Y/image.png) |
12:53:27 | FromGitter | <zacharycarter> Mr fix it has entered the scene |
12:53:28 | shashlick | And gcc itself won't pick up .in files |
12:53:28 | * | endragor joined #nim |
12:54:41 | Zevv | what's he doing, line dancing? |
12:54:41 | FromGitter | <zacharycarter> ah okay |
12:54:51 | FromGitter | <zacharycarter> could be |
12:55:01 | FromGitter | <zacharycarter> I just need to add animation uniforms |
12:55:04 | FromGitter | <zacharycarter> and I can get him moving |
12:55:15 | Zevv | :) |
12:55:19 | FromGitter | <zacharycarter> I'm not far off from being able to make a quake FPS with this thing |
12:55:35 | FromGitter | <zacharycarter> but I want to make the golf game I have in mind first |
12:57:07 | * | Romanson quit (Quit: Connection closed for inactivity) |
12:57:24 | Zevv | BFG: Big F***g Golf |
12:57:34 | FromGitter | <zacharycarter> I'm calling it FORE |
12:57:55 | shashlick | @zacharycarter - https://github.com/nimterop/nimterop/blob/v020/nimterop/build.nim#L695 |
12:58:35 | FromGitter | <zacharycarter> shashlick: thanks! I don't think I'm going to use nimterop though for ODE - there's too much cmake crap going on behind the scenes to easily do it |
12:58:48 | FromGitter | <zacharycarter> like several calls to configure_file which are annoying to replicate |
12:59:09 | shashlick | See the docs for getHeader |
12:59:17 | shashlick | You don't need to replicate it anymore |
12:59:49 | shashlick | Just have cmake in your path that's all |
13:00:09 | shashlick | Nimterop will build the lib and find the shared or static lib for you |
13:00:32 | FromGitter | <zacharycarter> ooo okay I'll try this out |
13:00:40 | FromGitter | <zacharycarter> thanks |
13:01:17 | * | endragor quit (Ping timeout: 276 seconds) |
13:01:20 | shashlick | See the lzma or zlib tests |
13:01:21 | shashlick | And getHeader.nims |
13:12:30 | * | nsf quit (Quit: WeeChat 2.5) |
13:15:29 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
13:16:15 | * | Ven`` joined #nim |
13:16:18 | * | Ven`` quit (Client Quit) |
13:17:58 | shashlick | @treeform I'll bet you know this well - https://gankra.github.io/blah/text-hates-you/ |
13:19:33 | * | theelous3 joined #nim |
13:22:10 | * | narimiran joined #nim |
13:27:58 | owl_000 | treefrom, i asked a question in your typography.git |
13:28:21 | * | solitudesf quit (Remote host closed the connection) |
13:29:55 | * | solitudesf joined #nim |
13:40:29 | FromDiscord | <Shield> oh wow, Cairo bindings haven't been updated for a while now |
13:45:43 | FromDiscord | <Lunar> Does Nim have support for mobile? |
13:46:20 | disruptek | only android, ios, or web. 😢 |
13:46:40 | FromDiscord | <Lunar> So it does have support for Android and iOS |
13:46:57 | disruptek | actually, i think we have nightlys for raspberry pi now, too, right? |
13:47:05 | disruptek | nightlies, even. |
13:47:14 | FromDiscord | <Lunar> Interesting... |
13:47:18 | shashlick | Yep |
13:47:19 | FromDiscord | <Lunar> Glad to know y'all do though! |
13:47:28 | shashlick | Android as well |
13:47:32 | FromDiscord | <Lunar> Nim is my new favorite language |
13:47:55 | FromDiscord | <Lunar> Now I just need to learn how to make a calculator in it 😅 |
13:47:57 | * | whaletechno quit (Ping timeout: 240 seconds) |
13:48:32 | FromDiscord | <Corax> Sorry, I'm a complete newbie to nim :) I understand that nim compiles to intermediate C, so what does it mean for it to support a particular architecture? Does it mean the intermediate C is not platform agnostic? |
13:49:05 | disruptek | it means if you can target platform X using a C compiler, you can target platform X using nim. |
13:49:16 | disruptek | and ditto JavaScript. |
13:49:23 | Zevv | well, up to a certain level |
13:49:29 | disruptek | and with the nlvm project, ditto LLVM IR. |
13:49:39 | Zevv | you do need some of the host or platform support if you properly want to use the stdlib |
13:49:57 | Zevv | the core language in theory runs "everywhere" with a moderately recent C compiler |
13:50:02 | FromDiscord | <Lunar> I do know that Nim supports most architectures, and all three main OS's. |
13:50:06 | FromDiscord | <Corax> Ok so it's mostly stdlib being tailored to the right syscalls and such? |
13:50:34 | Zevv | right. If your system is posix-y you you propbably have a nearly free lunch |
13:50:48 | FromDiscord | <Lunar> *Lucky*the |
13:50:51 | FromDiscord | <Lunar> *Lucky* |
13:51:00 | Zevv | but more alien architectures are not too hard to add - for example nintendo switch was added some time ago without too much hassle |
13:51:04 | FromDiscord | <Corax> I work in embedded mostly, so I'm curious good much work is it too get nim running in a stm32 :) gotta do some reading |
13:51:09 | FromDiscord | <Lunar> Oh??? |
13:51:15 | FromDiscord | <Corax> I work in embedded mostly, so I'm curious how much work is it too get nim running in a stm32 :) gotta do some reading |
13:51:23 | FromDiscord | <Lunar> I can develop for the Switch now... Sounds fun |
13:51:41 | Zevv | Corax: I got basic Nim running inside the linux kernel some time ago, which was also not too hard |
13:51:56 | Zevv | Lunar: not sure what the state of this port is though, it feels a bit unloved |
13:52:05 | FromDiscord | <Lunar> That's fair |
13:52:33 | Zevv | Some people are currently putting a bit more effort into getting a smooth android experience, which would be cool |
13:53:03 | owl_000 | that will be cool, i always wanted to write app for android. |
13:53:22 | FromDiscord | <Lunar> Writing an app for Android isn't that hard in Java |
13:53:30 | FromDiscord | <Lunar> I haven't got a clue for Nim though |
13:53:36 | federico3 | Corax: I have Nim running even on attiny 85 |
13:53:37 | Zevv | real "apps" still always need an outer shell of java, but if you target games you should be ok dropping right into nim after initialisation |
13:54:09 | Zevv | federico3: how did you override nims default aggressive heap allocation behaviour? Or do you do stack-only for now? |
13:54:16 | FromDiscord | <Corax> federico3: nice! |
13:54:32 | dom96 | narimiran: Araq: is there a reason there is a `verison-1-0` branch? |
13:54:39 | narimiran | yes |
13:54:40 | narimiran | :) |
13:54:54 | disruptek | it's a typo. |
13:54:59 | disruptek | supposed to be venison. |
13:55:11 | dom96 | narimiran: what's the reason? |
13:55:14 | FromDiscord | <treeform> @Tsukiko(Lunar) https://forum.nim-lang.org/t/5197 |
13:55:16 | FromDiscord | <Lunar> Dom: I'm assuming it's there so you can downgrade because of a bug or something |
13:55:21 | narimiran | dom96: backports for 1.0.2 |
13:55:23 | federico3 | Zevv: nogc so far, but the ownedref experment looks promising |
13:55:40 | narimiran | just like there are v-0-20 and v-0-19 branches |
13:55:48 | Zevv | federico3: yes, but heap allocations in general, if you `new()` something? |
13:56:13 | federico3 | so far I used the default |
13:56:46 | dom96 | narimiran: I see. Might be a good idea to document this with a consistent format that we intend to use for these branches, this is already inconsistent with the v-0-20 branch :P |
13:56:48 | federico3 | (and yes, it could be tuned, but to get there we need a community around SoC/embedded/micros) |
13:56:58 | Zevv | hmm ok. I put some stuff in a linux kernel module some time ago, but then I ran into the issue that Nim by default allocs in chunks of 500Mb or so to avoid malloc()/free() overhead |
13:56:59 | dom96 | Lunar: that's what the git tags are for |
13:57:04 | narimiran | how is it inconsistent? |
13:57:14 | dom96 | narimiran: version vs. v |
13:57:17 | Zevv | what did work ok for me though was the basic newruntime stuff |
13:57:22 | narimiran | v0.20 -> branch version-0-20 branch |
13:57:22 | dom96 | also, I'd say you should include `backports` in the name |
13:57:27 | narimiran | v1.0 -> branch version-1-0 branch |
13:57:30 | Zevv | I'll blow some dust of this repo to see if I can get things a bit more smooth |
13:57:44 | federico3 | Zevv: did you say 500MB? |
13:57:51 | FromDiscord | <Lunar> Treeform: So I still need an Apple device to develop for Apple? |
13:58:06 | dom96 | narimiran: ahh, you shortened it in your message |
13:58:07 | FromDiscord | <Lunar> Or specifically iOS |
13:58:09 | narimiran | yep |
13:58:15 | FromDiscord | <Lunar> Shame |
13:58:19 | dom96 | narimiran: still, `backports` in the name would be nice :) |
13:58:21 | Zevv | federico3: or 50 or so, let me check |
13:58:37 | shashlick | Why |
13:58:38 | narimiran | dom96: don't nitpick, it is ok (and consistent with the current branches :P) |
13:58:47 | FromDiscord | <Shield> @treeform i think you should add your cairo bindings to nimble.packages, finding it made me smile |
13:59:00 | Zevv | oh 500Kb it was ;) |
13:59:02 | dom96 | narimiran: it's not a nitpick. I've seen someone link to this branch, probably assuming that it refers to v1.0 as was released |
13:59:06 | Zevv | well, just a few zeroes |
13:59:16 | shashlick | Going forward you want to branch out early and stabilize on the branch |
13:59:19 | Zevv | federico3: but still, on a tiny85 I suspect the effect would be the same |
13:59:29 | shashlick | Not just backport |
13:59:34 | dom96 | narimiran: and since I had to ask what it's about, it seems clear that most won't be able to deduce that it's for backports |
13:59:41 | narimiran | one can misuse or misunderstand things no matter how they are called |
13:59:45 | federico3 | Zevv: not only that, most micros have < 500KB |
14:00:00 | narimiran | dom96: that's because you haven't payed the attention for the last year or so ;) |
14:00:07 | shashlick | Tags are for specific versions |
14:00:08 | Zevv | federico3: that's what I mean yes. The effect is the same if it tries to alloc 500K or 500M :) |
14:00:16 | shashlick | Branches don't stay still |
14:00:30 | dom96 | narimiran: I already pay for more attention than most |
14:00:41 | narimiran | shashlick: agreed with all you just said |
14:00:42 | Zevv | federico3: so I ended up making a specific os target in the compiler, but I feel it should be easier |
14:01:59 | shashlick | @dom96 - https://github.com/dom96/choosenim/pull/135 |
14:02:04 | federico3 | Zevv: clearly the allocation behavior is different when nogc and --os:none |
14:02:10 | shashlick | I'll fix the nimble ci next week |
14:02:18 | Zevv | federico3: used newruntime |
14:02:24 | federico3 | ah |
14:03:06 | federico3 | I meant --os:standalone |
14:03:36 | Zevv | ah right |
14:05:14 | Zevv | hm stuff doesn't work anymore anyway, raiseExceptionEx errors and the like |
14:09:12 | * | adeohluwa quit (Ping timeout: 245 seconds) |
14:10:15 | Zevv | Anyone know what "Error: system module needs: raiseExceptionEx |
14:10:18 | Zevv | might indicate? |
14:10:26 | Zevv | that's on os-standalone |
14:11:04 | disruptek | some kinda os-specific unwind lib? |
14:12:07 | disruptek | no os means exceptions don't occur. i think i found my new compilation target. |
14:12:19 | Zevv | I use quirky's here anyway |
14:12:40 | Zevv | but still, this used to work but broke somewhere over the last half year |
14:15:08 | federico3 | Zevv: one sec |
14:19:00 | federico3 | Zevv: http://paste.debian.net/1103263/ |
14:20:01 | Zevv | yeah I have those, but is there a relation with raiseExceptionEx() then? |
14:20:56 | * | daddoo joined #nim |
14:28:38 | * | dddddd joined #nim |
14:28:46 | FromDiscord | <Lunar> Can Nim render HTML |
14:29:06 | Zevv | Lunar: https://nim-lang.github.io/Nim/htmlgen.html |
14:31:55 | disruptek | see also the karax package. |
14:33:26 | Zevv | yeah, use that indeed |
14:34:42 | * | salewski joined #nim |
14:35:33 | salewski | https://irclogs.nim-lang.org/29-09-2019.html#13:40:29 |
14:35:38 | salewski | <Shield> oh wow, Cairo bindings haven't been updated for a while now |
14:36:38 | salewski | Shield, they are also in oldgtk and gintro -- and the treeforms seems to be based on my ones too. |
14:36:41 | * | salewski quit (Client Quit) |
14:45:35 | disruptek | lurker driveby |
14:46:00 | FromDiscord | <Lunar> Zevv: I'm assuming this can be used with a GUI application to make a "electron" sort of feel? |
14:49:40 | disruptek | no, because it's not a browser. you use it in your browser, via a js target. or on a server, to render for a client, etc. |
14:54:06 | FromDiscord | <Lunar> So then, Nim does not have an HTML renderer |
14:56:18 | Zevv | aah render the other way around. I guess your question had a certain level of abiguity |
14:57:29 | FromDiscord | <Lunar> My bad, should've clarified more |
14:57:31 | Zevv | Can you name some renderers from other languagqes? |
14:57:38 | * | nsf joined #nim |
14:57:43 | FromDiscord | <Lunar> Well, there's Electron |
14:57:52 | * | endragor joined #nim |
14:57:55 | Zevv | Because these days if you want that, you end up with webkit or electron |
14:58:09 | FromDiscord | <Lunar> Then in Python, there's ``tkhtml`` |
14:58:34 | Zevv | thats kind of crappy, actually |
14:58:38 | Zevv | and not python |
14:58:44 | Zevv | it has a binding, yes, but thats about it |
14:59:04 | FromDiscord | <Lunar> and in Java there's ``Htmlunit`` and ``HTML Cleaner`` |
14:59:17 | Zevv | yes, but that does not *render*, does it? |
14:59:17 | FromDiscord | <Lunar> I'm well aware Tkhtml's use |
14:59:24 | Zevv | it just parses |
14:59:24 | FromDiscord | <Lunar> I suppose not |
14:59:29 | Zevv | we have that |
14:59:49 | FromDiscord | <Lunar> Interesting |
14:59:55 | Zevv | htmlparser and xmlparse, if I remember correctly |
15:00:15 | FromDiscord | <Lunar> So in order to make an HTML GUI application, I have to make a library to do so |
15:00:21 | FromDiscord | <Lunar> Just like how electron has |
15:00:23 | FromDiscord | <Lunar> and webkit |
15:01:09 | FromDiscord | <Lunar> Well, that's fine |
15:01:20 | FromDiscord | <Lunar> I didn't come to learn Nim because of it's HTML capabilities |
15:01:25 | Zevv | :) |
15:01:40 | FromDiscord | <Lunar> Thanks for your help Zevv |
15:01:52 | FromDiscord | <Lunar> Any other GUI libs you recommend? |
15:04:28 | FromDiscord | <Lunar> Found this website: <https://matthiashager.com/gui-options-for-nim>. Looks promising |
15:04:31 | Zevv | Not that I have experience with, I'm not a gui kind of guy |
15:04:54 | Zevv | i do know that the-one-gui-to-rule-them-all is still not here |
15:05:26 | Zevv | afaik there is no viable and mature cross-platform option for nim yet |
15:05:39 | Zevv | but that is the right page to start from I guess |
15:07:15 | * | endragor quit (Ping timeout: 240 seconds) |
15:08:10 | FromDiscord | <Lunar> <https://github.com/zacharycarter/nuklear-nim> Seems to be the one-gui-rules-them-all |
15:08:18 | FromDiscord | <Lunar> It's on all supported platforms |
15:08:23 | FromDiscord | <Lunar> My only problemis |
15:08:25 | FromDiscord | <Lunar> My only problem is |
15:08:29 | FromDiscord | <Lunar> What can it do? |
15:09:01 | Zevv | its a binding for https://github.com/vurtun/nuklear |
15:09:25 | Zevv | which is portable, true, but it is not a native gui, which is kind of what i ment |
15:10:42 | FromDiscord | <Lunar> Same here tbh. But hey, it works |
15:14:34 | Zevv | so, what are you looking for in Nim then? |
15:15:47 | FromDiscord | <Lunar> AS of right now, I'm using Nim for cross platform support |
15:15:57 | FromDiscord | <Lunar> and CPU support |
15:16:02 | Zevv | well, there it shines indeed |
15:16:05 | FromDiscord | <Lunar> Indeed |
15:16:26 | FromDiscord | <Lunar> Since I don't have an Apple device, Nim is really the only way to develop for my friends Mac |
15:16:39 | FromDiscord | <Lunar> and of course, other poor Apple users |
15:16:40 | FromDiscord | <Lunar> 😂 |
15:17:11 | Zevv | hmm I guess you could as well do c++ or go or rust then? |
15:17:18 | FromDiscord | <Lunar> Yes, I could |
15:17:18 | FromDiscord | <Lunar> but |
15:17:21 | Zevv | but |
15:17:30 | owl_000 | they are hard |
15:17:34 | Zevv | haha. Well |
15:17:37 | owl_000 | bloated |
15:18:00 | FromDiscord | <Lunar> I tried C+, but couldn't tell the difference between the C code and the C++ code |
15:18:03 | Zevv | go is not hard, nor is it bloated. But Go is just a bit *too* basic for some |
15:18:42 | FromDiscord | <Lunar> I haven't actually tried Rust yet |
15:18:50 | Zevv | modern c++ is nowhere near c. I loathed c++ for years, but with the very latest standards I find it almost bearable |
15:19:05 | Zevv | I trued rust, and I plan to do this years advend of code in Rust |
15:19:14 | FromDiscord | <Lunar> Also I couldn't find a C++ compiler with the latest standards |
15:19:16 | Zevv | but I'm not sure if I will really *like* it |
15:19:35 | Zevv | Personally what I find in Nim is simply joy in coding |
15:19:50 | FromDiscord | <Lunar> Other than VS, but I don't want to install 20GB just to try to write in a language I don't understand |
15:20:01 | FromDiscord | <Lunar> Nim does look *very* promising in the future |
15:20:09 | FromDiscord | <Lunar> Which is one reason why I'm learning it |
15:20:18 | Zevv | true, it is very light on the dependencies |
15:20:32 | FromDiscord | <Lunar> Indeed |
15:20:47 | owl_000 | zevv, do you think rust has dependency problem? one cargo dopends on lot of cargo |
15:20:57 | Zevv | Well, I am in no position to do so, but still I welcome you to the Nim community! |
15:21:25 | Zevv | owl_000: I know nearly *nothing* about Rust, so I try not to have too many opinion yet |
15:21:29 | Calinou | finding compilers that support C++17 today isn't particularly difficult, just saying :P |
15:22:03 | Zevv | I understand the problems they are trying to support, but for some reason my first encounters with Rust were harder for me then my first encounters with Haskell |
15:22:14 | owl_000 | and learning material which focuses on c++17 is rare |
15:23:03 | Zevv | owl_000: basic templates and smart pointers are nice, but I still loathe the obligatory OO-verywhere paradigm |
15:23:05 | FromDiscord | <Lunar> I don't believe MinGW supports the latest standards |
15:23:24 | FromDiscord | <Lunar> I know Clang does, but it's hard finding a linter/compiler for it |
15:23:28 | Zevv | And maybe, just maybe, when coroutines take off in c++20, I will give it another chance |
15:23:29 | FromDiscord | <Lunar> VSC didn't quite cut it |
15:23:39 | FromDiscord | <Lunar> Same here |
15:24:48 | Zevv | I need to do c++ for work, and I am really amazed my the dire state of some parts of the ecosystem. Pages and pages of error messages from the compiler when I make some trivia mistake which happens to confuse the STL |
15:24:58 | owl_000 | in term of documentation, undeniably rust sets a role model |
15:25:18 | federico3 | how so? |
15:25:36 | Zevv | Nim made good progress here, but lots to do yet I guess. |
15:26:35 | Zevv | luckily we have narimiran :) |
15:26:57 | owl_000 | yes, thanks to him |
15:27:07 | narimiran | one narimiran vs all rust employees working on their docs ;) |
15:27:49 | FromDiscord | <Lunar> If you want a role model for documentation, take a look at PHP |
15:28:24 | Zevv | and there is one of the main things that brought me to Nim instead of all other options: no corporate involvement. |
15:28:39 | Calinou | MinGW definitely supports C++17 if you pick it from the right source (i.e. MSYS2, not the age-old mingw32) |
15:28:57 | Calinou | Clang also has official Windows binaries available |
15:29:29 | Calinou | Zevv: well, Status.im does sponsor Nim development |
15:30:05 | FromDiscord | <Lunar> > No corporate development |
15:30:06 | FromDiscord | <Lunar> Wdym by that? |
15:30:31 | FromDiscord | <Lunar> Do you mean that Microsoft doesn't make it or something? |
15:30:33 | Zevv | I recently witnessed this really nice failure of communication between core nim developers and status. Nimpeople were working on features that statuspeople didnt really care about, and nimpeople didnt know that. So you can say all you want, status does not in anyway seem to dictate where nim is going |
15:31:08 | Zevv | lunar: I mean there are no commercial parties involved in nim, financially nor politically |
15:31:38 | owl_000 | moving python to nim was easier than other option. i picked nim |
15:31:51 | owl_000 | as it is the most productive. |
15:31:52 | Zevv | Nim kind of goes where Araq, our benevolent dicatator, wants it to go. |
15:31:58 | * | nif quit (Quit: ...) |
15:32:08 | Zevv | owl_000: right. productivity and low friction |
15:32:08 | * | nif joined #nim |
15:32:29 | Zevv | which for me end up in "joy" |
15:32:56 | owl_000 | how nim combined efficiency productivity and performance at the same time. baffled me |
15:33:35 | owl_000 | as fast as c and as productive as python!!! |
15:33:48 | federico3 | owl_000: it's the whole point of the language :) |
15:34:41 | disruptek | the aesthetic is probably most important to me, because we spend more time reading code than writing it. i struggle enough reading someone else's code; i don't want to also have to wade through noise. |
15:34:53 | FromDiscord | <exelotl> is there a nim equivalent of https://svelte.dev/ ? |
15:35:25 | federico3 | karax |
15:35:26 | disruptek | karax is closest. |
15:35:38 | FromDiscord | <exelotl> yeah, but karax uses a virtual dom right? |
15:35:51 | disruptek | yes, but you can pretend it doesn't. |
15:36:44 | disruptek | i guess what i'm trying to say is that this technical detail is not going to be as important as just about everything else. |
15:37:21 | FromDiscord | <exelotl> yeah I guess, when it comes to Getting Stuff Done it doesn't really matter |
15:38:08 | FromDiscord | <exelotl> but my understanding is that svelte is faster than everything else out there (besides writing pure JS) |
15:38:53 | disruptek | i should really write the history of my startup, i feel like it would be worth reading for some. |
15:39:25 | Zevv | oh please do |
15:39:41 | disruptek | speed is great, it's like having a knob you can twiddle instead of having to do work. |
15:39:59 | * | actuallybatman joined #nim |
15:39:59 | FromDiscord | <exelotl> hahaha |
15:40:00 | disruptek | it's a strength of nim. i understand where you're coming from with the speed focus. |
15:40:35 | disruptek | but, at the end of the day, you have to balance against development effort. if you build something fast that you cannot change, when it's slow, you're screwed. |
15:41:04 | Zevv | I made a 500 line poc project in my company in nim |
15:41:12 | disruptek | with nim, i get something that is naturally fast. fast enough that i don't have to worry about speed unless i'm running into situations where i _should_ be worrying about speed. |
15:41:24 | disruptek | but the real speed boost is in productivity. |
15:41:29 | Zevv | it was reimplemented in c++ and java. it is now 15k lines and there i a performance issue |
15:41:43 | Zevv | i do not know how they managed to do that |
15:42:01 | disruptek | and that's where you get your speed wins, anyway -- in redesign, rearchitecture, understanding the problem better, building a prototype, building 10 prototypes, changing your algorithm, inventing a new algorithm, etc. |
15:42:12 | owl_000 | i tried rust before learning nim. rust has lot restriction and there is no difference whether you are writing hello world or business grade soft. which is problematic for every day task. simple learning took almost 2gb of hardisk space. |
15:42:29 | FromDiscord | <exelotl> Zevv that's tragic lol |
15:43:04 | owl_000 | trying examples was pain too. |
15:43:48 | owl_000 | if you want to do some research or trying out it is not easier. |
15:44:26 | disruptek | i think that's a pretty accurate criticism of rust, owl_000. |
15:44:33 | owl_000 | but nim doesn't have this problem. |
15:45:43 | Zevv | so that leaves go |
15:45:45 | Zevv | go is great |
15:45:53 | disruptek | go is pretty good, yes. |
15:46:03 | Zevv | I have no technical critiques on Go I think. |
15:46:38 | disruptek | doesn't have the portability, the backend agnosticism, the ffi is a little weaker, it's pretty opinionated, no generics. |
15:46:51 | disruptek | tbh i haven't written any in years. |
15:47:07 | owl_000 | another thing is go binary is huge |
15:47:41 | disruptek | takes me less than 10s to build a new nim compiler. takes the same machine 24m to install rust. |
15:48:37 | FromDiscord | <exelotl> writing bindings in Go was really scary to me, especially for structs, it's just like "define these fields and pray that the C compiler agrees with you on how they should be laid out in memory" |
15:48:43 | disruptek | go is probably the right language for my use-case, but i just think it's too walled-garden for my tastes. nim feels like it has legs. like it could be around awhile. |
15:48:47 | * | ng0 quit (Remote host closed the connection) |
15:49:18 | owl_000 | what is the advantage of go over nim? |
15:49:34 | owl_000 | lots of library maybe |
15:49:35 | federico3 | what? go is pretty rudimentary |
15:49:44 | disruptek | yeah, the ffi is fine if you have high-quality stuff to bind to, eg. it's your own code or it's pretty fresh. |
15:49:50 | * | ng0 joined #nim |
15:50:07 | FromGitter | <awr1> go is a response to C++ |
15:50:35 | disruptek | i'd say the go advantage is in concurrency. just a much better story there. |
15:50:42 | FromGitter | <awr1> it's C but with type inferrence, modules, and channels |
15:50:49 | FromGitter | <awr1> and defer. |
15:50:53 | disruptek | opinionated and well-reasoned, internally consistent. |
15:51:05 | FromGitter | <awr1> and multiple return, but that's basically tuples. |
15:51:11 | FromGitter | <awr1> i can't think of anything else |
15:51:28 | federico3 | awr1: no, it was designed to replace Python |
15:51:47 | disruptek | yeah, it's a c-like python conceptually. |
15:51:55 | federico3 | and for a very specific use case |
15:51:56 | disruptek | the audience... |
15:52:02 | disruptek | google engineers. |
15:52:09 | federico3 | no, google interns |
15:52:13 | disruptek | lol |
15:52:36 | disruptek | new google engineers. 😛 |
15:52:45 | FromGitter | <awr1> is it? i always heard it was grown out of pike's hatred of C++ |
15:53:00 | FromGitter | <awr1> of course i don't think it picked up many C++ users |
15:53:08 | disruptek | did you ever try pike, btw? pretty cool language back in the day. |
15:53:25 | disruptek | i looked it up recently. hard to believe it's still around. |
15:53:43 | FromGitter | <awr1> i heard about it, but i was reffering to rob pike |
15:53:53 | disruptek | yes. |
15:54:03 | owl_000 | rust will replace c++, go can't |
15:54:11 | FromGitter | <awr1> oh no i agree |
15:54:20 | FromGitter | <awr1> go picked up more ruby people than it did C++ |
15:54:41 | disruptek | hmm, replacing c++ is quite a tall order. c++ isn't standing still. |
15:54:58 | FromGitter | <awr1> pike (the language) had conceptually the right idea by being "hey, static types aren't *all* bad" |
15:55:59 | disruptek | at the time, the idea of an interpreted c that was as comfortable as pike was a novelty. |
15:57:08 | owl_000 | have you heard about zig lang, the authors plan is to replace C |
15:57:34 | FromGitter | <awr1> https://github.com/golang/go/issues/32437 |
15:57:40 | FromGitter | <awr1> it's funny to me how contraversial this was |
15:58:14 | FromDiscord | <exelotl> I found a bug at work the other day because someone had done something like `sendEvent("useShield:"+ProgressManager.getLevelIndex)` |
15:58:21 | FromDiscord | <exelotl> and javascript, in all its wisdom, decided to convert the whole 'getLevelIndex' function to a string and join them together |
15:58:46 | FromDiscord | <exelotl> gotta love dynamic typing lol |
16:00:31 | disruptek | js has some good parts that have changed my code, but honestly, the ecosystem is such a dumpster fire that i cannot look past it. |
16:02:52 | * | uu91 quit (Remote host closed the connection) |
16:07:58 | * | Ven`` joined #nim |
16:09:55 | disruptek | this go thread is interesting. deanveloper hits the nail on the head, imo. |
16:11:03 | owl_000 | @treeform, how to get seq from typography, i want to add text support in https://github.com/sk-Prime/nimDraw |
16:20:06 | Zevv | aw now I'm too late. I wanted to throw in vlang, while we were at it |
16:21:07 | owl_000 | vlang is vice lang |
16:24:13 | * | def- quit (Quit: -) |
16:28:01 | * | rmrf joined #nim |
16:28:21 | * | rmrf quit (Remote host closed the connection) |
16:28:22 | * | solitudesf- joined #nim |
16:30:37 | FromGitter | <Varriount> Isn't vlang the one that has a lot of promised features, that aren't implemented yet? |
16:31:06 | * | solitudesf quit (Ping timeout: 265 seconds) |
16:32:29 | FromGitter | <Varriount> Zevv ^ |
16:32:41 | * | solitudesf- quit (Client Quit) |
16:32:48 | shashlick | @varriount yep |
16:33:02 | * | solitudesf joined #nim |
16:33:42 | shashlick | I used Go after a long time in python |
16:33:52 | shashlick | It was too restrictive |
16:34:01 | shashlick | Frustrating |
16:34:15 | shashlick | Then I find Nim and loved the freedom and the performance |
16:35:22 | shashlick | Of course I routinely run into the boundaries with Nim as well, though I think that's just a maturity thing for Nim |
16:36:25 | * | LargeEpsilon quit (Ping timeout: 265 seconds) |
16:38:44 | disruptek | yep, i think most of the really exciting nim stuff is waiting to be written. |
16:40:30 | shashlick | @disruptek did you try to build feud yesterday on Linux? |
16:40:41 | shashlick | What's your time zone by the way |
16:41:03 | disruptek | edt at the moment, but i live on the road. |
16:41:11 | disruptek | i did try it but scintilla killed me. |
16:43:25 | shashlick | I messaged about that last night |
16:44:06 | disruptek | ahh, i see. |
16:44:15 | disruptek | okay, i will try hacking it out. |
16:44:32 | * | Traviss__ quit (Quit: Leaving) |
16:44:32 | * | traviss quit (Quit: Leaving) |
16:44:34 | shashlick | https://irclogs.nim-lang.org/29-09-2019.html#01:25:11 |
16:44:53 | shashlick | Remote is also not compiling due to some link error |
16:45:11 | shashlick | Really just need the config plugin and perhaps something else |
16:46:13 | shashlick | But I suspect it might still not be enough since there's calls to eMsg everywhere |
16:46:24 | shashlick | And that's from window |
16:46:32 | disruptek | i need to tell it where glib is apparently. the include. |
16:46:42 | shashlick | Will be back home today and will try both tests |
16:47:00 | shashlick | Well I welcome you to post it to Linux :) |
16:47:04 | shashlick | Port |
16:47:11 | disruptek | yeah, i'll see how far i get. |
16:47:20 | shashlick | There's a lot of windows specific code in window |
16:47:29 | shashlick | For keyboard and mouse stuff |
16:47:32 | shashlick | Event loop etc |
16:47:40 | disruptek | yuk. |
16:47:57 | shashlick | I was hoping for a toolkit that did it cross platform |
16:48:03 | shashlick | But there's nothing I could find |
16:48:11 | * | traviss joined #nim |
16:48:14 | FromDiscord | <Kiloneie> let data = readline(stdin) |
16:48:14 | FromDiscord | <Kiloneie> What is the correct name for stdin ? enumerator or keyword ? |
16:48:18 | * | Traviss__ joined #nim |
16:48:42 | * | Traviss__ quit (Client Quit) |
16:48:58 | owl_000 | that is a good question |
16:49:09 | shashlick | What gui toolkit can do keyboard, hotkeys etc |
16:49:19 | shashlick | And host scintilla |
16:49:55 | disruptek | stdin is just a value. |
16:51:55 | owl_000 | echo type(stdin) => File |
16:52:33 | disruptek | use `typeof` in preference to `type`. |
16:52:52 | * | Trustable quit (Remote host closed the connection) |
16:52:58 | owl_000 | i always forget it. :( |
16:53:07 | FromDiscord | <Kiloneie> hmm okay |
16:54:39 | shashlick | Any imgui experts here |
16:55:06 | disruptek | zacharycarter is your man. |
16:58:22 | * | owl_000 quit (Ping timeout: 245 seconds) |
16:58:24 | disruptek | now i just need to fix feud linking. |
17:02:29 | FromDiscord | <Kiloneie> Have you guys played with VS Code's terminal font size ? |
17:02:55 | FromDiscord | <Kiloneie> What font family do you use ? The default one won't go past 28 pixels for me. |
17:03:26 | FromGitter | <awr1> @disruptek yeah i agree |
17:03:40 | FromGitter | <awr1> their response is the most rational |
17:04:22 | * | endragor joined #nim |
17:05:03 | FromGitter | <awr1> i just get the feeling that most of the Go people are in this state of being afraid that they will move past some notion of purity and their language will turn into java |
17:05:27 | disruptek | not a fan of reactionary design. |
17:05:39 | disruptek | better to have a good idea of where you want to go than to merely flee where you've been. |
17:06:08 | FromGitter | <awr1> i suppose its ironic since i also happen to be okay with `result` and `return` in nim but w/e |
17:06:17 | FromGitter | <awr1> but yeah that's why i've never really cared for Go |
17:06:24 | FromGitter | <awr1> it seems like a kneejerk reaction |
17:07:30 | disruptek | oh, i think it's not a bad language. i just don't think "because it's too similar to java" is the best argument. i think deanveloper is appropriately discussing the actual flaw as opposed to merely contrasting to java exceptions. |
17:08:25 | FromGitter | <awr1> i feel like the kneejerk-ness is kinda intrinsic to go. generics were bad in C++, ergo, no generics |
17:08:28 | disruptek | my problem with go is that i just think it's going to be limited in scope by design, and i hate feeling like my limitations are due to language as opposed to my own personal deficiencies. |
17:09:58 | disruptek | i mean, people have written some big apps, but they require pretty verbose codebases that run into real limits of that which makes go suitable for everyone else. (afaict) |
17:10:27 | * | endragor quit (Ping timeout: 245 seconds) |
17:14:16 | FromDiscord | <Lunar> I believe I found a bug |
17:14:16 | FromDiscord | <Lunar> but |
17:14:25 | FromDiscord | <Lunar> I'm currently developing on a different partition |
17:14:33 | FromDiscord | <Lunar> *Specifically L:/* |
17:14:44 | FromDiscord | <Lunar> when I run the file the first time, everything is okay |
17:14:53 | FromDiscord | <Lunar> It compiles good, and it runs fine |
17:15:12 | FromDiscord | <Lunar> Now when I edit the file, save it, then try the *exact same thing* |
17:15:14 | disruptek | you need a devel version of the compiler. |
17:15:26 | disruptek | it was a lil bug that made it into 1.0 release on windows. |
17:15:33 | FromDiscord | <Lunar> I get the error: |
17:15:33 | FromDiscord | <Lunar> ```oserr.nim(94) raiseOSError |
17:15:33 | FromDiscord | <Lunar> Error: unhandled exception: The filename, directory name, or volume label syntax is incorrect. |
17:15:34 | FromDiscord | <Lunar> [OSError] |
17:15:34 | FromDiscord | <Lunar> ``` |
17:15:39 | FromDiscord | <Lunar> So everyone is aware of it? |
17:15:59 | disruptek | well, now they are. wish you had kept silent about it. 😉 |
17:16:05 | FromDiscord | <Lunar> Lmao 😂 |
17:16:26 | disruptek | try a nightly. |
17:17:01 | FromDiscord | <Lunar> Will do |
17:18:13 | * | daddoo quit (Quit: Leaving) |
17:18:42 | federico3 | awr1: purity? It's quite inconsistent. |
17:19:33 | FromDiscord | <Lunar> Happens to me anytime I use Visual Studio Code |
17:19:36 | FromDiscord | <Lunar> Using the command: |
17:19:51 | FromDiscord | <Lunar> ```nim c -r "l:\Desktop\App\Nim\examples\example_01_basic_app.nim"``` |
17:20:14 | FromDiscord | <sealegs> When creating an exe file using `nim c -d:release filename` does anyone know how to hide console? |
17:20:30 | FromDiscord | <Lunar> Hide the console? |
17:20:34 | solitudesf | `--app:gui` |
17:22:40 | FromDiscord | <Lunar> Also, another bug: When the app/terminal/console/whatever gets done executing, the process `nimsuggest.exe` stays active in the currently executing directory. This prevents me from deleting the directory after the script is done. |
17:22:44 | FromDiscord | <Lunar> Trying to nightly now |
17:23:01 | FromGitter | <awr1> @federico3 i don't really disagree. but i think the go people think their language is "pure" |
17:23:34 | FromGitter | <awr1> primarily via their ethic of "not being too flashy" |
17:26:25 | solitudesf | nimsuggest is launched by vscode extension s |
17:26:38 | shashlick | @disruptek I'm out for 5 hours but totally open to your feedback on feud |
17:26:43 | shashlick | Thanks in advance |
17:26:48 | disruptek | np |
17:27:07 | disruptek | i just realized where the -static came from, so that helps. 🙄 |
17:27:37 | FromGitter | <awr1> i havent really tried feud but is it "mouseless" |
17:28:04 | disruptek | it is if you want it to be. |
17:28:13 | disruptek | it's BYOM |
17:29:07 | FromDiscord | <Lunar> Solirudesf: Ty |
17:29:36 | shashlick | There's nothing to click really |
17:29:46 | shashlick | So mouseless |
17:31:26 | FromDiscord | <Lunar> Bug 1 I mentioned earlier is fixed in nightly release 1.0.99 |
17:35:57 | * | pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
17:36:10 | * | pbb joined #nim |
17:36:55 | * | pbb quit (Client Quit) |
17:37:08 | * | pbb joined #nim |
17:40:38 | * | navinmistry joined #nim |
17:44:11 | disruptek | woot, it runs. |
17:44:53 | * | navinmistry quit (Ping timeout: 245 seconds) |
17:48:44 | disruptek | i can't really tell the difference between toggling the interior pointers flag, though. |
17:56:39 | * | whaletechno joined #nim |
17:58:51 | * | skoude joined #nim |
18:00:52 | disruptek | shashlick: here's my hack to make it build on linux: https://github.com/disruptek/feud/commit/013f0d3e47cb193976cc35c5db9bac8dc00c06d3 |
18:02:57 | * | skoude quit (Ping timeout: 245 seconds) |
18:10:37 | FromGitter | <dawkot> Does completing a future externally make the async proc stop? |
18:10:55 | FromGitter | <dawkot> Or, what's the idiomatic way to stop async procs externally |
18:11:29 | Araq | you mean 'cancel' a future? |
18:12:06 | FromDiscord | <Lunar> I honestly thought you said "what's the **idiotic** way to stop async procs". I was about to give you a whole list 😂 |
18:14:01 | clyybber | Araq: Are you working on a blog post/article? |
18:14:35 | Araq | not really, why? |
18:15:07 | Zevv | is there not new 1.0 release for the windows-recompile issue? |
18:15:11 | clyybber | I just faintly remembered someone stating in IRC that you are |
18:15:40 | clyybber | But my memory is failing me |
18:16:45 | Araq | well I'm torn between "Nim for C++ programmers" and "Memory management in Nim" |
18:17:08 | Araq | Zevv: we wait for 2 weeks and then 1.0.2 will be released |
18:17:26 | FromDiscord | <Lunar> Forget about Nim 1.0.1 |
18:17:27 | FromDiscord | <Lunar> ¯\_(ツ)_/¯ |
18:19:01 | FromDiscord | <SrMordred> Is there a way to use less memory for building nim? |
18:19:01 | FromDiscord | <SrMordred> I´m trying to build nim on a small f1.micro instance on google cloud (with choosenim) and it blows memory on the process(f1.micro have only 0,6 GB of mem). |
18:19:02 | FromDiscord | <SrMordred> there is a way to solve this? |
18:19:15 | clyybber | Araq: Did you see https://github.com/nim-lang/Nim/issues/12273 ? Any idea on how to debug this? |
18:20:06 | Araq | SrMordred: compile with -d:leanCompiler |
18:20:35 | Araq | clyybber: check the C code for invalid array sizes |
18:21:23 | clyybber | K, thanks. Btw https://github.com/nim-lang/Nim/pull/12284 is green :) |
18:22:46 | FromGitter | <dawkot> > *<Araq>* you mean 'cancel' a future? ⏎ ⏎ yes |
18:22:49 | Araq | additions[i].add(block: # meh, not really style that I consider battle-tested |
18:23:08 | Araq | dawkot: only 'chronos' supports that |
18:23:59 | shashlick | Nice |
18:24:01 | FromDiscord | <Lunar> Chronos, as in ChromeOS? |
18:26:21 | clyybber | Araq: It's not the cause. Also I don't think its the array sizes since it works fine for --newruntime and all other gcs |
18:26:40 | Araq | clyybber: try --newruntime with valgrind |
18:26:48 | clyybber | I did |
18:26:51 | clyybber | No leaks at all |
18:26:51 | Araq | and with -d:useMalloc |
18:27:03 | clyybber | Ah, right. Perhaps I forgot that |
18:28:48 | clyybber | Hmm, it leaks a bit, but no errors |
18:28:51 | clyybber | Will investigate |
18:29:17 | Araq | btw is your refactoring based on my PR? |
18:30:16 | clyybber | Araq: No, because I got so many conflicts when trying to rebase your PR on devel, that I didn't understand the code anymore |
18:30:27 | Araq | bah |
18:30:36 | clyybber | But I diffed yours and mine and looked at the changes while at it |
18:30:48 | Araq | I never really understood your refactoring :P |
18:32:00 | FromDiscord | <Lunar> Rip 😂 |
18:34:05 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
18:35:48 | clyybber | Heh, it should be a bit simpler now. Basicallly you can pass a proc to p to process the subexpressions (like the last son of a nkStmtList and so on), which is useful for moveOrCopy. |
18:36:13 | clyybber | And in pArg there are some changes for the "partially initialized object" |
18:36:16 | clyybber | optimization |
18:36:23 | clyybber | And also in p for discard statements |
18:38:48 | Araq | what's wrong with my refactoring? it was simple :P |
18:39:09 | Araq | unfortunately every test was red with it but it can't be hard to figure it out |
18:40:15 | clyybber | Araq: Every test was red because it was too simple :P |
18:41:55 | clyybber | Also, merging pArg with p makes the partially initialized object optimization impossible AFAICT |
18:42:37 | clyybber | But of course, the code you wrote yourself is always going to be the most understandable :D |
18:43:16 | clyybber | Btw, we did intend on removing cursor variables right? |
18:43:44 | Araq | right |
18:44:18 | FromGitter | <zacharycarter> Hi shashlick: sorry to be bugging you so much but I seemed to have stumbled upon another nimterop issue maybe |
18:44:31 | shashlick | Sure what's up |
18:44:49 | FromGitter | <zacharycarter> let me make a gist of what I'm trying to do |
18:45:18 | FromGitter | <zacharycarter> https://gist.github.com/zacharycarter/b400d1139190f03237e08208e24b7f13 |
18:45:45 | FromGitter | <zacharycarter> just edited the gist and added output.txt |
18:46:08 | FromGitter | <zacharycarter> https://github.com/floooh/sokol/ - is the library I'm attempting to wrap |
18:46:36 | FromGitter | <zacharycarter> even though I have an onSymbol callback defined, leading underscores don't seem to be removed in every case |
18:48:44 | clyybber | Araq: So can we remove the sfCursor flag or will that break something? |
18:49:16 | Araq | I don't think it's used anywhere |
18:49:56 | shashlick | What does C:\Users\carte\AppData\Local\Temp\nimterop_7152145496131043599.nim look like |
18:50:21 | shashlick | See those lines to see what the rendered Nim code is |
18:50:57 | FromGitter | <zacharycarter> sure so the first line complained about |
18:51:06 | FromGitter | <zacharycarter> `C:\Users\carte\AppData\Local\Temp\nimterop_1255310357283381704.nim(606, 28) Error: invalid token: _ (\95)` |
18:51:16 | FromGitter | <zacharycarter> looks like: `SG_SLOT_MASK* = ((1 shl _SG_SLOT_SHIFT)-1).Enum_sokol_gfxh2` |
18:51:42 | FromGitter | <zacharycarter> and the line above it is - `SG_SLOT_SHIFT* = (16).Enum_sokol_gfxh2` |
18:52:12 | Zevv | SrMordred: did you manage? There are some simple workarounds |
18:52:37 | FromGitter | <zacharycarter> maybe it's because the enum refers to another entry defined in the same enum? |
18:52:51 | * | nsf quit (Quit: WeeChat 2.5) |
18:55:22 | Zevv | I wanted to compile list of -d flags for some time, I now see there is an issue for that |
18:55:44 | Zevv | Whould would be a good approach? |
18:55:57 | Zevv | Grepping and cutting for 'defined' gives quite a lis |
18:56:47 | Zevv | http://ix.io/1Xn2 |
19:03:01 | FromGitter | <zacharycarter> welp going to sleep, maybe I'll figure something out tomorrow to fix this |
19:05:25 | * | skoude joined #nim |
19:07:47 | * | endragor joined #nim |
19:09:28 | * | kungtotte quit (Quit: WeeChat 2.6) |
19:10:46 | * | kungtotte joined #nim |
19:10:52 | * | skoude quit (Ping timeout: 245 seconds) |
19:14:02 | * | endragor quit (Ping timeout: 240 seconds) |
19:30:46 | disruptek | chronos is a 3d-party implementation of async that is feature-strong but outside the stdlib. |
19:41:04 | disruptek | just look at how natural these words are: https://github.com/nim-lang/RFCs/pull/169#issuecomment-536333817 |
19:41:20 | shashlick | @zacharycarter that's a corner case - the enum value is passed thru as is without onSymbol processing |
19:41:32 | shashlick | I think there's already a defect on it |
19:41:52 | disruptek | that looks like the code you changed for my rdf wrapper. |
19:42:07 | shashlick | You might have to cOverride those specific values or cSkipSymbol |
19:43:43 | FromDiscord | <SrMordred> @Zevv din´t know how to do it with choosenim, so i´m trying to build nim from source. the compilation didn´t explode memory yet, but i´m stuck on it 30 min now. |
19:43:43 | FromDiscord | <SrMordred> what alternatives do i have? |
19:45:29 | shashlick | What is the target arch? |
19:50:32 | FromDiscord | <SrMordred> ubuntu-minimal (google cooud f1.micro) |
19:50:35 | FromDiscord | <SrMordred> cloud* |
19:51:32 | shashlick | Is it devel? |
19:51:45 | shashlick | There's Linux nightlies builds with binaries |
19:51:51 | shashlick | And even for the release |
19:52:44 | shashlick | No need to compile if you don't absolutely have to |
19:54:16 | FromDiscord | <SrMordred> @shashlick forget about this possibility, will check out (eternal windows user struggling on linux 😛 ) |
19:56:16 | disruptek | or just ship a native binary as an aws lambda runtime and don't pay to run the machine when your code isn't running. |
19:58:44 | dom96 | dawkot: what's your use case for stopping an async proc? |
19:59:00 | dom96 | what are you trying to do? |
19:59:37 | FromDiscord | <treeform> owl_000, what kind of seq do you want? seq of what? |
19:59:57 | * | theelous3 quit (Ping timeout: 240 seconds) |
20:00:30 | FromDiscord | <treeform> @Lunar yes you still need an Apple device. Apple requires it in order to ship an app on the iOS App Store. |
20:00:38 | FromDiscord | <Kiloneie> #6 boiz ! longest one ever |
20:00:38 | FromDiscord | <Kiloneie> LINK: https://youtu.be/vSvVVB9ggCA |
20:01:29 | FromDiscord | <treeform> @shashlick yeah text is really hard. That was a good article |
20:02:02 | FromDiscord | <treeform> disruptek, thanks I will give your GCP lib a try! |
20:02:47 | disruptek | yeah, let's scheme how the calls should be composed. it should be improved. also, we will want to parse responses, etc. |
20:02:50 | Zevv | SrMordred: it's dirty, but creating a swap file for the duration of the compilation will help you through |
20:02:53 | FromDiscord | <treeform> disruptek, Its strange to me that you where not able to build my jwt on linux. I build it on linux everyday. |
20:03:25 | Zevv | It's not fast but it will get you there. as root: `dd if=/dev/zero of=/swap bs=1M count=1024; mkswap /swap; swapon /swap` |
20:03:25 | disruptek | i got some missing symbols and wasn't able to link. |
20:03:52 | FromDiscord | <treeform> @Shield, I though my cairo bindings where part of nimble? |
20:04:01 | * | clyybber quit (Quit: WeeChat 2.6) |
20:04:39 | FromDiscord | <treeform> @Kiloneie you are on the roll with the vids |
20:05:04 | FromDiscord | <Kiloneie> Thank you. I was planning on making 2 of such length today, but friends came over... |
20:05:21 | FromDiscord | <Kiloneie> tomorrow might be day #1 of dual video... maybe, no promises 😛 |
20:05:42 | FromDiscord | <treeform> disruptek, linking? probably due to openSSL wrong version. |
20:06:13 | Zevv | Kiloneie: do you still prepare all your scripts and all, or is it more improvised? |
20:06:38 | FromDiscord | <SrMordred> @Zevv uff, way to much for me. |
20:06:51 | Zevv | SrMordred: just cut and paste :) |
20:07:04 | disruptek | treeform: if you can make your branch work as well as yuriy's then we can switch to yours. otherwise, i can't test it. |
20:07:17 | FromDiscord | <Kiloneie> i still make scripts, then when i start rolling, it's a bit of both(mostly scripted because i can't remember what im doing D: nor speak fluidly for long, took me 29 clips today, probably like 60 recording button presses) |
20:07:18 | Araq | Kiloneie: gah, could have asked me |
20:07:24 | FromDiscord | <SrMordred> @shashlick nightly builds worked for me, thanks |
20:07:32 | Araq | do you show the strscans module? |
20:07:45 | Araq | it's what you need to show... |
20:07:51 | Zevv | Kiloneie: you sound more relaxed, you're getting the hang of it |
20:08:23 | Zevv | I tried to record an introduction video for one of my libs, but I can't do it. I feel like an utter moron home alone talking to my compter. |
20:08:26 | FromDiscord | <Kiloneie> @Araq eh ? no idea what you mean |
20:08:41 | disruptek | yeah, it's hard to get used to talking into a mic. |
20:08:54 | FromDiscord | <Kiloneie> i had 4 months of training , 5 months ago 😛 |
20:08:54 | Zevv | Araq: that's advanced stuff, he just started parseInt |
20:09:03 | FromDiscord | <Kiloneie> i mean it ended 5 months ago of 4 months |
20:09:18 | Araq | Zevv: using it is not advanced and most people don't know it :-( |
20:09:18 | disruptek | is there a 9 in there anywhere? |
20:09:22 | * | navinmistry joined #nim |
20:09:30 | FromDiscord | <treeform> disruptek, I was making a spreadsheet of which Nim supports which openSSL version, turns out its a big mess: https://docs.google.com/spreadsheets/d/1JgbQS5e2I5bEzFaVYbYrt714CoWGHj-gRIovd7MUfMw/edit#gid=0 |
20:09:31 | Araq | and are stuck in the dark ages with split() |
20:09:41 | dom96 | Kiloneie: next step: https://videos.nim-lang.org. A quick web app which lists all Nim videos for newcomers, up for implementing it? :) |
20:10:03 | FromDiscord | <SrMordred> @Zevv nightly solved my problem. btw, apt install nim get the 0.19 version |
20:10:07 | Zevv | Araq: true |
20:10:11 | FromDiscord | <treeform> Nim claims its supports "libssl0.9.9.so" but it was never released 😃 |
20:10:17 | Zevv | SrMordred: also good :) |
20:10:30 | disruptek | treeform: i'm on 1.1.1 and i could maybe go to 1.02 but i don't wanna...? |
20:10:49 | FromDiscord | <treeform> disruptek, that makes sense |
20:10:56 | Zevv | treeform: time to start our native SSL implementation it seems :( |
20:11:12 | Araq | there is BearSSL and I wrapped it once |
20:11:18 | FromDiscord | <Kiloneie> @dom96 maybe, does that link include a list ? it ain't working |
20:11:19 | Araq | no idea if the code is on github |
20:11:36 | dom96 | Kiloneie: It doesn't exist. I'm saying we should create it. |
20:11:37 | disruptek | why don't we just not use it. can't we reimpl signing for google w/o that jwt impl? |
20:11:42 | FromDiscord | <treeform> disruptek, I had to stick with open SSL 1.0.0 because that is what PG uses and I need to use PG. |
20:11:46 | FromDiscord | <Kiloneie> oh ok |
20:11:47 | Zevv | Maybe we should ship with a small SSL alternative |
20:11:48 | FromDiscord | <treeform> Its a big mess of openSSL crap. |
20:11:53 | Zevv | bear would be a good start |
20:11:54 | disruptek | PG? |
20:12:01 | FromDiscord | <Shield> @treeform it doesn't seem like it, I looked in nimble and it only showed an old library, I had to search github because I know how many libs doesn't show up in the package manager |
20:12:32 | FromDiscord | <treeform> disruptek, libpostgresql , it binds to a different openSSL. |
20:12:40 | FromDiscord | <Shield> also the name of your lib is quickcairo but the examples import `cairo`, other than that it works great, thanks for the dll too |
20:12:45 | disruptek | anyway, ssl is something we should really delegate/coordinate with mratsim and status. |
20:13:15 | disruptek | treeform: ah, okay. but that helps sell me on just reimplementing signing myself. |
20:13:22 | FromDiscord | <Kiloneie> i would definitely want to implement something like that, but(i don't actually know much of Nim, just some bits and pieces D:) |
20:13:28 | disruptek | i will take a look this week. |
20:13:33 | FromDiscord | <treeform> @Shield, oh now I remmber I asked Araq to maybe take over his version of Cairo that does not compile any more. Araq said No. He did not like how the formatting in my wrapper looked. So I guess I just left it. |
20:13:38 | * | navinmistry quit (Ping timeout: 245 seconds) |
20:14:15 | dom96 | Kiloneie: best way to learn is to work on a small project :) |
20:14:21 | Araq | huh? |
20:14:32 | Araq | I said "no"? |
20:14:32 | FromDiscord | <treeform> disruptek, I don't know how hard is to just make the signing code in nim. I want to investigate it as well. |
20:15:00 | disruptek | i would be really surprised if i couldn't do it in a day or two. |
20:15:07 | Araq | because of formatting? |
20:15:09 | FromDiscord | <treeform> Araq, yeah you where very negative about my version. |
20:15:14 | Araq | doesn't sound like me |
20:15:16 | FromDiscord | <treeform> So I just abandoned the project. |
20:15:40 | Araq | well new Araq is here, please fix our cairo wrapper |
20:15:45 | disruptek | lol |
20:16:08 | FromDiscord | <Kiloneie> Yeah i know, my project right now is videos xD... trying to get myself to get 8-10 min long ones twice a day, after that which could start tomorrow, i will try some stuff(gotta know what i am talking about anyways) |
20:16:26 | Araq | extra points if your fix doesn't rewrite everything so that I can look at the diff without going insane... |
20:16:54 | Zevv | yay, araq-points! \o/ |
20:16:55 | FromDiscord | <treeform> Araq, yeah that is what you wanted last time. You wanted me to fix it, while I did a full rewrite. |
20:17:16 | disruptek | the absence of points isn't negative points. |
20:17:24 | FromDiscord | <treeform> So we are stuck with broken version in nimble and working version not in nimble. |
20:18:11 | Araq | yummy |
20:18:23 | FromDiscord | <treeform> At that point I was no longer emotionally invested with Cairo and forgot about it. |
20:18:27 | Araq | well we can also embrace your version I guess |
20:19:10 | * | disruptek lets slip a tear. |
20:19:13 | disruptek | hug it out |
20:19:23 | Zevv | Do any of these bindings use glib introspection stuff to generate the stuff? (Gir it is called iirc) |
20:19:52 | FromDiscord | <treeform> I think there are 4 different cairo wrappers |
20:20:54 | FromDiscord | <Shield> is there another library for making images i should be aware of? so far cairo is blazing fast |
20:21:29 | FromDiscord | <treeform> I wrote one called flippy - but its more for bitmaps and interchange format. |
20:21:39 | FromDiscord | <treeform> It does not do the stuff the cairo does. |
20:21:56 | FromDiscord | <Shield> maybe a helper function to handle writing to memory instead of a file would be a nice bonus for your cairo bindings |
20:22:31 | FromDiscord | <treeform> that is there, see the example? |
20:22:39 | FromDiscord | <treeform> https://github.com/treeform/quickcairo/blob/master/examples/realtime_glfw.nim |
20:22:49 | FromDiscord | <treeform> `var dataPtr = surface.imageSurfaceGetData()` |
20:23:22 | * | def- joined #nim |
20:24:26 | Araq | Zevv: my bindings don't use 'gir', I don't see the point |
20:25:36 | Araq | they took all the effort of implementing this mess in freaking C for its "interop advantages" and then said "screw it, we'll add introspection for the wrappers". Brilliant. |
20:25:45 | Zevv | I must admit I don't know the details, but I understood that gir should help in automatically create higher level bindings |
20:26:04 | lmariscal | is there a way to detect backends? I have been looking through docs but not finding it |
20:26:20 | Zevv | fair enough |
20:26:36 | Araq | lmariscal: defined(cpp) # c++ |
20:26:41 | Araq | defined(js) |
20:26:59 | lmariscal | thanks! |
20:27:06 | Araq | when not defined(cpp) and not defined(js) # C |
20:27:16 | FromDiscord | <Shield> i missed that one, but i meant for this `writeToPngStream` |
20:27:28 | Araq | I dunno if the C target has a define |
20:27:38 | FromDiscord | <treeform> I want to make nim UI development better. It crazy to me that programmers still layout buttons and stuff in code. I want to use a UI/UX editor to export to Nim to make UIs. I really good UI tool is Figma, I made a plugin for Figma to export to my UI library's nim code. So I wanted to share a screenshot: https://cdn.discordapp.com/attachments/142827852402917376/627542235185152003/unknown.png |
20:28:33 | FromDiscord | <treeform> @Shield, you right I don't have that. |
20:29:03 | Araq | never heard of Figma |
20:29:23 | Araq | what widget set does it use? (qt, wxWidgets, ...) |
20:29:57 | FromDiscord | <treeform> No UI is done with widget sets any more? So not any of them. |
20:30:11 | FromDiscord | <treeform> It has libraries were you can import that different styles though. |
20:30:35 | FromDiscord | <treeform> Like Material Design 2.0: https://www.figma.com/resources/assets/material-design-themeing-ui-kit/ |
20:31:50 | Araq | so it's web based? |
20:31:57 | FromDiscord | <treeform> Figma sits with other UI programs like sketch, adobe xd, or adobe illustrator. |
20:32:07 | FromDiscord | <treeform> yeah its web based |
20:32:17 | FromDiscord | <treeform> before that I use Sketch - which was Mac only. Even worse. |
20:32:41 | FromDiscord | <Kiloneie> Is it possible that my videos besides the first one didn't get as much views because i freaking forgot to include the first one into the playlist ? |
20:32:42 | FromDiscord | <treeform> Then you get to adobe products which are really hard to write plugins for. |
20:33:35 | FromDiscord | <treeform> I feel like every one in the UI/UX space is switching to Figma. |
20:33:58 | disruptek | wow, people are leaving sketch? |
20:33:59 | FromDiscord | <treeform> Recently Microsoft. |
20:34:11 | FromDiscord | <treeform> Where I work too. |
20:34:20 | Araq | Kiloneie: maybe but I would expect that most people want more advanced content. |
20:34:41 | Yardanico | @treeform I think fidget could become a very popular UI lib in nim if it gets support for native targets :) |
20:34:42 | Araq | I mean content about Nim's advanced features |
20:35:04 | FromDiscord | <treeform> @Kiloneie people in this channel are more advanced. It does not mean we don't need videos for new people. But they have to come from some place other then this channel. |
20:35:49 | FromDiscord | <treeform> @Yardanico This is all done with Fidget: https://media.discordapp.net/attachments/318464031536971777/625030685660545044/unknown.png |
20:36:13 | FromDiscord | <treeform> @Yardanico iOS, Android, Mac Native and web. (Windows and Linux also work) |
20:36:20 | Yardanico | so is it already usable on native targets like linux? 0_0 |
20:36:22 | Yardanico | im gonna try it :D |
20:36:36 | FromDiscord | <Kiloneie> Yeah, it figures, will take time for beginners to really find my videos and views go up, by then i will probably get to more advanced stuff. Should really start doing some side projects(useful ones) |
20:36:36 | FromDiscord | <treeform> Its "usable" but its not even alpha. |
20:36:56 | FromDiscord | <treeform> Yardanico, if you have any feedback on where you get stuck that would be great. |
20:38:18 | FromDiscord | <treeform> @Yardanico, my hope is you can just draw the UI out in Figma, export it to Fidget and just have it run everywhere: |
20:38:28 | FromDiscord | <treeform> |
20:38:28 | FromDiscord | <treeform> https://cdn.discordapp.com/attachments/371759389889003532/627967454961860628/unknown.png |
20:38:57 | FromDiscord | <treeform> That's nim code in the export. |
20:38:58 | * | snooptek quit (Remote host closed the connection) |
20:39:13 | Yardanico | @treeform does it work with figma kits or not yet? |
20:39:41 | * | snooptek joined #nim |
20:41:28 | * | narimiran quit (Remote host closed the connection) |
20:42:08 | Yardanico | and where do I get that fidget export? :P |
20:42:32 | FromDiscord | <treeform> Yardanico, its limited to what it can draw right now. Only very basic Figma features are supported. |
20:43:00 | FromDiscord | <treeform> Most kits probably use fancy borders and shadows etc I don't have yet. |
20:43:52 | * | daddoo joined #nim |
20:45:22 | FromDiscord | <treeform> Yardanico, I am still working on the exporter. I it will be in the fidget repo or through the Figma online plugin portal. |
20:45:37 | * | snooptek quit (Remote host closed the connection) |
20:45:57 | * | snooptek joined #nim |
20:48:15 | FromDiscord | <treeform> I think all UIs will look kind of like how web and mobile UIs look now. No one makes standard desktop apps with native controls. They are just not in style anymore. |
20:50:11 | Yardanico | @treeform, well I had to install dependencies myself (by looking at the error of trying to import a package which doesn't exist), and now I get compiler errors because prettyPrint can't take a GLenum argument (on lines 50 and 93 in textures.nim) |
20:52:54 | Calinou | they're still in style in some cases (system utilities), but they're becoming more niche indeed |
20:53:15 | FromDiscord | <treeform> @Yardanico you on 1.0 nim? Which OS? |
20:53:18 | Calinou | however, most user-facing apps will end up not trying to look native anymore, I guess |
20:53:27 | Yardanico | @treeform sorry, not 1.0.0, but latest devel compiler |
20:53:33 | Calinou | (you better hope they have a dark theme option :P) |
20:53:34 | Yardanico | after commenting them out it compiled, but errors at runtime because the fragment shader wasn't compiled |
20:53:45 | Yardanico | Arch Linux with RX 570 gpu |
20:53:58 | Yardanico | (yes finally bought a bit newer GPU instead of my old gtx 750) |
20:53:59 | FromDiscord | <treeform> @Yardanico, which example are you running? |
20:54:31 | FromDiscord | <treeform> @Yardanico, what is the shader error? |
20:55:40 | Yardanico | @treeform https://paste.debian.net/plain/1103307 |
20:55:54 | Yardanico | I just tried to export a simplest stuff in fidget with fidgetgen, and then run it |
20:56:09 | Yardanico | (well also had to add a drawMain proc and startFidget() ) |
20:56:43 | FromDiscord | <treeform> I see nice. This is all that should be needed |
20:56:44 | Yardanico | ah it's probably an issue with my drivers or something like that |
20:57:09 | FromDiscord | <treeform> for some reason your GPU does not support `GL_EXT_gpu_shader4` |
20:57:23 | FromDiscord | <treeform> I would probably need to not use that feature... |
20:57:42 | Yardanico | well it seems it does: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/667 |
20:57:56 | Yardanico | and the bugreport https://bugs.freedesktop.org/show_bug.cgi?id=110431 |
20:58:39 | FromDiscord | <treeform> @Yardanico thanks! That's the kind of feedback I need. |
20:59:04 | FromDiscord | <treeform> I can just not use `GL_EXT_gpu_shader4` in my shader |
20:59:09 | FromDiscord | <treeform> and pass the texture size instead |
21:00:10 | FromDiscord | <treeform> that is there for masking what if you uncomment the other lines? |
21:01:32 | FromDiscord | <treeform> @Yardanico this should work for simple cases: https://gist.github.com/treeform/0eaffea1b2bea5309227ccc0553a5514 |
21:01:59 | FromDiscord | <treeform> I have to go for now. But I will be back. Thank you for trying it out. |
21:02:27 | * | snooptek quit (Remote host closed the connection) |
21:07:44 | * | snooptek joined #nim |
21:10:43 | * | skoude joined #nim |
21:11:14 | * | endragor joined #nim |
21:14:50 | * | skoude quit (Ping timeout: 240 seconds) |
21:17:32 | * | endragor quit (Ping timeout: 245 seconds) |
21:35:37 | * | solitudesf quit (Ping timeout: 240 seconds) |
21:35:50 | * | Vladar quit (Remote host closed the connection) |
21:36:31 | FromGitter | <zacharycarter> shashlick: `cSkipSymbol` does nothing and `cOverride` requires that I also override any other referenced values - so I end up having to override a bunch of things |
21:37:57 | * | Ven`` joined #nim |
21:37:58 | FromDiscord | <SrMordred> i got a strange error trying to use jester with websocket on linux |
21:37:58 | FromDiscord | <SrMordred> ```proc newWebSocket(req: Request): Future[WebSocket] |
21:37:58 | FromDiscord | <SrMordred> first type mismatch at position: 1 |
21:37:59 | FromDiscord | <SrMordred> required type for req: Request |
21:37:59 | FromDiscord | <SrMordred> but expression 'getNativeReq(request)' is of type: Request``` |
21:38:01 | FromDiscord | <SrMordred> but on windows it compiles without error o.O |
21:40:30 | shashlick | @zacharycarter you couldn't skip the enum being defined? |
21:41:10 | FromGitter | <zacharycarter> oh I guess I did the wrong thing, let me try that |
21:42:30 | FromGitter | <zacharycarter> well yeah that works but references in other objects to entries in that enum are still problematic |
21:42:56 | FromGitter | <zacharycarter> meh, guess I won't use sokol for now with Nimterop |
21:43:12 | shashlick | You could just override it to the actual value |
21:43:23 | shashlick | If you need it |
21:43:50 | FromGitter | <zacharycarter> I tried that but it's referenced in a few spot |
21:43:53 | FromGitter | <zacharycarter> spots* |
21:44:19 | FromGitter | <zacharycarter> basically to fix things I have to `cOverride` several enum entries and several types |
21:44:32 | FromGitter | <zacharycarter> and then there's not much point in the whole thing |
21:45:38 | shashlick | Well instead of a value relative to another, why not calculate actual value and declare that |
21:47:04 | FromGitter | <zacharycarter> I'll show you what I mean, one moment |
21:47:53 | shashlick | Basically we need this https://github.com/nimterop/nimterop/issues/133 |
21:48:03 | * | asymptotically quit (Quit: Leaving) |
21:50:15 | FromDiscord | <exelotl> uh oh, something changed between 0.20.2 and 1.0.0 |
21:50:19 | FromDiscord | <exelotl> https://cdn.discordapp.com/attachments/239878713016188939/627985335728472064/goodboy-galaxy-0.png |
21:50:26 | FromDiscord | <exelotl> https://cdn.discordapp.com/attachments/239878713016188939/627985338635255818/goodboy-galaxy-1.png |
21:52:20 | FromGitter | <zacharycarter> https://gist.github.com/zacharycarter/4109e51a1ac760685909901301802e7c |
21:52:20 | * | snooptek quit (Remote host closed the connection) |
21:52:24 | FromGitter | <zacharycarter> I have to start doing that to fix things |
21:52:34 | FromGitter | <zacharycarter> and then all of those different types also have to be defined in the cOverride section |
21:52:39 | FromGitter | <zacharycarter> so I might as well just wrap it with c2nim |
21:53:07 | shashlick | If it works sure |
21:53:18 | shashlick | Just change cImport to c2nImport |
21:53:39 | shashlick | You get all the other benefits of nimterop |
21:54:23 | shashlick | Well doesn't look like you are pulling the repo or building with getHeader |
21:54:41 | shashlick | But c2nImport will run the preprocessor for you |
21:54:54 | FromGitter | <zacharycarter> no I'm not |
21:55:17 | FromGitter | <zacharycarter> yeah - still not working, I don't think the preprocessor is being run |
21:55:37 | FromGitter | <zacharycarter> meh |
21:56:34 | FromGitter | <zacharycarter> going to go back to trying to sleep :p will play around with it more tomorrow |
21:56:37 | shashlick | It does https://github.com/nimterop/nimterop/blob/master/nimterop/cimport.nim#L589 |
21:56:53 | shashlick | Is that your current wrapper |
21:56:58 | shashlick | I'll look into it later |
21:57:02 | shashlick | Which os |
21:58:08 | FromDiscord | <exelotl> oh weird... the issue is not in the game code, but in my tool that converts assets into the raw formats that the GBA can use |
21:58:36 | FromDiscord | <exelotl> that's good, easier to debug I guess |
21:59:24 | shashlick | @zacharycarter looks like we've been here before https://irclogs.nim-lang.org/04-01-2019.html |
22:02:03 | * | theelous3 joined #nim |
22:10:35 | FromDiscord | <SrMordred> I´m making some dumb mistake or should i report an issue? |
22:10:35 | FromDiscord | <SrMordred> https://play.nim-lang.org/#ix=1XnL |
22:22:14 | FromDiscord | <exelotl> how do I install a specific branch of a package with nimble? |
22:23:13 | shashlick | Package@#branch |
22:23:18 | shashlick | On cli |
22:23:37 | shashlick | And package#branch in nimble file |
22:25:12 | * | pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
22:25:27 | * | pbb joined #nim |
22:25:47 | FromDiscord | <exelotl> something's not working here :\ https://dpaste.de/wpH4 |
22:26:20 | FromDiscord | <exelotl> maybe it doesn't like the . in the branch name? |
22:28:38 | shashlick | Nimble issue - what version of nimble you have |
22:30:08 | FromDiscord | <exelotl> looks like I was using 0.10.2, I'll try with the latest version |
22:30:43 | shashlick | Or you could just delete C:\msys32\tmp\nimblecache |
22:34:26 | * | rockcavera joined #nim |
22:43:10 | FromDiscord | <exelotl> looks like it is fixed on the latest, good to know x) |
22:47:48 | * | daddoo quit (Quit: Leaving) |
22:50:45 | shashlick | Cool |
22:51:39 | * | krux02 quit (Remote host closed the connection) |
22:57:26 | zedeus | Zevv: since nobody else mentioned it, gintro is exactly that |
22:57:57 | * | snooptek joined #nim |
23:03:31 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
23:08:43 | * | sealmove joined #nim |
23:14:57 | * | endragor joined #nim |
23:22:17 | * | endragor quit (Ping timeout: 240 seconds) |
23:33:54 | FromDiscord | <treeform> @SrMordred that's a very strange issue, what if you set native request to a variable? Make sure to fully type qualify it (with module name) is it a ws or jester issue? |
23:35:41 | * | theelous3 quit (Ping timeout: 276 seconds) |
23:41:52 | FromDiscord | <SrMordred> ```nim |
23:41:52 | FromDiscord | <SrMordred> var nat_req: asynchttpserver.Request = getNativeReq(request) |
23:41:52 | FromDiscord | <SrMordred> ``` |
23:41:52 | FromDiscord | <SrMordred> Still compiles ok on windows |
23:41:53 | FromDiscord | <SrMordred> Linux: |
23:41:54 | FromDiscord | <SrMordred> Error: type mismatch: got <Request |
23:41:54 | FromDiscord | <SrMordred> > but expected 'Request = object' |
23:42:44 | FromDiscord | <SrMordred> ```nim |
23:42:44 | FromDiscord | <SrMordred> var nat_req: asynchttpserver.Request = getNativeReq(request) |
23:42:44 | FromDiscord | <SrMordred> var ws = await newWebSocket(nat_req) |
23:42:45 | FromDiscord | <SrMordred> ``` |
23:42:45 | FromDiscord | <SrMordred> Still compiles ok on windows |
23:42:45 | FromDiscord | <SrMordred> Linux: |
23:42:47 | FromDiscord | <SrMordred> Error: type mismatch: got <Request |
23:42:47 | FromDiscord | <SrMordred> > but expected 'Request = object' |
23:46:14 | FromDiscord | <SrMordred> @treeform oh, i think i got it |
23:47:28 | FromDiscord | <SrMordred> @treeform jester uses httpbeast if possible, but it only works on linux, rigth? |
23:47:28 | FromDiscord | <SrMordred> NativeRequest* = httpbeast.Request (for httpbeast) |
23:47:29 | FromDiscord | <SrMordred> NativeRequest* = asynchttpserver.Request (others) |
23:47:29 | FromDiscord | <SrMordred> but httpbeast.Request its not the same thing |
23:48:47 | FromDiscord | <exelotl> wtf so I've tracked my problem down to writeFile itself? |
23:49:22 | FromDiscord | <exelotl> lemme try and find a minimal example |
23:54:12 | FromDiscord | <SrMordred> @treeform well, i´m happy with this. I´m new to nim and feeling very confortable on reading projects source code. kudos for Nim 🙂 |