00:01:37 | * | smt quit (Ping timeout: 248 seconds) |
00:18:25 | * | couven92 quit (Quit: Client Disconnecting) |
00:20:47 | * | v17d quit (Remote host closed the connection) |
00:29:04 | * | v17d joined #nim |
00:30:43 | * | adeohluwa joined #nim |
00:34:54 | * | gokr quit (Quit: Leaving.) |
00:43:16 | * | girvo joined #nim |
00:44:52 | * | v17d quit (Remote host closed the connection) |
00:45:01 | Demos[m] | that out of date flagging is a good idea |
00:45:28 | Demos[m] | my package scripts have a mode that goes and looks at rss feeds/github/random html for a new release |
00:45:37 | Demos[m] | but that flag may be a better plan |
00:45:51 | Demos[m] | although it relies on people actually using your code |
00:48:03 | * | girvo quit (Ping timeout: 260 seconds) |
00:52:49 | * | Jesin quit (Quit: Leaving) |
00:54:22 | * | Jesin joined #nim |
00:59:11 | * | Jesin quit (Client Quit) |
01:27:16 | * | chemist69 quit (Ping timeout: 276 seconds) |
01:27:18 | * | yglukhov joined #nim |
01:31:35 | * | yglukhov quit (Ping timeout: 240 seconds) |
01:38:17 | * | def-pri-pub joined #nim |
01:40:33 | * | chemist69 joined #nim |
01:44:01 | * | girvo joined #nim |
01:48:37 | * | girvo quit (Ping timeout: 240 seconds) |
02:35:52 | * | sz0 quit (Quit: Connection closed for inactivity) |
02:43:31 | * | NimBot joined #nim |
02:44:50 | * | girvo joined #nim |
02:49:28 | * | girvo quit (Ping timeout: 246 seconds) |
03:04:46 | * | girvo joined #nim |
03:20:22 | * | adeohluwa quit (Quit: Connection closed for inactivity) |
03:21:20 | * | Snircle_ quit (Quit: Textual IRC Client: www.textualapp.com) |
03:53:17 | * | vendethiel joined #nim |
03:58:46 | * | pilne quit (Quit: Quitting!) |
04:25:04 | * | def-pri-pub quit (Quit: leaving) |
04:34:37 | * | vendethiel- joined #nim |
04:36:07 | * | vendethiel quit (Ping timeout: 255 seconds) |
04:40:42 | * | Vladar joined #nim |
04:43:56 | * | vendethiel- quit (Ping timeout: 260 seconds) |
04:44:19 | * | vendethiel joined #nim |
04:47:36 | * | skrylar joined #nim |
04:58:12 | * | skrylar quit (Quit: My iMac has gone to sleep. ZZZzzz…) |
04:58:52 | * | vendethiel quit (Ping timeout: 260 seconds) |
05:15:53 | * | skrylar joined #nim |
05:21:58 | * | salewski joined #nim |
05:22:54 | salewski | Sorry, have still no real idea why nimble publish failed for me. |
05:22:57 | salewski | https://forum.nim-lang.org/t/3043 |
05:23:40 | salewski | I have a github account of course, but did never pull requests before. |
05:24:25 | salewski | Googling for "Permission denied (publickey)" gives me some hints, but |
05:24:57 | salewski | I dont know if I really have to follow that advises or if I simple dis something |
05:26:11 | salewski | wrong with "nimble publish". I clicked on the "repo" check button on github page. |
05:26:39 | salewski | Have to go, bye. |
05:26:42 | * | salewski quit (Client Quit) |
05:35:47 | * | nsf joined #nim |
05:40:51 | * | arnetheduck joined #nim |
05:41:36 | Demos[m] | oh my gosh! that's really exciting |
05:41:59 | Demos[m] | I'd actually love to pick your brain about gobject-introspection |
05:43:06 | Demos[m] | fyi I think you can simply open a PR to the nimble packages repo. ALthough it's been at least 4 years since I've published a package |
05:43:37 | Demos[m] | tfw you email the maintainer of a broken package and find out it's you |
05:46:36 | Demos[m] | also I'd remove the paragraph about shit windows support. don't point people away from your library! |
05:46:50 | Demos[m] | Also I'd argue that "native look and feel" means nothing on the desktop |
05:46:58 | Demos[m] | except maybe on OSX |
05:48:50 | * | Guest3721 is now known as myp |
05:56:36 | Demos[m] | also gtk windows support is hopefuly getting better with the meson migration |
05:59:19 | FromGitter | <mratsim> So currently the cross platform framework with best support is GTK? I hate the GTK file dialog box on Windows (think GIMP) it’s so alien |
06:01:12 | Demos[m] | Gtk-FileChooserNative |
06:01:44 | Demos[m] | so like gtk is cross platform in the sense of looking the same on every platform |
06:02:46 | Demos[m] | :D |
06:03:30 | Demos[m] | file choosers are one of the only real native bits that people actually use anymore |
06:16:48 | FromGitter | <Varriount> That and title bars |
06:17:02 | Demos[m] | huh? |
06:17:14 | Demos[m] | the client side decorations thing? |
06:17:20 | FromGitter | <Varriount> The things you use to move windows about |
06:17:37 | Demos[m] | yeah those are not native |
06:17:57 | Demos[m] | but then again both windows and osx seem to be moving toward client side decorationsd |
06:18:08 | Demos[m] | and it's a lot more elegant, the window system becomes just the compositor |
06:18:39 | skrylar | people do care about looking native on a platform, it's just that a lot of companies don't care about their customers opinoins 8) |
06:18:49 | Demos[m] | I agree |
06:19:01 | Demos[m] | but that's a job for good themes, not actually using native widgets |
06:19:25 | Demos[m] | mostaly because espically on windows the "native" win32 widgets don't actually look that native |
06:19:34 | FromGitter | <Varriount> In the past, it hasn't been so much that GTK et al have non-standard themes, it's that the standard themes have been ugly |
06:19:53 | Demos[m] | yes |
06:20:13 | Demos[m] | recently a gtk patch landed that vastly improved the windows theme |
06:20:25 | Demos[m] | and the gtk theme engine has been evolving to be actually good |
06:21:05 | FromGitter | <Varriount> I wonder if part of it is related to the 'uncanny valley' effect. |
06:21:18 | Demos[m] | maybe |
06:21:27 | FromGitter | <Varriount> Is it more jarring to have a gui theme that looks *almost* like the system theme, but not quite? |
06:21:47 | FromGitter | <mratsim> I’m not really fond of the custom title bar/window theme of stuff like intel driver or those antivirus. I prefer to have an unified look on the platform. |
06:21:49 | Demos[m] | well on windows every theme ever is like that |
06:22:13 | Demos[m] | esp because of how controls versioning works |
06:22:15 | FromGitter | <Varriount> @mratsim Alas, those days appear to be behind us. |
06:23:04 | Demos[m] | idk I think what users really want is something that looks good |
06:23:43 | Demos[m] | also I think the most cross platform toolkit may be tk |
06:23:57 | Demos[m] | for simple guis it's pretty great |
06:24:07 | * | arnetheduck quit (Remote host closed the connection) |
06:24:15 | FromGitter | <Varriount> What about wx? |
06:24:22 | Demos[m] | wx is very complex |
06:24:57 | Demos[m] | wx arguable looks worse than gtk and it's abi is much harder to actually reason about |
06:25:10 | FromGitter | <mratsim> the wxnim seemed simple. I never developped GUI, developping numerical stuff seems simpler :p |
06:25:11 | Demos[m] | since it's all under a few layers of undocumented preprocesosr stuff |
06:25:54 | Demos[m] | wxnim uses {.header.} |
06:26:19 | Demos[m] | ngtk does not |
06:26:57 | Demos[m] | also wx does not really have secure funding |
06:27:25 | Demos[m] | and again, imo the whole premise of using native widgets is .... strange |
06:28:16 | FromGitter | <mratsim> There is a post of johnnovak where he explored GUI options: http://blog.johnnovak.net/2016/05/29/cross-platform-gui-trainwreck-2016-edition/ |
06:28:30 | * | salewski joined #nim |
06:29:22 | FromGitter | <matrixbot> `RayoGundead` it's like the only option is to make interfaces for each platform |
06:29:28 | salewski | Well, I gave some remarks about GTK cross platform support at the beginning of the gintro README. |
06:30:13 | salewski | GTK is currently still fine for Linux, but support for other OS is not that good. |
06:30:56 | Demos[m] | does that article talk at all about gtk3? |
06:31:10 | salewski | For basic, easy to install GUIs NiGui, nimx or libui and such may better, but I never tried them. |
06:31:14 | Demos[m] | gtk2 was released in like 2010 or something and is indeed pretty bad |
06:31:28 | Demos[m] | libui looks in danger of being abandoned |
06:31:51 | Demos[m] | it would be like trying to use qt3 |
06:32:11 | Demos[m] | sorry qt 4.6.3 |
06:32:43 | skrylar | nott familiar with nigui or nimx |
06:32:54 | skrylar | currently doing a thing with libui. it's okay, no toolbar support though |
06:33:07 | salewski | My GObject-Introspection based bindings currently support only GTK3 |
06:33:38 | salewski | GTK2 would be possible to, GTK4 will be supported sooon when GTK4 is more stable. |
06:33:59 | Demos[m] | wait does gi support gtk2? |
06:34:49 | salewski | Good question -- I think yes, but I was never really interested in old GTK2. |
06:35:22 | Demos[m] | same, it's just strange since gi kinda needs build system modifications and came out fairly recently |
06:36:30 | FromGitter | <mratsim> I remember about the lightweight Enlightenment windows manager for Linux. It seems like the EFL libraries are quite a good fit for Nim, everything is exposed as a C API: https://www.enlightenment.org/about-efl |
06:37:04 | Demos[m] | efi is OK |
06:37:05 | Demos[m] | it's pretty cowboy C though |
06:37:17 | skrylar | have used a little bit of efl |
06:37:28 | skrylar | its peculiar |
06:37:34 | * | arnetheduck joined #nim |
06:37:50 | Demos[m] | ?? |
06:38:34 | salewski | What seems to be really more "sexy" than GTK for users in of course Qt, but |
06:39:10 | salewski | we know how much work binding generation would be. For Go there seems to exist Qt bindings. |
06:40:39 | salewski | But one point that people do not like about GTK is the gobject C stuff, and |
06:40:42 | Demos[m] | well qtwidgets is not gunna see updates |
06:40:59 | Demos[m] | you need the gobject stuff to be bindable |
06:40:59 | salewski | with high level Nim bindings we can avoid that. |
06:41:27 | FromGitter | <mratsim> “cowboy C” lol |
06:41:33 | Demos[m] | but any language that's not nim should be able to generate all that boilerplate |
06:41:52 | salewski | Yes, but gobject stuff is fully invisible for Nim GTK users with high level API. |
06:42:32 | Demos[m] | yeah, what about just using native interop and using macros to match gobject abi? |
06:42:41 | Demos[m] | and then generating static bindings from git? |
06:42:43 | Demos[m] | *gir? |
06:44:23 | salewski | I don't know -- Rust tries to work closely together with the GObject system. |
06:44:52 | salewski | The goal seems to be writing GObject code is Rust as was done in Vala. |
06:45:02 | salewski | But that is not easy. |
06:45:35 | Demos[m] | someone should tell them to actually document the gobject abi as they go :) |
06:45:50 | Demos[m] | it's a hell of a lot easier than being abi compatible with C++ |
06:46:03 | salewski | And I dont think that Nim peole really want to extend GObject libraries with Nim. |
06:46:05 | Demos[m] | since then you need to follow at least two seperate c++ abis |
06:46:47 | Demos[m] | and they are VASTLY more complex, I think you'd need to use term rewriting macros to do it in nim because of how casts between pointers to objects work |
06:47:38 | salewski | Well, most people just want to use the GUI, not to extend it with new Widgets. |
06:47:55 | Demos[m] | I want to extend with new widgets :O |
06:48:00 | skrylar | every app of sufficient novelty needs to make a custom widget |
06:49:16 | Demos[m] | also I feel like with nim you could just generate the static binding from typelibs/gir at compile time and then be abi compat, at least for the most part |
06:49:49 | salewski | When the widget must not become part of the GTL lib, then that is possible. |
06:50:21 | Demos[m] | esp since nim does not, and probably never will, define more abi then C (maybe object varients) |
06:50:22 | salewski | Peole did it for example with Python, it is basically connecting to signals and cairo drawing. |
06:50:59 | Demos[m] | well can't you just literally give gtk an object with your own vtbl |
06:52:27 | salewski | I don't really know, I would have to investigate what the Rust people exactly do. |
06:52:28 | Demos[m] | I've been trying to find out more about gobj-introspection but it seems the main developer is chinese and hard to actually talk to because of the whole "living on the other side of the planet" thing |
06:53:20 | salewski | GObject-Introspection is not very alive currently. |
06:53:41 | Demos[m] | yeah..... |
06:53:54 | salewski | I had some stupid beginner questions during the lasts months, |
06:54:19 | salewski | I was not able to find a really active developer. |
06:54:22 | Demos[m] | a few good rationale documents would be great |
06:54:31 | Demos[m] | it seems chun-wei fan is the most active |
06:54:33 | Demos[m] | but idk |
06:55:37 | salewski | The API ducumentation is not bad, but hard for beginners. Mr J. Mansour helped me a bit |
06:56:05 | Demos[m] | the api docs are fine, it's the rationale and build tools docs that I've had trouble with |
06:56:11 | salewski | for starting with his smartgi Nim project, which he has not continued. |
06:57:18 | Demos[m] | I've been trying to figure out if I can use go-i to help generate wrappers for lower level libs like libxml/cairo/clutter/gsk/the builder stuff |
06:59:17 | salewski | Cairo is not really supported by GIR unfortunately, because it is considered different |
06:59:39 | salewski | from all the other gobject related libraries. |
07:00:17 | salewski | But there exists nearly 50 gobject related libs, and all that should work with my |
07:00:33 | salewski | high level bingings generator! |
07:00:57 | Demos[m] | god ... I wish C had modules |
07:01:32 | Demos[m] | the gi repo has a gir for cairo though |
07:01:41 | Demos[m] | not really sure what that's about |
07:02:10 | salewski | Yes, that is a minimal stub. I asked a developer about the reason, see my note above. |
07:02:11 | * | v17d joined #nim |
07:02:42 | Demos[m] | about being different? |
07:03:21 | Demos[m] | actually, it's 3AM here and I should sleep. Feel free to spew gi information at me and I'll go over it in the morning |
07:04:00 | salewski | https://www.spinics.net/lists/gtk/msg22097.html |
07:04:27 | salewski | OK, bye. |
07:04:31 | * | salewski quit (Quit: WeeChat 1.4) |
07:21:31 | * | yglukhov joined #nim |
07:23:28 | * | yglukhov quit (Remote host closed the connection) |
07:23:43 | * | yglukhov joined #nim |
07:57:22 | * | Arrrr joined #nim |
07:57:22 | * | Arrrr quit (Changing host) |
07:57:22 | * | Arrrr joined #nim |
08:09:51 | * | ShalokShalom joined #nim |
08:54:41 | * | couven92 joined #nim |
09:00:07 | * | gokr joined #nim |
09:07:53 | * | salewski joined #nim |
09:09:35 | salewski | The "nimble publish" problem seems to be solved, I had to generate a ssh key and add that to github. For details see my forum post. |
09:10:40 | salewski | But I assume it may take some time until gintro package will appear in the nimble package list. It is not yet there. |
09:10:44 | salewski | Bye. |
09:11:21 | * | salewski quit (Client Quit) |
09:12:13 | * | gokr quit (Ping timeout: 268 seconds) |
09:13:42 | * | krux02 joined #nim |
09:17:18 | * | salewski joined #nim |
09:18:09 | salewski | Well, gintro package is arrived at https://github.com/nim-lang/packages/pull/538/files |
09:19:45 | salewski | But "nimble publish" asked something like: Use comma separated tags? I replied "yes", so we have one single tag "yes" now. Funny. |
09:22:35 | * | salewski quit (Quit: WeeChat 1.4) |
09:27:58 | euantor | You can update the tags by checking out and editing the PR locally |
09:30:23 | * | Matthias247 joined #nim |
09:39:49 | * | xet7 quit (Remote host closed the connection) |
09:42:18 | * | xet7 joined #nim |
10:06:53 | Calinou | I installed Nim 0.17.0 on Windows (with MinGW-w64 7.3.0) and it's failing to compile an hello world |
10:07:09 | euantor | What's the error message? |
10:07:35 | Calinou | https://hastebin.com/idudasuboq.txt |
10:07:48 | Calinou | (the path is valid, I edited the config file) |
10:08:35 | euantor | Interesting |
10:09:38 | euantor | Do nimcache\hello.o and stdlib_system.o exist? |
10:13:44 | Calinou | no, only .c files do |
10:13:47 | Calinou | so it puzzles me |
10:14:17 | Calinou | it looks like it compiles to C successfully (I have an hello.c weighing 3 KB, and a stdlib_system.c weighing ~400 KB, both in nimcache/) |
10:15:51 | euantor | Yeah, it looks like up to that point it's working |
10:39:12 | FromGitter | <TiberiumN> can you try with --cpu:amd64 ? |
10:39:29 | FromGitter | <TiberiumN> nim c --cpu:amd64 hello.nim |
10:39:37 | * | gokr joined #nim |
10:39:49 | krux02 | args virtual machines are slow |
10:43:30 | Calinou | @TiberiumN I tried, and it returns the same error (note, this a 64-bit MinGW installation) |
10:43:33 | Calinou | I'll try a 32-bit MinGW installation |
10:43:50 | Calinou | nah, same error with 32-bit |
10:44:05 | FromGitter | <TiberiumN> мукн ыекфтпу |
10:44:08 | FromGitter | <TiberiumN> very strange :) |
10:44:25 | FromGitter | <TiberiumN> can you try to install nim with choosenim maybe? |
10:44:41 | * | FromGitter * zacharycarter thanks the programming gods he doesn't have any intention of building GUI focused apps |
10:44:54 | FromGitter | <TiberiumN> https://github.com/dom96/choosenim/releases/download/v0.2.2/choosenim-0.2.2_windows_i386.exe |
10:45:16 | Calinou | TIL about choosenim |
10:45:32 | Calinou | looks similar to rustup |
10:46:24 | FromGitter | <zacharycarter> yup |
10:46:27 | FromGitter | <zacharycarter> I think that's the idea |
10:46:41 | FromGitter | <zacharycarter> dom96 wrote it |
10:46:43 | FromGitter | <TiberiumN> "Similar to the likes of rustup and pyenv, choosenim is a toolchain multiplexer." |
10:47:41 | krux02 | well when I choose my nim I do "get checkout <branch> && ./koch build -d:release" |
10:47:49 | FromGitter | <TiberiumN> :) |
10:47:58 | krux02 | works good enough for me |
10:48:24 | FromGitter | <TiberiumN> one sad thing about choosenim - it downloads csources and nim source code every time when you update devel |
10:48:28 | krux02 | even works with custom branches ;) |
10:48:45 | FromGitter | <zacharycarter> I haven't used it yet either but I try to stay with bleeding edge nim |
10:48:54 | * | Zevv joined #nim |
10:48:54 | FromGitter | <TiberiumN> me too |
10:48:56 | FromGitter | <zacharycarter> o/ krux02 |
10:49:09 | krux02 | o/ ? |
10:49:14 | FromGitter | <zacharycarter> it's like a wave |
10:49:21 | FromGitter | <TiberiumN> wave hello |
10:49:24 | FromGitter | <zacharycarter> sorry I played a lot of Eve online |
10:49:36 | FromGitter | <zacharycarter> I sometimes forget the rest of the internet didn't |
10:49:38 | krux02 | I have heared it's good |
10:49:46 | FromGitter | <TiberiumN> yep it is |
10:49:48 | krux02 | I played Ragnarök Online :P |
10:49:51 | FromGitter | <zacharycarter> it's good if you want to destroy your life |
10:49:53 | FromGitter | <TiberiumN> but you need to play a lot of time |
10:49:56 | FromGitter | <TiberiumN> yeah |
10:49:57 | FromGitter | <zacharycarter> and sink tons of time into it |
10:50:01 | krux02 | the it is afaik :hi |
10:50:06 | Zevv | Hi, is the documentation on https://nim-lang.org/docs/httpclient.html#AsyncResponse compatible with Nim 0.16.0? I'm trying to get async HTTP requests working, but I get the error "Error: invalid pragma: async" |
10:50:08 | Calinou | just saying, but calling "choosenim" or "nimble" after installation errors with "could not load: libeay32.dll" |
10:50:09 | krux02 | could also be /hi |
10:50:16 | Zevv | My first hour of Nim, so beware of the noob |
10:50:23 | FromGitter | <TiberiumN> Zevv: can't you use nim 0.17.0? |
10:50:26 | FromGitter | <zacharycarter> anywho I keep pinging you about opengl / glm questions and then like five minutes later I figure out the answer |
10:50:27 | FromGitter | <TiberiumN> why 0.16.0? |
10:50:37 | Zevv | It's in Debian |
10:50:55 | FromGitter | <TiberiumN> well, just install nim 0.17.0 via choosenim :) |
10:50:55 | krux02 | oh, yea I am on a computer without sound |
10:50:57 | Calinou | however, my Nim "hello world" does compile now! |
10:51:03 | FromGitter | <zacharycarter> krux02: ah gotcha |
10:51:04 | krux02 | so I don't realize everything |
10:51:13 | FromGitter | <zacharycarter> it's all good I've figured out most things anyway |
10:51:14 | FromGitter | <TiberiumN> wget https://github.com/dom96/choosenim/releases/download/v0.2.2/choosenim-0.2.2_linux_amd64 ⏎ ./choosenim-0.2.2_linux_amd64 |
10:51:21 | FromGitter | <zacharycarter> hope all is well with you :) |
10:51:22 | Calinou | thanks :) |
10:51:25 | FromGitter | <TiberiumN> and then add ~/.nimble/bin to the path |
10:51:34 | krux02 | that's good |
10:51:34 | Zevv | Ok, 0.17 is up and running, still the same problem with the "unknown pragma: async" |
10:51:35 | Calinou | yeah, I added the Nimble folder to my PATH |
10:51:44 | FromGitter | <TiberiumN> Zevv: did you import "asyncdispatch"? |
10:51:49 | krux02 | yes it's all fine here |
10:52:01 | krux02 | I try to get my pull requests for nim to compile without errors |
10:52:07 | krux02 | but that is a problem right now |
10:52:20 | krux02 | there is an error that happens on windows |
10:52:26 | Zevv | TheManiac: nope, I didn't |
10:52:29 | krux02 | but windows on a virtual machine is a pain in the ass |
10:52:36 | FromGitter | <TiberiumN> "{.async.}" pragma is defined in asyncdispatch |
10:52:42 | krux02 | and it means I have to install the nim toolchain on windows |
10:52:42 | FromGitter | <TiberiumN> you should import it if you want to use async features |
10:52:54 | FromGitter | <TiberiumN> krux02: I can test it |
10:53:02 | FromGitter | <TiberiumN> with latest nim on Win10 |
10:53:14 | krux02 | TiberiumN: that would be great help |
10:53:26 | FromGitter | <TiberiumN> what's the pull request? |
10:53:35 | krux02 | I don't have a Windows install and I am not used to windows anymore since the beginning of Windows 7 |
10:53:35 | Calinou | nice, nimsuggest is preinstalled |
10:53:54 | FromGitter | <TiberiumN> yeah |
10:54:06 | Calinou | but yeah, neither nimble nor choosenim can run due to a missing library :( |
10:54:09 | Calinou | nim itself does though |
10:54:14 | FromGitter | <TiberiumN> oh |
10:54:26 | FromGitter | <TiberiumN> I'm afraid you need to download some .dlls manually |
10:54:32 | FromGitter | <TiberiumN> it's a known bug in choosenim :( |
10:54:44 | FromGitter | <TiberiumN> https://nim-lang.org/download/dlls.zip |
10:55:43 | FromGitter | <TiberiumN> krux02: so how can I help you? |
10:56:01 | Zevv | TheManiac: thanks, up and running. epoll under the hood, I'm happy |
10:57:11 | krux02 | TiberiumN: it is about this pull request |
10:57:13 | krux02 | https://github.com/nim-lang/Nim/pull/5910 |
10:57:42 | FromGitter | <TiberiumN> so can I test only this test? |
10:58:53 | FromGitter | <TiberiumN> because I don't know how to use nim test suite :) |
10:58:59 | Calinou | hmm, compiling my hello world in C++ instead of C makes it compile, but it does not run successfully |
10:59:06 | Calinou | (nim cpp -r hello.nim) |
10:59:12 | Calinou | if I run hello.exe alone, it does not print anything |
10:59:13 | FromGitter | <TiberiumN> what's the error? |
10:59:26 | Calinou | https://hastebin.com/axonorexiz.txt |
10:59:34 | Calinou | (C works fine, though) |
10:59:40 | Calinou | (I don't need C++ backend, just curious) |
10:59:44 | FromGitter | <TiberiumN> very strange |
10:59:55 | FromGitter | <TiberiumN> but I don't use C++ backend so I don't know :) |
11:01:35 | krux02 | TiberiumN: you run a single test with ./koch test run path/to/test |
11:02:07 | krux02 | ./koch test run tests/async/tioselectors.nim -d:upcoming |
11:02:10 | krux02 | I think |
11:03:18 | Calinou | anyway, commented here about the libeay32.dll issue: https://github.com/dom96/choosenim/issues/19 |
11:03:23 | krux02 | on my computer it just passes |
11:08:35 | krux02 | TiberiumN: you know that if you already cloned Nim, you can add a remote (call it krux02) and then do: git checkout --track krux02/stringify-array |
11:08:50 | FromGitter | <TiberiumN> yeah, I know, I have another issue related to sqlite dlls :) |
11:08:56 | FromGitter | <TiberiumN> trying to solve it to run tests |
11:09:19 | krux02 | what has sqlite to do with running tests? |
11:09:30 | FromGitter | <TiberiumN> I don't know really :) |
11:09:48 | * | couven92 quit (Quit: Client disconnecting) |
11:10:12 | FromGitter | <TiberiumN> output is: ⏎ https://hastebin.com/odaxamikin.tex |
11:10:16 | FromGitter | <TiberiumN> trying to solve it |
11:11:37 | krux02 | meh don't like hastebin, requires javascript :P |
11:11:45 | FromGitter | <TiberiumN> oh, sorry, I didn't knew |
11:12:28 | krux02 | well I use the stupid irc client in emacs and the stupid eww (browser) integrated in emacs |
11:12:35 | krux02 | javascript just doesn't work there |
11:12:45 | krux02 | and on my real browser I have noscript |
11:13:04 | krux02 | I use ix for code pasting |
11:13:09 | krux02 | ix.io |
11:13:52 | krux02 | but it's my fault for using eww in the first place |
11:16:49 | FromGitter | <TiberiumN> IDK but this test passed for me on mingw with gcc 7.1.0 64bits on windows 10 pro x64 |
11:16:56 | FromGitter | <TiberiumN> PASS: tioselectors.nim-d:upcoming |
11:17:08 | FromGitter | <TiberiumN> with your nim repo |
11:17:13 | FromGitter | <TiberiumN> and stringify-array branch |
11:17:22 | FromGitter | <TiberiumN> also |
11:17:38 | FromGitter | <TiberiumN> windows asked for me to give this test access to internet |
11:17:52 | FromGitter | <TiberiumN> I answered "ok", maybe this was the problem with appveyor... |
11:18:41 | krux02 | hmm I don't know then |
11:18:58 | krux02 | I will rebase to devel then and see what I can do |
11:19:02 | * | Tiberium joined #nim |
11:20:09 | * | wishi joined #nim |
11:21:26 | wishi | hey, I am trying to run nimqml on win 64... does anyone know what you have to do to get the compiled executable to load the DOtherSide.dll? |
11:21:38 | wishi | Hint: C:\nim\nimql\examples\helloworld\main.exe [Exec] |
11:21:38 | wishi | could not load: DOtherSide.dll |
11:21:38 | wishi | Error: execution of an external program failed: 'C:\nim\nimql\examples\helloworld\main.exe ' |
11:21:46 | wishi | kind of weird, since the DLL is in the PATH |
11:22:43 | FromGitter | <TiberiumN> can you try to move this DLL into the folder with your main.exe ? |
11:22:47 | FromGitter | <TiberiumN> this should solve this problem |
11:23:38 | wishi | I did that. same architecture as well. from the releases. https://github.com/filcuc/DOtherSide/releases |
11:24:05 | wishi | nim c -d:nimDebugDlOpen -r main |
11:24:33 | wishi | the release is for visual studio though, and nim here uses GCC |
11:25:45 | FromGitter | <TiberiumN> I'll test this too with gcc and vcc |
11:27:04 | krux02 | TiberiumN: I did the rebase |
11:28:25 | * | skrylar quit (Quit: My iMac has gone to sleep. ZZZzzz…) |
11:28:58 | FromGitter | <TiberiumN> wishi: do you have Qt dlls as well? |
11:29:36 | wishi | Tiberium: I do. The Qt 5.8, which is compatible according to the readme. Not sure if that needs to be all in PATH though. |
11:29:51 | FromGitter | <TiberiumN> I think this should be in the path |
11:30:01 | FromGitter | <TiberiumN> and also try to put all qt dlls into the same folder as your app :) |
11:33:00 | FromGitter | <TiberiumN> krux02: let's wait for appveyor |
11:35:04 | wishi | ok, the error message change to "... create... could not be locayted in the dynamic link library QT5Quick.dll" - let me see what that indicates ;) |
11:35:25 | FromGitter | <TiberiumN> ohh |
11:35:34 | FromGitter | <TiberiumN> probably different versions/architecture |
11:35:50 | wishi | yes, I will try and test a different dootherside release |
11:42:25 | wishi | is there a dotherside release for mingw btw? |
12:02:23 | * | girvo quit (Ping timeout: 260 seconds) |
12:02:47 | * | Snircle joined #nim |
12:03:19 | * | ShalokShalom_ joined #nim |
12:04:34 | * | ShalokShalom quit (Ping timeout: 246 seconds) |
12:10:41 | * | Arrrr quit (Read error: Connection reset by peer) |
12:13:50 | krux02 | I have a generic type T in a procedure, how can I transform that type into a NimNode with a sybol of that type? |
12:14:20 | krux02 | proc foo[T](): NimNode = ??? |
12:20:27 | * | couven92 joined #nim |
12:41:54 | krux02 | to answer my own question: getTypeInst(bindSym"T") |
12:46:08 | * | deep-book-gk_ joined #nim |
12:46:41 | * | deep-book-gk_ left #nim (#nim) |
12:58:29 | * | girvo joined #nim |
12:59:33 | * | v17d quit (Ping timeout: 260 seconds) |
13:03:13 | * | girvo quit (Ping timeout: 255 seconds) |
13:05:02 | Zevv | For tracing and debugging, is there a way to print out any value, even if no toString()/$ is defined for it? For example, echo'ing a proc now gives an error, instead I would like to see some kind of representation of the fact that its a procedure, preferably with name and location? |
13:05:14 | Zevv | Or am I thinking too much ducktyping? |
13:05:48 | FromGitter | <TiberiumN> echo repr(something) |
13:06:26 | Zevv | almost :) invalid type: 'typed' in this context: 'proc (x: proc (x: varargs[typed]){.gcsafe, locks: 0.}): string{.noSideEffect.}' |
13:06:28 | * | ShalokShalom joined #nim |
13:07:06 | Zevv | echo repr(echo) |
13:09:26 | * | ShalokShalom_ quit (Ping timeout: 255 seconds) |
13:09:53 | FromGitter | <andreaferretti> you are trying repr on echo |
13:10:01 | FromGitter | <andreaferretti> which is generic |
13:10:06 | FromGitter | <andreaferretti> hence it is not a value |
13:10:41 | Zevv | Ok, I'll stop asking questions now and do some proper learning first |
13:11:00 | Zevv | thanks :) |
13:11:18 | FromGitter | <andreaferretti> the thing is: since echo is generic, it is specialized when oyu call it |
13:11:24 | FromGitter | <andreaferretti> there is no actual proc |
13:11:33 | FromGitter | <andreaferretti> until you specialize it |
13:11:43 | FromGitter | <andreaferretti> for monomrphic procs it should work |
13:12:14 | Zevv | Now I hit an internal error |
13:12:23 | Zevv | (can I paste here or do you prefer pastebin, 5 line snippet?) |
13:12:41 | FromGitter | <andreaferretti> pastebin |
13:14:56 | Zevv | https://pastebin.com/raw/7FU9PA7e, printing the async function poisson() causes Error: internal error: getTypeDescAux(tyBuiltInTypeClass) |
13:14:59 | Zevv | No stack traceback available |
13:15:16 | Tiberium | maybe not repr, hmm |
13:16:42 | FromGitter | <andreaferretti> well, poisson is itself generic (as well as async) |
13:16:52 | FromGitter | <andreaferretti> cb is of type proc |
13:18:17 | Zevv | Where do I find the basics about things like generics? searching nim-lang.org does not seem to give me anything relevant when looking for 'generic' |
13:18:41 | Zevv | I'm a C and Lua veteran, but I need some basics to get my head about the design patterns of Nim |
13:18:47 | FromGitter | <andreaferretti> https://nim-lang.org/docs/manual.html |
13:19:11 | Zevv | Funny, section 'Generics' |
13:19:13 | FromGitter | <andreaferretti> essentially many things (templates, macros, generics and so on) are actually blueprints for code |
13:19:17 | Zevv | and not found when looking for 'generic' in the search :) |
13:19:37 | FromGitter | <andreaferretti> they are not materialized until they are specialized with concrete types |
13:19:46 | Zevv | aka, templates, right |
13:20:07 | FromGitter | <andreaferretti> no, they are different things |
13:20:24 | FromGitter | <andreaferretti> but still, both do not represent values in the actual executable |
13:20:36 | Zevv | ah I see. Like I said, I'll now stop talking here and read the manual first from top to bottom. |
13:20:45 | FromGitter | <andreaferretti> the only things that end up in the executable are things you could represent in C |
13:20:54 | Zevv | Any books you recommend for over the holidays, or is Nim too young for good books? |
13:20:55 | FromGitter | <andreaferretti> concrete structs, procs with well defined types |
13:21:08 | FromGitter | <TiberiumN> Zevv: there's one book for nim :) |
13:21:12 | Zevv | any good? |
13:21:15 | FromGitter | <andreaferretti> anything else is an abstraction that only exists at compile time |
13:21:24 | FromGitter | <TiberiumN> https://www.manning.com/books/nim-in-action |
13:21:26 | Zevv | ok that makes sense |
13:22:06 | Zevv | I'm about to order the book, is it still relevant to 0.17? |
13:22:34 | FromGitter | <TiberiumN> yep it is |
13:22:46 | Zevv | Ok. Oh it's not even available yet I see :) |
13:22:48 | Zevv | pre-ordered then |
13:22:59 | FromGitter | <TiberiumN> it's available as eBook |
13:23:01 | Zevv | nah |
13:23:22 | FromGitter | <TiberiumN> dom96 is the author |
13:23:32 | Zevv | Where do I order so that dom96 benefits most? Probably not amazon |
13:23:32 | FromGitter | <TiberiumN> https://github.com/dom96 |
13:23:48 | FromGitter | <TiberiumN> probably https://www.manning.com/books/nim-in-action ? but ask him, I don't know |
13:23:53 | Zevv | ok |
13:24:17 | Zevv | oh it's the guy I see in all the forums |
13:27:36 | FromGitter | <mratsim> @salewski cool for nimble publish, I also get an issue with it, it get stucks at “clonin package” on OSX |
13:40:27 | * | ShalokShalom quit (Ping timeout: 240 seconds) |
13:40:35 | * | ShalokShalom joined #nim |
13:44:23 | demi- | mratsim what problem are you having? |
13:45:41 | * | salewski joined #nim |
13:46:48 | salewski | mratsim, see https://forum.nim-lang.org/t/3043 |
13:47:33 | salewski | Following the github instructions to generate a ssh key solved my problem, maybe works for you too. |
13:49:00 | salewski | Initially for me this command failed: |
13:49:04 | salewski | git clone [email protected]:StefanSalewski/packages /tmp/nimble-packages-fork |
13:49:24 | salewski | Thre reason was not really obvious. |
13:50:12 | * | salewski quit (Client Quit) |
13:58:23 | FromGitter | <TiberiumN> what would be the best way to count hours, minutes and seconds since the start of the program? |
13:58:34 | FromGitter | <TiberiumN> I don't want CPU time, I want real time |
14:06:23 | FromGitter | <andreaferretti> epochTime |
14:10:14 | MrAxilus[m] | Hello, does anyone here have any experience with using javascript libraries in Nim? |
14:10:24 | MrAxilus[m] | is that possible, I know you can compile to JS |
14:11:13 | FromGitter | <TiberiumN> yes it is |
14:11:17 | def- | MrAxilus[m]: I'd imagine that's possible and you could access them from Nim by writing bindings, like for C |
14:11:28 | def- | MrAxilus[m]: google finds this for example: https://github.com/andreaferretti/react.nim |
14:12:48 | MrAxilus[m] | cool, thanks |
14:13:14 | MrAxilus[m] | I've been thinking of learning d3.js so I could also learn nim at the same time by creating bindings |
14:14:03 | MrAxilus[m] | is there any guides that you know of for going about writing bindings in nim (for C or Javascript)? |
14:15:09 | def- | http://goran.krampe.se/2014/10/16/nim-wrapping-c/ |
14:15:17 | def- | https://hookrace.net/blog/what-makes-nim-practical/#wrapping-libraries-with-c2nim |
14:15:27 | def- | https://github.com/nim-lang/c2nim |
14:28:56 | * | girvo joined #nim |
14:33:40 | * | girvo quit (Ping timeout: 246 seconds) |
14:44:39 | subsetpark | So I was reading up more on concepts - as they stand, they're more a way to 'keep out' certain type parameters, right? They don't, themselves, provide any greater degree of polymorphism than generics? |
14:46:07 | subsetpark | In other words, Any function I could write that takes a concept as an argument could also be written more permissively as a generic |
14:47:49 | krux02 | subsetpark: yes |
14:48:16 | subsetpark | Cool, I'm very glad I understand! |
14:48:19 | krux02 | the polymorphism is what you get with the vtble types |
14:48:30 | subsetpark | yes, the mythical vtable types... |
14:48:45 | krux02 | well I understand the vtable types like the Go interfaces |
14:49:01 | krux02 | just with concepts |
14:49:08 | krux02 | the Go interfaces are documented better |
14:50:05 | subsetpark | But they're also not in 0.17.0 at all, right? |
14:50:05 | krux02 | I call ta vtableref a pair of pointer to a value and a pointer to a vtable |
14:50:42 | krux02 | subsetpark: I think so |
14:51:22 | Zevv | Can anyone point me to an example with some idiomic use of the asyncdispatch 'withTimeout()' |
14:51:35 | * | krux02 quit (Remote host closed the connection) |
14:51:43 | euantor | vtables aren't finished |
14:57:50 | euantor | Zevv: Something like this should work I believe: https://glot.io/snippets/erov33jb2c |
14:58:14 | euantor | Note that it doesn't work in glot.io as they don't have DNS resolution, same with play.nim-lang.org. |
14:59:46 | euantor | Also, for Nim 0.17.0, change "response.body" to "await response.body" |
15:00:14 | * | Arrrr joined #nim |
15:04:05 | * | smt_ quit (Read error: Connection reset by peer) |
15:06:35 | subsetpark | You know what - there should definitely be a nim email newsletter |
15:07:21 | * | smt joined #nim |
15:07:49 | * | smt quit (Max SendQ exceeded) |
15:08:41 | * | smt joined #nim |
15:09:00 | * | smt quit (Max SendQ exceeded) |
15:11:04 | * | smt joined #nim |
15:11:16 | * | smt quit (Max SendQ exceeded) |
15:12:47 | * | smt joined #nim |
15:13:08 | * | smt quit (Remote host closed the connection) |
15:17:57 | * | xet7 quit (Remote host closed the connection) |
15:22:46 | Zevv | euantor: I figured out that last one yes |
15:23:07 | Zevv | ah I see, you first check the timeout future, and then the response |
15:23:08 | Zevv | sweet |
15:23:35 | Zevv | does DNS lookup block the main event loop or is that implemented async as well? |
15:24:11 | Zevv | from strace() I guess it's async |
15:24:22 | Zevv | I see a send to port 53, an epoll() and then the recv() from port 53 |
15:24:24 | Zevv | great |
15:34:38 | * | Tiberium_ joined #nim |
15:36:47 | subsetpark | So I have a little command-line weather app which requests to the dark skies API and prints out something - I think what I'd like to do is rewrite it as a daemon that updates every :30, such that the command line util would just ask the daemon for its current state |
15:37:02 | subsetpark | How would I go about doing something like that? |
15:37:29 | subsetpark | open a unix port and wait for input from it? |
15:37:37 | * | Tiberium quit (Ping timeout: 248 seconds) |
15:38:02 | * | Trustable joined #nim |
15:38:11 | euantor | subsetpark: Writing it as a daemon seems like a waste, would be better off as a Systemd timer or a cron job |
15:38:30 | subsetpark | euantor: and what, it would just stick the state in a file somewhere? |
15:38:36 | euantor | Yep, exactly |
15:39:02 | euantor | And if you wanted to have a history of past weather conditions, you could use an SQLite database to store past conditions |
15:39:17 | euantor | Saves having a process running 24/7 that's only needed every 30 minutes |
15:39:27 | subsetpark | oh that's kind of nice |
15:40:10 | subsetpark | what are the unix conventions for a cron job to maintain a sqlite db somewhere? is that a /usr/share kind of thing? |
15:41:13 | euantor | Depends on if it's multiuser or not. If it's only used by your own profile, I'd dump it into $HOME/.youapp or something |
15:41:26 | euantor | I mean `$HOME/.yourapp` |
15:41:48 | subsetpark | ah, I guess I've never written a systemd file that is user-specific |
15:42:19 | euantor | For the systemd timer I wrote a basic post that kind of covers them: https://www.euantorano.co.uk/posts/using-laravel-scheduled-tasks-with-systemd-timers/ |
15:42:36 | euantor | Adapting those two units to run your app should be fairly trivial |
15:43:26 | subsetpark | oh cool, nice euantor |
15:44:27 | FromGitter | <Varriount> euanator: You use PHP? |
15:45:26 | euantor | Yep, sometimes |
15:46:04 | euantor | I use a whole mix of languages - one of the benefits of working in a small company with a lot of legacy software. I write in C# mostly at work, but also in VB.net and PHP |
15:46:22 | subsetpark | Who here writes nim at work? |
15:46:56 | * | aziz joined #nim |
15:50:53 | euantor | I have written command line tools at work, but not many |
15:58:03 | * | Vladar quit (Quit: Leaving) |
15:59:27 | * | girvo joined #nim |
16:01:06 | * | yglukhov quit (Remote host closed the connection) |
16:01:44 | subsetpark | I wonder what it's being used for where it is in production |
16:01:57 | subsetpark | I know Araq's company does some kind of VR 3D thing |
16:03:15 | subsetpark | I actually have quite a bit in production at work, by now |
16:04:09 | * | girvo quit (Ping timeout: 255 seconds) |
16:07:29 | * | krux02 joined #nim |
16:08:11 | krux02 | in a template can I get the string representation of an argument? |
16:11:41 | subsetpark | why not just $? |
16:12:12 | def- | subsetpark: i think krux02 wants template(xyz) to have "xyz" inside, not $xyz |
16:12:46 | subsetpark | oh i see |
16:12:59 | def- | it works with a macro of course |
16:15:33 | def- | krux02: this works: https://stackoverflow.com/questions/31565006/how-to-get-string-representation-of-an-expr-in-nim-template |
16:16:09 | subsetpark | whoa, i didn't know about that magic |
16:22:36 | FromGitter | <mratsim> @demi- I get the same as salewski ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ I’m trying to understand the proper rights but it doesn’t work [https://gitter.im/nim-lang/Nim?at=59679e4cc101bc4e3a8040bf] |
16:25:30 | FromGitter | <andreaferretti> it may be simpler to just do a manual PR :-) |
16:26:40 | FromGitter | <mratsim> > > |
16:27:30 | * | aziz quit (Quit: Ex-Chat) |
16:29:18 | FromGitter | <andreaferretti> just fork https://github.com/nim-lang/packages and add your package at the end of package.json |
16:29:27 | FromGitter | <mratsim> By the way @andreaferretti you might be interested in Owl: https://github.com/ryanrhymes/owl Numerical library in Ocaml. It was highlighted in HackerNews 2 days ago |
16:29:28 | * | MonsterAbyss is now known as Abyss2 |
16:29:39 | FromGitter | <andreaferretti> then submit a pull request |
16:29:41 | FromGitter | <andreaferretti> done |
16:29:52 | FromGitter | <andreaferretti> @mratsim thank you, I will have a look |
16:30:49 | FromGitter | <mratsim> I’ll rip off neo’s tag :P |
16:31:10 | FromGitter | <andreaferretti> :-D |
16:33:25 | * | MonsterAbyss joined #nim |
16:34:09 | * | Abyss2 quit (Quit: I will be back bitches) |
16:36:40 | krux02 | in the compiler how do I check if I compile to linux/windows 32bit 64bit? |
16:36:54 | FromGitter | <TiberiumN> in the compiler? |
16:37:00 | FromGitter | <TiberiumN> maybe same as in the usual nim code |
16:37:00 | krux02 | yes in the compiler |
16:37:11 | FromGitter | <TiberiumN> when defined(windows): probably? |
16:37:23 | krux02 | nonon |
16:37:28 | krux02 | I mean in the compiler |
16:37:38 | krux02 | I am in the compiler |
16:37:43 | krux02 | how do I say it |
16:37:45 | FromGitter | <TiberiumN> I think it's the same |
16:37:45 | FromGitter | <TiberiumN> https://github.com/nim-lang/Nim/blob/d9cf9b079ec7f60dc246c93a73a3aa500ba03d42/compiler/nim.nim#L10 |
16:38:15 | krux02 | noooo |
16:38:39 | krux02 | I am writing code in the compiler |
16:38:54 | krux02 | and there the target architecture is an argument |
16:39:04 | krux02 | therefore a runtime thing not a compile time thing |
16:52:05 | * | Sentreen quit (Ping timeout: 240 seconds) |
16:55:17 | FromGitter | <l1n3n01z> So, what's up with the "quote do" breakage? |
16:59:13 | * | yglukhov joined #nim |
17:00:30 | * | girvo joined #nim |
17:01:07 | * | nsf quit (Quit: WeeChat 1.7.1) |
17:03:35 | * | yglukhov quit (Ping timeout: 240 seconds) |
17:05:12 | * | Sentreen joined #nim |
17:05:28 | * | girvo quit (Ping timeout: 260 seconds) |
17:07:28 | * | ShalokShalom quit (Ping timeout: 260 seconds) |
17:08:16 | * | ShalokShalom joined #nim |
17:13:12 | * | adamchainz joined #nim |
17:25:30 | * | Tiberium_ quit (Read error: Connection reset by peer) |
17:27:13 | * | Tiberium joined #nim |
17:27:35 | wishi | how can I give the command line nim util its own nim.cfg per project? |
17:28:07 | wishi | there is no nim c main --config nim.cfg alike |
17:29:28 | * | yglukhov joined #nim |
17:31:57 | krux02 | has anybody here a 32 bit windows machine ready? |
17:32:39 | FromGitter | <l1n3n01z> nope. I have a vm at work, but no vpn to it. |
17:33:15 | krux02 | I would like to know the result of this program on it: |
17:33:18 | krux02 | http://ix.io/ytD |
17:33:37 | wishi | what do you do to set the compiler to visual studio for one project? instead of for all... |
17:33:51 | wishi | apparently the global nim config has the GCC / minGW |
17:34:03 | krux02 | well I don't use windows at all |
17:34:05 | krux02 | that is my problem |
17:34:16 | * | yglukhov quit (Remote host closed the connection) |
17:34:16 | krux02 | I need this tested on windows and I just hate every bit of it |
17:34:26 | krux02 | it just feels horrible |
17:34:44 | wishi | good things dont come easy ;) |
17:35:07 | Demos[m] | Qemu? |
17:35:19 | FromGitter | <l1n3n01z> hah, you are not alone, krux02 |
17:35:42 | * | Jesin joined #nim |
17:36:08 | Demos[m] | Idk modern windows with powershell isn't that bad |
17:37:05 | FromGitter | <l1n3n01z> I haven't used vagrant, but maybe this helps? https://app.vagrantup.com/mrh1997/boxes/vanilla-win7-32bit |
17:37:46 | Demos[m] | You can download an ISO from msft and just install it |
17:38:16 | FromGitter | <l1n3n01z> Ah, never mind, I am sure you would get the correct result just compiling with the 32 bit target |
17:38:27 | FromGitter | <l1n3n01z> Let me just try out your code quickly |
17:39:51 | * | couven92 quit (Quit: Client disconnecting) |
17:41:13 | FromGitter | <l1n3n01z> I get 8 8 8 for all compile targets |
17:41:26 | FromGitter | <l1n3n01z> What were you expecting? |
17:42:41 | Demos[m] | The hell |
17:42:47 | Demos[m] | Where's the padding? |
17:43:05 | FromGitter | <l1n3n01z> https://msdn.microsoft.com/en-us/library/1d48zaa8.aspx |
17:43:13 | Demos[m] | Wait that's in bytes |
17:43:16 | Demos[m] | Meh bad |
17:44:46 | FromGitter | <l1n3n01z> haha |
17:45:13 | * | yglukhov joined #nim |
17:46:13 | FromGitter | <l1n3n01z> So it looks like the alignment is always 8 bytes, regardless of word size. No promises though |
17:46:29 | FromGitter | <l1n3n01z> (and you can change it with a pragma) |
17:47:16 | Demos[m] | Win32 and 64 both have byte long words though |
17:47:20 | Demos[m] | Sorta |
17:47:35 | Demos[m] | Idk if word Size means much anymore |
17:54:35 | * | yglukhov quit (Ping timeout: 240 seconds) |
17:54:39 | * | Trustable quit (Remote host closed the connection) |
17:58:47 | FromGitter | <mratsim> @l1n3n01z The `align` pragma works/exists now? I had to roll up my own: https://github.com/nim-lang/Nim/issues/1930, https://github.com/nim-lang/Nim/issues/606 |
18:01:15 | * | girvo joined #nim |
18:05:53 | * | girvo quit (Ping timeout: 246 seconds) |
18:10:38 | * | couven92 joined #nim |
18:13:16 | * | pilne joined #nim |
18:18:11 | * | v17d joined #nim |
18:24:25 | * | v17d quit (Remote host closed the connection) |
18:27:36 | * | nsf joined #nim |
18:30:32 | * | yglukhov joined #nim |
18:39:34 | * | xet7 joined #nim |
18:56:49 | FromGitter | <l1n3n01z> No idea :) We were discussing packing/alignment in MSVC |
18:56:59 | * | Trustable joined #nim |
18:58:40 | * | samuell joined #nim |
19:00:15 | subsetpark | I have a generic proc that takes a [T: int|float], but when I try to add a named argument to the function cmp = proc(x, y: T): bool = x > y ... I get a type error |
19:00:31 | subsetpark | https://www.irccloud.com/pastebin/wifBMmqg/ |
19:01:06 | subsetpark | Is it that the type system isn't smart enough to see that both int and float are in that list, separately? should i just declare a helper proc < that takes int|float ? |
19:02:04 | * | girvo joined #nim |
19:03:04 | subsetpark | no, that doesn't do it... |
19:03:45 | subsetpark | that 'got' line makes it seem as though the arguments are being treated as the typedesc itself, not the values |
19:06:14 | * | nhywyll joined #nim |
19:06:48 | * | girvo quit (Ping timeout: 260 seconds) |
19:07:39 | subsetpark | when I define a helper proc greaterThan with the same signature, it compiles fine |
19:08:24 | * | nsf quit (Quit: WeeChat 1.7.1) |
19:09:50 | subsetpark | Ooh, but when i try to pass in a different keyword i crash the compiler... |
19:12:59 | krux02 | Araq: I am back trying to fix what is broken in sizeofalignof in the compiler |
19:17:48 | * | yglukhov quit (Remote host closed the connection) |
19:20:34 | * | yglukhov joined #nim |
19:27:08 | * | neur4l joined #nim |
19:27:16 | * | neur4l left #nim ("WeeChat 1.4") |
19:30:13 | * | Jesin quit (Quit: Leaving) |
19:34:44 | * | Jesin joined #nim |
19:44:58 | krux02 | if there is somebody maintaining nim-mode, please attention to my pull request |
19:50:53 | FromGitter | <l1n3n01z> @krux02 did you see the results? The 32 bit compiler gives 8 8 8. I was running it on Win64, but it should give the right results as it's a compile time thing |
19:55:54 | FromGitter | <l1n3n01z> @subsetpark The pastebin only has the error. Would be helpful to see exactly what you were trying to compile |
20:02:46 | * | girvo joined #nim |
20:07:44 | * | girvo quit (Ping timeout: 268 seconds) |
20:10:36 | * | nsf joined #nim |
20:13:50 | * | Tiberium quit (Remote host closed the connection) |
20:15:14 | Zevv | Hi; can I define a nested object type without having to define individual named sub-types first? |
20:15:43 | Zevv | like structs in structs in C, where the sub-structs do have a name, but no type name |
20:22:03 | yglukhov | Zevv: i think you could use tuples for that. `myField: tuple[a: int, b: float]` |
20:24:05 | Zevv | Yeah, I tried that. But I'm using JSON to to demarshal a json node into an object, and that does not seem to like tuples |
20:30:27 | yglukhov | Zevv: maybe that's just a bug to be reported... |
20:32:19 | dom96 | probably |
20:32:33 | dom96 | the JSON demarshaller is still rather new |
20:32:50 | subsetpark | dom96: Some combination of nimble and choosenim means that nimble install can't find my installed packages, even though they show up in nimble path |
20:32:55 | subsetpark | Any idea where to start debugging? |
20:33:29 | dom96 | What do you mean by "Nimble path"? |
20:33:31 | Zevv | well, new or not, so far I'm pretty much impressed |
20:33:45 | subsetpark | dom96: `nimble path docopt` produces output |
20:33:54 | subsetpark | but `nimble install` says 'cannot find docopt' |
20:34:29 | dom96 | Zevv: Glad to hear it :) |
20:35:17 | dom96 | subsetpark: presumably that's a dependency of your package? |
20:35:30 | dom96 | what happens when you run 'nimble install docopt'? |
20:35:43 | subsetpark | oh - my fault. i had it imported and in my nimble path, but not also listed as a dependency in my nimble file |
20:35:52 | Zevv | dom96: I looked at nim(rod) a few years ago, but then found it lacking on async network stuff. But now it's extremely usable, dense code with a lot of meaning in only a few lines. |
20:36:26 | yglukhov | dom96: can i ping you about https://github.com/nim-lang/Nim/pull/5938 again? |
20:37:01 | yglukhov | speaking of async... =) |
20:37:39 | dom96 | yglukhov: No answer regarding this https://github.com/nim-lang/Nim/pull/5938#discussion_r126767021 |
20:37:56 | dom96 | subsetpark: :) |
20:37:56 | FromGitter | <l1n3n01z> dom96: speaking of github issues, nim-lang/Nim#5733 broke your book :( |
20:38:24 | dom96 | l1n3n01z: yep, I guess you created that forum post? |
20:38:28 | dom96 | I commented on that issue |
20:38:46 | FromGitter | <mratsim> Is it possible to issue a pragma to a “result” ? ⏎ ⏎ I currently have this but I’m pretty sure it’s not doing what I want (aligning the heap variable so that hopefully compiler can automatically vectorize with AVX). ⏎ ⏎ ```code paste, see link``` ... [https://gitter.im/nim-lang/Nim?at=5967da55329651f46e85008f] |
20:38:49 | dom96 | or is this a different issue hrm |
20:39:22 | dom96 | oh no, it is the same as https://github.com/nim-lang/Nim/issues/5845 |
20:39:26 | FromGitter | <l1n3n01z> Yeah, I did, but your answer hasn't shown up yet for me. |
20:39:44 | dom96 | Haven't answered on the forum yet heh |
20:39:53 | FromGitter | <l1n3n01z> a yeah, sorry, 5845 is more clear, though the underlying is 5733 |
20:40:07 | * | samuell quit (Quit: Hejdå) |
20:40:22 | dom96 | I'm currently going through chapter 8, making sure it's all good |
20:40:48 | * | Trustable quit (Remote host closed the connection) |
20:41:25 | * | samuell joined #nim |
20:41:28 | Zevv | oh you're the guy whose book I bought this afternoon, I'm delighted :) |
20:42:41 | FromGitter | <l1n3n01z> Love the book, btw. Just finished it (mostly). |
20:43:09 | dom96 | :D |
20:43:19 | dom96 | Thanks to both of you purchasing the book :) |
20:43:48 | dom96 | Can't wait for it to be printed and done |
20:43:49 | FromGitter | <l1n3n01z> Looking forward to the paper, but no pressure! :D |
20:44:02 | Zevv | Can't wait for it to be printed and sent to me :) |
20:44:07 | dom96 | yeah, same. Looking forward to not have to re-read it so many times heh |
20:44:15 | Zevv | Was hoping to get it before the holidays, but too late for that |
20:44:23 | dom96 | yeah, sorry |
20:44:27 | Zevv | :) |
20:44:40 | dom96 | It should have been out a long time ago. |
20:45:12 | Zevv | just like writing software eh |
20:46:10 | FromGitter | <l1n3n01z> Then you would probably anyway have had to write a second printing with all the fixes due to nim updates :P |
20:46:46 | FromGitter | <l1n3n01z> Still a moving target, this Nim thing |
20:47:33 | FromGitter | <l1n3n01z> dom96, your reply on the forums is not showing up. Did you press send for sure? Do you see your own answer? |
20:47:56 | dom96 | Perhaps. But once it's printed we will likely do our very best to keep everything in the book working. |
20:47:58 | * | Arrrr quit (Quit: Leaving.) |
20:48:13 | dom96 | l1n3n01z: I haven't replied on the forum yet |
20:48:24 | FromGitter | <l1n3n01z> ah! sorry, misunderstood |
20:49:07 | FromGitter | <l1n3n01z> You commented on the actual issue, not the forum post. Gotcha. |
20:53:45 | Zevv | How do I report bugs / requests, github issues the way to go? |
20:54:13 | dom96 | yep |
20:56:01 | Zevv | I just looked into the json implementation, but I don't feel up to all this meta-stuff to fix this myself at this point |
20:58:17 | FromGitter | <l1n3n01z> Go directly to chapter 9, and it will be a piece of cake after that ;) |
20:58:37 | Zevv | First I need to get my book! |
20:58:55 | Zevv | Is there a draft pdf available somehere possibly, so I can start reading already? |
20:59:09 | dom96 | Yeah, on Manning's site. |
20:59:14 | Zevv | ah ok |
20:59:18 | FromGitter | <l1n3n01z> I thought you couldn't get the book without getting access to the ebooks? |
20:59:28 | dom96 | yeah, pretty sure you can't. |
20:59:32 | dom96 | Unless you've ordered on Amazon |
20:59:40 | * | nhywyll quit (Quit: nhywyll) |
20:59:43 | Zevv | I ordered on amazon |
21:00:12 | Zevv | :? |
21:00:12 | Zevv | :/ |
21:02:25 | FromGitter | <l1n3n01z> I'd give manning support a shout. I'm sure you can work something out, cuz I'm fairly sure that if you buy the paperbook you get a free ebook with it. |
21:02:42 | Zevv | will do, thanks |
21:02:44 | Zevv | off to bed now |
21:02:55 | Zevv | I'll stick around here, thanks for the help so far |
21:03:35 | * | girvo joined #nim |
21:03:35 | dom96 | yeah, give them an email. |
21:05:55 | FromGitter | <l1n3n01z> dom96, one thing about nimble. Is the src directory deprecated? |
21:06:09 | dom96 | nope |
21:06:28 | dom96 | You need to make sure to specify `srcDir = "src"` in your .nimble file |
21:07:08 | FromGitter | <l1n3n01z> ok, but it uses very harsh language when you forget it :P |
21:07:21 | FromGitter | <l1n3n01z> and there's no mention of it here https://github.com/nim-lang/nimble#project-structure |
21:08:07 | * | girvo quit (Ping timeout: 246 seconds) |
21:09:45 | subsetpark | l1n3n01z - it's not deprecated, but it's not included in the standard structure |
21:10:10 | dom96 | PRs/Issues welcome :) |
21:10:15 | subsetpark | in terms of the standard structure it's only necessary if the "top-level" of the nim source tree is not the same as the "top-level" of the project itself |
21:10:38 | subsetpark | otherwise it's non-standard |
21:10:42 | dom96 | I wonder if it would be a good idea to make it default. |
21:11:16 | dom96 | The error message for this case should improve at least though |
21:11:17 | wishi | hey, can anyone point me towards a documentation on how to use visual c++ instead of gcc? |
21:11:24 | dom96 | We can detect this and suggest to the user that they are missing this directive |
21:11:45 | FromGitter | <l1n3n01z> And even include it in the wizard |
21:11:47 | subsetpark | seems like an unnecessary complication to make it default, no? most nimble projects will be able to contain their .nim files at the top level |
21:13:40 | FromGitter | <ephja> more verbose output could provide the user with some clues |
21:13:47 | dom96 | it would encourage this directory structure |
21:13:52 | dom96 | which makes sense for most projects |
21:14:41 | * | couven92 quit (Ping timeout: 248 seconds) |
21:14:44 | dom96 | if most projects will use this, it follows that it should be default |
21:14:52 | FromGitter | <l1n3n01z> The hint that is given is quite funny |
21:15:08 | FromGitter | <l1n3n01z> Hint: Rename the directory to 'testnimble' or prevent its installation by adding `skipDirs = @["src"]` to the .nimble file. |
21:15:40 | subsetpark | wait, dom96: which 'this'? |
21:16:03 | dom96 | subsetpark: `srcDir = "src"` |
21:16:11 | subsetpark | in the structure changes we made recently, we explicitly encouraged not using srcDir unless it was necessary |
21:17:09 | dom96 | we did? I guess we should rethink that then :) |
21:18:23 | subsetpark | I still don't understand why one would encourage it... it seems like it's adding another layer of directory structure, and another directive in the nimble file, where none are needed |
21:19:00 | euantor | There was some discussion in the past about having `nimble init` create a `src` dir and more of a project structure I believe |
21:19:04 | euantor | Which I'd be all for |
21:19:31 | euantor | Creating the `src/` dir and an empty main file named with the module's name would make perfect sense to me |
21:20:30 | * | jsgrant_ joined #nim |
21:24:39 | FromGitter | <l1n3n01z> That also makes sense to me. |
21:25:21 | * | subsetpark shrug |
21:28:37 | dom96 | subsetpark: you are right that it is a bit redundant since there will always be a pkgName/ directory in there anyway |
21:32:09 | euantor | It follows the convention of most other languages and packaging systems though |
21:32:20 | euantor | Which can be convenient for people coming from elsewhere |
21:33:22 | FromGitter | <l1n3n01z> dom96, I just added a relevant bug report on the book forum |
21:34:12 | FromGitter | <l1n3n01z> @euantor exactly |
21:34:22 | subsetpark | euantor - like this? https://www.irccloud.com/pastebin/dEsTVKP6/ |
21:34:32 | euantor | yep |
21:34:55 | euantor | Same structure as almost all of my packages (all that I've touched recently anyway) |
21:35:17 | * | ShalokShalom quit (Remote host closed the connection) |
21:35:25 | euantor | With a `tests` and `docs` directory with obvious contents. For example: https://github.com/euantorano/pledge.nim |
21:35:51 | subsetpark | right, but there's only a single file in your src directory there |
21:36:02 | euantor | And having the convention of a nimble task named `test` to run unit tests |
21:36:41 | dom96 | l1n3n01z: replied |
21:36:43 | euantor | Ok, here's a slightly bigger example: https://github.com/euantorano/serialport.nim |
21:37:02 | FromGitter | <l1n3n01z> nimble itself follows this convention. |
21:37:57 | euantor | If nothing else, it would be nice to have a flag to generate this structure :) |
21:38:41 | dom96 | yes, nimble init should be more opinionated |
21:41:10 | FromGitter | <l1n3n01z> @dom96 replied |
21:42:38 | dom96 | replied |
21:44:20 | dom96 | Whew. Chapter 8 finished |
21:44:43 | dom96 | My eyes are about to dry out |
21:44:52 | FromGitter | <l1n3n01z> Is there a MEAP 11? |
21:46:54 | dom96 | I don't think so. |
21:47:01 | dom96 | The focus is on the print edition |
21:47:13 | FromGitter | <l1n3n01z> ah, understandably. |
21:48:05 | FromGitter | <l1n3n01z> So, sorry about being obstinate, but I still don't see how you can not run into the warning when you run nimble init initially |
21:48:25 | FromGitter | <l1n3n01z> Unless the user is not asked to create the dir structure first |
21:48:36 | dom96 | Because I tell the reader to edit the .nimble file after running 'nimble init' :) |
21:48:47 | dom96 | I guess that wasn't visible in my screenshot |
21:49:25 | FromGitter | <l1n3n01z> Ah, ok, so the warning shows up, but the reader is given a heads up. That's fine :) |
21:50:52 | dom96 | It doesn't show up |
21:51:08 | dom96 | Or hrm |
21:51:15 | dom96 | I guess it does when running 'nimble init' |
21:51:29 | FromGitter | <l1n3n01z> :D |
21:51:46 | dom96 | but eventually 'nimble init' will be smart enough to detect 'src' |
21:52:19 | FromGitter | <l1n3n01z> And because the "hint" that nimble gives you is not helpful at all, this was the most frustrating part of the book for me |
21:53:07 | dom96 | but the hint tells you precisely what you should do :\ |
21:53:23 | dom96 | Tweeter isn't a library |
21:53:30 | dom96 | so skipExt = "nim" makes sense |
21:53:38 | dom96 | although nvm I'm tired |
21:53:47 | dom96 | It says to use skipDir = "src" doesn't it |
21:54:03 | FromGitter | <l1n3n01z> nimble gives you the following hint, as I said on the forum: |
21:54:04 | dom96 | so yeah, it could be better |
21:54:10 | dom96 | but this is a new thing |
21:54:15 | FromGitter | <l1n3n01z> Warning: File 'tweeter.nim' inside package 'tweeter' is outside of the permitted namespace, should be inside a directory named 'tweeter' but is in a directory named 'src' instead. This will be an error in the future. ⏎ Hint: Rename the directory to 'tweeter' or prevent its installation by adding `skipDirs = @["src"]` to the .nimble file. |
21:54:22 | dom96 | Nimble isn't considered mature yet |
21:55:03 | FromGitter | <l1n3n01z> skipDirs = @["src"] is not what I ended up with, but srcDir = "src" |
21:55:23 | FromGitter | <l1n3n01z> I'm not sure actually what skipDirs does :P |
21:55:31 | dom96 | Yes, well, that's not correct either |
21:55:37 | dom96 | For this project at least |
21:55:51 | dom96 | You only want Nimble to install the binary |
21:55:52 | dom96 | nothing else |
21:56:01 | dom96 | so you should tell it to skip all the .nim files |
21:59:22 | FromGitter | <l1n3n01z> huh, maybe it's just me.. |
22:00:40 | * | Matthias247 quit (Read error: Connection reset by peer) |
22:00:49 | FromGitter | <l1n3n01z> So I saw this warning and this was my thought process: "Well, I could rename it to tweeter, but then it's different from the book. I'm definitely not using skipDirs, because why would I not want this file to be compiled??" |
22:02:17 | FromGitter | <l1n3n01z> And then I went on github and saw that people were using srcDir = "src" and thought that was good. Of course I didn't actually read the documentation for nimble, except the thing about project structure. |
22:03:34 | dom96 | yeah, like I said this warning is relatively new |
22:03:46 | dom96 | so unfortunately it's bound to be confusing in certain circumstance |
22:04:12 | dom96 | But this is why I tell my readers to join here and ask questions :) |
22:04:19 | * | girvo joined #nim |
22:04:45 | euantor | By the way, this whole forum topic isn't publicly visible - it likely needs approving |
22:05:23 | dom96 | it's on manning's forum |
22:06:48 | euantor | Ah, that would explain it |
22:09:03 | * | girvo quit (Ping timeout: 260 seconds) |
22:11:39 | FromGitter | <mratsim> I prefer the src/ tests/ docs/ structure as well. |
22:19:08 | * | samuell quit (Quit: Hejdå) |
22:29:23 | FromGitter | <l1n3n01z> @dom96 I'd be happy to look at the current version, work through it again and give you feedback. I also completely understand if that's not feasible right now. |
22:29:24 | * | v17d joined #nim |
22:32:52 | dom96 | Afraid I can't share it |
22:33:07 | dom96 | Time for bed, good night! |
22:33:23 | FromGitter | <l1n3n01z> np! Good night |
22:36:04 | * | arnetheduck quit (Ping timeout: 276 seconds) |
22:42:40 | Calinou | I answered the Nim survey a few hours ago :P |
22:42:44 | Calinou | hi |
22:43:02 | Calinou | dom96: I was wondering by the way… there is a question about Nim's garbage collector, and whether it should be replaced with something else (or kept) |
22:43:13 | Calinou | is the garbage collector a common source of criticism on Nim? |
22:43:29 | Calinou | (alternatives are suggested in the answers, but would they break existing programs if implemented?) |
22:46:06 | * | gokr quit (Ping timeout: 240 seconds) |
22:46:13 | FromGitter | <l1n3n01z> I know that I have a huge distrust of garbage collectors in general |
22:47:39 | FromGitter | <l1n3n01z> I was more interested in Rust than Nim, specifically because of the garbage collector |
22:49:03 | federico3 | Calinou: it's not |
22:49:12 | Calinou | well, I became interested in Nim because I wanted a language that's easy to use, yet fast |
22:49:20 | Calinou | and Rust does not quite fit the definition of "easy to use" to me |
22:49:25 | Calinou | (unfortunately) |
22:49:56 | FromGitter | <l1n3n01z> But then Nim is just so nice in so many ways, and presumably the garbage collector is not a problem in hardly any use case |
22:52:19 | Calinou | to be fair, I also look at Crystal from time to time |
22:52:22 | FromGitter | <l1n3n01z> Personally I feel that there should be an official tutorial on how to write code that doesn't touch the garbage collector. I'm a total noobie, but it looks like one can't really use much of any of the standard library without it. |
22:52:25 | Calinou | but it still doesn't support Windows today :P |
22:52:45 | Calinou | also, why do you want to avoid the GC? I'm curious |
22:52:50 | FromGitter | <l1n3n01z> yeah, that's a requirement for me, unfortunately. |
22:53:16 | FromGitter | <l1n3n01z> Err. Mainly just prejudice from working with fast code in Android |
22:53:44 | Calinou | game development? |
22:54:01 | FromGitter | <l1n3n01z> almost. Streaming media. |
22:54:23 | FromGitter | <l1n3n01z> But it has a lot of the same constraints as game dev. |
22:54:33 | Calinou | I see |
22:54:40 | subsetpark | What's a more robust way than echo of writing to console? stdout.write ? |
22:54:49 | Calinou | I'd like to see Nim as a bindable language to Godot, someone is apparently working on it |
22:55:06 | Calinou | perhaps write CLI utilities using it… I'm dabbling with JavaScript for this right now |
22:55:16 | FromGitter | <l1n3n01z> Also, game dev is my hobby, and game dev hates GC :P |
22:55:26 | Calinou | well, gamedev can sometimes play well with GC |
22:55:34 | Calinou | both Java and C# are known to handle this okay |
22:55:42 | Calinou | (Minecraft, and almost any Unity game) |
22:55:53 | FromGitter | <l1n3n01z> Yeah, and I'm sure that it's just me being an old dog about it |
22:56:45 | Calinou | how are the compile times in Nim with larger programs? I don't remember |
22:56:50 | Calinou | (Rust has issues with this) |
22:57:14 | FromGitter | <l1n3n01z> I have no idea. Just doing small programs. |
22:57:14 | federico3 | Calinou: one of the fastest |
22:57:41 | FromGitter | <l1n3n01z> There is a fixed overhead from compiling the standard library |
22:57:50 | FromGitter | <l1n3n01z> so small programs could be faster |
22:58:09 | FromGitter | <l1n3n01z> but, yeah I heard large programs were really fast in comparison |
22:58:37 | FromGitter | <l1n3n01z> (note: I am compiling on windows, a notoriously bad OS for compiling) |
23:00:02 | FromGitter | <l1n3n01z> I am also waiting anxiously for Jai. |
23:03:10 | Calinou | I know someone who was hyped for Jai too |
23:03:16 | Calinou | but… too much hype kills the hype :) |
23:04:15 | * | skrylar joined #nim |
23:04:19 | * | yglukhov quit (Remote host closed the connection) |
23:05:09 | * | girvo joined #nim |
23:07:02 | FromGitter | <l1n3n01z> Yeah, I check up on it every couple of months. It looks like it would be a nice fit for me. I have the same complaints about C/C++ as Jonathan does and I object to the same things in Rust. |
23:07:22 | FromGitter | <l1n3n01z> But, meh. Currently having a lot of fun with Nim. |
23:09:36 | * | girvo quit (Ping timeout: 240 seconds) |
23:09:57 | FromGitter | <l1n3n01z> It really, really nails a lot of things. I have been rewriting pet projects I did in Go in Nim, and it's just so much more expressive. |
23:10:06 | Calinou | C/C++ just has a trainwreck of issues, not only on the language itself but also on the ecosystem |
23:10:17 | Calinou | it is much easier to acquire and compile software in a cross-platform manner when it's not C or C++ |
23:10:25 | Calinou | (also, header files…) |
23:11:52 | FromGitter | <l1n3n01z> "it is much easier to acquire and compile software in a cross-platform manner when it's not C or C++". Not sure if I agree with this. |
23:12:25 | FromGitter | <l1n3n01z> Because most languages use FFI at some point to avoid rewriting things |
23:12:33 | Calinou | well, C libraries work everywhere |
23:12:37 | * | nsf quit (Quit: WeeChat 1.7.1) |
23:12:38 | FromGitter | <l1n3n01z> and then nobody tests anything on Windows |
23:12:38 | Calinou | but have fun compiling them on anything not Linux. |
23:12:42 | Calinou | and on Linux, have fun with LTS distros. |
23:12:47 | FromGitter | <l1n3n01z> and nothing works |
23:12:59 | Calinou | Rust, Java, C#, Go, Nim… all work well on Windows, macOS and Linux |
23:13:08 | Calinou | and it is easy to run up-to-date versions if your Linux distribution doesn't provide them |
23:13:10 | Calinou | (for the most part) |
23:13:19 | Calinou | and there's package managers, unlike C/C++ which has no standard one |
23:13:26 | Calinou | (Conan is dead, vcpkg is Windows- and MSVC-only) |
23:13:38 | * | skrylar quit (Quit: My iMac has gone to sleep. ZZZzzz…) |
23:13:47 | FromGitter | <l1n3n01z> Java is fine. C# is fine, but no idea how well Mono is doing |
23:14:01 | FromGitter | <l1n3n01z> Go has a problem with linking on windows |
23:14:15 | Calinou | Godot is in the process of integrating with Mono for C# support on all platforms |
23:14:17 | Calinou | what problem? |
23:14:24 | Calinou | I successfully compiled micro on Windows without issues |
23:14:31 | Calinou | and without gathering and compiling all dependencies by hand |
23:14:59 | FromGitter | <l1n3n01z> I can't remember, i ran into it when I was helping port a Go sublime clone to windows |
23:15:11 | Calinou | oh yeah, Lime Text |
23:15:15 | Calinou | that one is a trainwreck, you can stop worrying about it |
23:15:18 | Calinou | it's not because of Go ;) |
23:15:22 | FromGitter | <l1n3n01z> haha |
23:15:32 | Calinou | VSCode/Atom and other things killed it off anyway |
23:15:48 | Calinou | (and Sublime Text died off naturally) |
23:15:49 | FromGitter | <l1n3n01z> but there was a definite problem with either dynamic or static linking and Go on windows |
23:15:58 | Calinou | isn't Go all-static? |
23:16:44 | FromGitter | <l1n3n01z> pffff can't remember. I gave up on it at the time. I just see that people are still running into this issue on reddit. |
23:22:08 | * | v17d quit (Remote host closed the connection) |
23:32:14 | demi- | go is all static; and it is pretty awful because of it |