00:04:58 | * | lritter quit (Quit: Leaving) |
00:12:34 | * | vivus quit (Remote host closed the connection) |
00:17:45 | * | Notkea quit (Read error: Connection reset by peer) |
00:18:03 | * | Notkea joined #nim |
01:04:55 | * | Trustable quit (Remote host closed the connection) |
01:21:17 | * | rect0x51 left #nim ("WeeChat 2.3") |
01:22:55 | FromDiscord_ | <treeform> Help, I am in deep trouble, I upgraded nim to newest version and it breaks my code, so I am trying to downgrade back, because while I was doing a critical bug happened. But instructions to compile old nim do no work. Please help. I am trying compile 18.0 and get: |
01:22:56 | FromDiscord_ | <treeform> ../lib/system.nim(3216, 52) Error: enable the 'not nil' annotation with {.experimental: "notnil".} |
01:23:35 | FromDiscord_ | <treeform> I should always backup my Nim directory ... lesson leanred |
01:24:15 | FromGitter | <dom96> Tried choosenim? |
01:24:52 | FromDiscord_ | <treeform> no, I always did the git thing |
01:25:21 | FromGitter | <dom96> It looks like you've got some newer or older stdlib somewhere though |
01:25:38 | FromGitter | <dom96> You can try removing Nim completely and trying again |
01:28:56 | FromDiscord_ | <treeform> good idea |
01:42:07 | * | theelous3 joined #nim |
01:50:06 | * | zachk quit (Quit: Leaving) |
01:51:20 | FromGitter | <arnetheduck> what works for me in those situations is actually to remove choosenim from path |
01:51:27 | FromDiscord_ | <treeform> ok I got it working and it compiles the js code correctly |
01:52:01 | FromDiscord_ | <treeform> man this bug really ruined my day today: https://github.com/nim-lang/Nim/issues/10202 |
02:02:16 | * | codevance[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days) |
02:04:54 | * | monofuel[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days) |
02:07:27 | * | Redfoxmoon joined #nim |
02:14:19 | * | stisa[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days) |
02:18:18 | * | zacharycarter[m4 quit (Quit: removing from IRC because user idle on matrix for 30+ days) |
02:19:57 | FromGitter | <zacharycarter> treeform - I'm not sure that's a bug... |
02:20:08 | FromGitter | <zacharycarter> sequences don't have an mpairs iterator - only tables do |
02:20:17 | FromGitter | <zacharycarter> maybe this worked before because it's JS? |
02:20:40 | * | planetis[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days) |
02:22:47 | * | jaens[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days) |
02:23:51 | FromGitter | <zacharycarter> I left a comment on the issue - it seems to me the actual bug is allowing mpairs to be called on a sequence |
02:24:15 | * | gh0st[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days) |
02:26:45 | * | notbot[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days) |
02:26:47 | FromGitter | <zacharycarter> also..... I don't get this error with 0.19.0 |
02:30:46 | * | MrAxilus[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days) |
02:30:55 | FromGitter | <zacharycarter> I do get the RT error with devel - I mentioned that in my comment as well. The issue title correctly references 0.19.9 but the issue description mentions 0.19.0 |
02:31:26 | FromGitter | <zacharycarter> I also tried changing the example to use `mitems` instead of `mpairs` (although I also had to ditch the index variable) and the code ran fine |
02:31:49 | FromGitter | <zacharycarter> I have a feeling this is just JS |
02:32:02 | FromGitter | <zacharycarter> and it's weak typing - wreaking havoc |
02:33:30 | * | syntonym[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days) |
02:35:17 | * | Tyresc quit (Quit: WeeChat 2.4-dev) |
02:44:18 | FromGitter | <zacharycarter> nm treeform - my mistake, saw your comment |
02:49:39 | FromGitter | <timotheecour> treeform see build_all.sh + 1 added a comment in there recently |
03:00:35 | * | banc quit (Quit: Bye) |
03:25:10 | * | banc joined #nim |
04:09:16 | * | thomasross quit (Ping timeout: 258 seconds) |
04:17:34 | * | abm quit (Quit: Leaving) |
04:28:41 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
04:43:33 | * | wildlander quit (Quit: Konversation terminated!) |
04:44:43 | * | wildlander joined #nim |
05:02:11 | * | dddddd quit (Remote host closed the connection) |
05:24:07 | * | theelous3 quit (Ping timeout: 240 seconds) |
05:30:42 | * | theelous3 joined #nim |
05:47:39 | FromGitter | <zacharycarter> https://news.ycombinator.com/item?id=18825102 |
05:48:48 | FromGitter | <zacharycarter> on the front page of HN |
06:05:34 | * | nsf joined #nim |
06:14:32 | * | kapil____ joined #nim |
06:17:36 | * | theelous3 quit (Ping timeout: 268 seconds) |
06:40:25 | * | theelous3_ quit (Ping timeout: 268 seconds) |
06:48:15 | * | theelous3 joined #nim |
07:04:53 | * | wildlander quit (Quit: Konversation terminated!) |
07:18:34 | * | narimiran joined #nim |
07:22:01 | * | sheerluck joined #nim |
07:51:34 | FromGitter | <timotheecour> @araq are you here |
08:12:20 | FromGitter | <alehander42> @narimiran nice doc thread |
08:12:53 | narimiran | @alehander42 thanks :) |
08:13:09 | FromGitter | <alehander42> absolutely offtopic about it, just wondering, does anybody find the background color weird |
08:13:21 | narimiran | where? |
08:13:22 | FromGitter | <alehander42> it somehow reminds of an old newspaper |
08:13:24 | FromGitter | <alehander42> the docs |
08:13:40 | FromGitter | <alehander42> i mean, it's not white, but it's not exactly gray |
08:13:45 | * | d10n-work quit (Quit: Connection closed for inactivity) |
08:15:02 | narimiran | yeah, it has reddish (is that a word?) tint |
08:16:19 | narimiran | changing background to #FDFDFD, and text color to #333 seems to improve it for me. thoughts? |
08:16:38 | FromGitter | <alehander42> i am just playing with that |
08:16:40 | FromGitter | <alehander42> a second |
08:17:39 | FromGitter | <alehander42> hm yeah, the background seems much better subjectively |
08:17:48 | FromGitter | <alehander42> interesting, I like it more than #fff |
08:19:21 | narimiran | this will be the easiest change towards better docs by far :D |
08:19:45 | FromGitter | <alehander42> no, I can't really find a difference between #fff and #fdfdfd , maybe i got an optical illusion |
08:20:02 | FromGitter | <alehander42> but yeah, it seems fresher to me |
08:21:01 | narimiran | putting it to my todo list |
08:23:30 | narimiran | yes #fdfdfd and #fff look quite the same. what about #fcfcfc? do you notice the difference? |
08:24:09 | narimiran | but whatever is chosen, it should get rid of that "old newspaper" tint |
08:25:50 | FromGitter | <alehander42> very slight, but yeah |
08:26:04 | FromGitter | <alehander42> i feel if there is a tint at all, it's better to be blue-ish, or green-ish |
08:26:15 | FromGitter | <alehander42> but neutral white still seems fine |
08:31:19 | * | vlad1777d joined #nim |
08:43:13 | * | Vladar joined #nim |
08:52:37 | * | rayman22201 quit (Ping timeout: 256 seconds) |
09:20:45 | * | vlad1777d quit (Ping timeout: 268 seconds) |
09:48:11 | * | cspar quit (Ping timeout: 244 seconds) |
09:48:30 | * | cspar joined #nim |
10:18:01 | * | stefanos82 joined #nim |
10:25:22 | * | theelous3 quit (Remote host closed the connection) |
10:30:43 | * | rect0x51 joined #nim |
10:34:48 | narimiran | dom96: you here? |
10:37:28 | * | Vladar quit (Remote host closed the connection) |
10:37:52 | * | Vladar joined #nim |
10:41:52 | rect0x51 | `let x = Obj(arg1, arg2)` can't be done, right? |
10:44:23 | narimiran | rect0x51: `let x = Obj(a: arg1, b: arg2)` |
10:44:47 | narimiran | tuples can be positional only |
10:45:40 | rect0x51 | Oh damn, my bad. |
10:48:19 | * | hoijui joined #nim |
10:52:38 | rect0x51 | how do you box an int? |
10:52:55 | FromGitter | <alehander42> box? |
10:53:07 | rect0x51 | have to wrap it in an object? |
10:53:15 | rect0x51 | allocate it on heap |
10:53:52 | FromGitter | <alehander42> you can use `new` |
10:54:05 | FromGitter | <alehander42> but this is rather unusual |
10:56:29 | * | NimBot joined #nim |
10:56:33 | * | Miguelngel[m]1 quit (Remote host closed the connection) |
10:56:36 | * | spymasterd[m] quit (Read error: Connection reset by peer) |
10:56:38 | * | xylef quit (Read error: Connection reset by peer) |
10:56:39 | * | dyce[m] quit (Remote host closed the connection) |
10:56:39 | * | zielmicha[m]2 quit (Remote host closed the connection) |
10:56:39 | * | narimiran[m] quit (Remote host closed the connection) |
10:56:40 | * | serialdev[m] quit (Remote host closed the connection) |
10:56:40 | * | ArchieT[m] quit (Remote host closed the connection) |
10:56:41 | rect0x51 | `var x: int; new(x)` or `var x: ref int; new(x)` doesn't work |
10:56:42 | * | k0mpjut0r quit (Remote host closed the connection) |
10:56:43 | * | sg-james[m]1 quit (Remote host closed the connection) |
10:56:43 | * | Connor[m] quit (Read error: Connection reset by peer) |
10:56:46 | * | petersjt014[m] quit (Read error: Connection reset by peer) |
10:56:46 | * | ee7[m] quit (Remote host closed the connection) |
10:56:46 | * | GitterIntegratio quit (Write error: Connection reset by peer) |
10:56:47 | * | endes[m] quit (Remote host closed the connection) |
10:56:47 | * | TheManiac[m] quit (Remote host closed the connection) |
10:56:47 | * | hohlerde quit (Remote host closed the connection) |
10:56:49 | * | sendell[m] quit (Read error: Connection reset by peer) |
10:56:51 | * | exothermic[m] quit (Remote host closed the connection) |
10:56:51 | * | pqflx3[m] quit (Remote host closed the connection) |
10:56:53 | * | macsek1911[m] quit (Remote host closed the connection) |
10:56:53 | * | yglukhov[m] quit (Read error: Connection reset by peer) |
10:56:54 | * | toofly[m]1 quit (Read error: Connection reset by peer) |
10:56:55 | * | Demos[m] quit (Remote host closed the connection) |
10:56:56 | * | TheKing[m] quit (Read error: Connection reset by peer) |
10:56:56 | * | xomachine[m] quit (Read error: Connection reset by peer) |
10:59:05 | rect0x51 | wow what happened? (copy-pasting to bring down): `var x: int; new(x)` or `var x: ref int; new(x)` doesn't work |
11:02:59 | rect0x51 | oh, nvm, `var x: ref int; new(x)` works, I just had to dereference x afterwards (with x[])... |
11:07:01 | * | dyce[m] joined #nim |
11:08:12 | * | Trustable joined #nim |
11:18:44 | * | Connor[m] joined #nim |
11:18:44 | * | TheKing[m] joined #nim |
11:18:44 | * | xylef joined #nim |
11:18:44 | * | Demos[m] joined #nim |
11:18:44 | * | ArchieT[m] joined #nim |
11:18:45 | * | GitterIntegratio joined #nim |
11:18:45 | * | sendell[m] joined #nim |
11:18:45 | * | k0mpjut0r joined #nim |
11:18:45 | * | serialdev[m] joined #nim |
11:18:51 | * | zielmicha[m] joined #nim |
11:18:51 | * | spymasterd[m] joined #nim |
11:18:51 | * | TheManiac[m] joined #nim |
11:18:51 | * | Miguelngel[m] joined #nim |
11:18:51 | * | ee7[m] joined #nim |
11:18:51 | * | macsek1911[m] joined #nim |
11:18:52 | * | narimiran[m] joined #nim |
11:18:52 | * | exothermic[m] joined #nim |
11:18:52 | * | endes[m] joined #nim |
11:18:52 | * | toofly[m] joined #nim |
11:18:52 | * | pqflx3[m] joined #nim |
11:18:52 | * | yglukhov[m] joined #nim |
11:18:52 | * | hohlerde joined #nim |
11:18:53 | * | sg-james[m] joined #nim |
11:18:53 | * | xomachine[m] joined #nim |
11:18:53 | * | petersjt014[m] joined #nim |
11:26:07 | * | Cthalupa quit (Ping timeout: 246 seconds) |
11:28:50 | FromGitter | <Clyybber> @arnetheduck Is `cdecl` supposed to work with nlvm? |
11:29:47 | FromGitter | <mratsim> nlvm doesnt work with C FFI AFAIK |
11:30:18 | FromGitter | <Clyybber> It supports importc |
11:31:30 | FromGitter | <Clyybber> But yeah, cdecl doesn't make much sense in the context of nlvm |
11:33:03 | Zevv | rect0x51: check {.experimental: "implicitDeref".} |
11:33:22 | Zevv | doesn't always do what you'd expect, that's probably why it is still experimental |
11:37:19 | rect0x51 | Zevv: wasn't aware of this pragma, thanks! |
11:49:44 | * | Cthalupa joined #nim |
11:50:19 | Zevv | another one I like a lot is "callOperator" |
11:50:26 | Zevv | which allows you to 'call' an object |
11:51:31 | FromGitter | <Clyybber> Zevv: Is there a list of those experimental pragmas? |
11:51:40 | Zevv | options.nim:119 :) |
11:51:48 | FromGitter | <Clyybber> Thank you! |
11:53:46 | rect0x51 | what does calling an object mean? |
11:54:12 | Zevv | you can provide a `()`[T] proc for your object |
11:54:14 | Zevv | wait a sec |
11:55:09 | rect0x51 | but then what happens with the default constructor? |
11:55:39 | rect0x51 | hmm, ok it doesn't have to confict |
11:56:32 | Zevv | http://paste.debian.net/1058765/ |
11:57:12 | rect0x51 | nvm, the constructor uses the type's name, not the object's |
11:57:18 | Zevv | :) |
11:58:27 | rect0x51 | I see, nice one. So `()` is otherwise not overloadable? |
11:59:51 | Zevv | t.nim(9, 1) Error: the overloaded () operator has to be enabled with {.experimental: "callOperator".} |
11:59:54 | Zevv | seems so |
12:05:14 | rect0x51 | Except of Nim, C++ and D; which languages do CTFE? This feature seems too powerful to ignore. |
12:05:33 | Zevv | does C++? |
12:05:37 | Zevv | never knew that |
12:05:37 | * | hoijui quit (Ping timeout: 250 seconds) |
12:05:40 | rect0x51 | with constexpr, no? |
12:05:47 | Araq | I guess Haxe and Julia can do it too, they too, have a powerful macro system |
12:05:47 | Zevv | ah true |
12:06:20 | rect0x51 | I am really fascinated by this feature. |
12:06:27 | Zevv | I believe I once saw it in ada as well |
12:06:39 | Araq | no Ada doesn't have anything like that |
12:06:52 | Zevv | ok :) |
12:08:15 | rect0x51 | but it seems to be at least a post 20th century feature. |
12:08:34 | Araq | Lisp! |
12:08:41 | rect0x51 | haha |
12:08:41 | Zevv | lisp can do anything, that's not fair |
12:08:49 | Araq | but Lisp doesn't have a clean runtime vs compiletime distinction IMO |
12:08:54 | Zevv | Forth! |
12:08:55 | Araq | so I guess it doesn't really count |
12:08:55 | rect0x51 | yeah |
12:09:40 | Zevv | I made a forth once, now I know *all* about compilers and interpreters. Making a forh makes you a true god. |
12:09:54 | Zevv | unfortunately, I still don't understand 95% of Nim internals |
12:10:20 | Araq | it's just a bunch of text files with no novel algorithms used anywhere |
12:10:58 | Zevv | If there were two Araq's, one could work on Nim while the other writes the book |
12:11:22 | rect0x51 | Araq, which files are you talking about? |
12:11:34 | Zevv | compiler/*.nim |
12:12:32 | rect0x51 | perhaps novelty can come from just refinement sometimes |
12:14:37 | FromGitter | <Clyybber> The CFG in dfa.nim is pretty cool |
12:14:56 | * | Snircle joined #nim |
12:16:29 | Zevv | according to git noone but Araq ever dared to touch that :) |
12:32:59 | Araq | I thought cooldome touched it |
12:37:04 | * | dddddd joined #nim |
12:46:15 | FromGitter | <arnetheduck> @Clyybber `cdecl` is generally not needed with `nlvm`, it's the default (then the optimizer changes to a different one when it's safe to do so) |
12:46:49 | FromGitter | <Clyybber> Hmm, ok. I'm getting some errors while trying to compile my project |
12:47:27 | FromGitter | <arnetheduck> @mratsim no problems with `c` ffi, as long as you don't use `header` - you have to declare your types and procs using nim syntax only |
12:47:38 | FromGitter | <arnetheduck> oh? what kinds of errors? |
12:47:54 | FromGitter | <Clyybber> `````` |
12:48:02 | FromGitter | <Clyybber> Sry, failed to gitter :P |
12:48:08 | FromGitter | <Clyybber> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c30a787357dd7655d1eefcd] |
12:49:03 | FromGitter | <Clyybber> I think it might be because the bindings are using dynlib |
12:50:15 | FromGitter | <Clyybber> I get that error for every glfw proc I use |
12:50:42 | FromGitter | <Clyybber> Thats the wrapper: https://github.com/rafaelvasco/nimrod-glfw/blob/master/glfw3.nim |
12:51:32 | rect0x51 | is it possible to make a macro that emulates a constructor that initializes private fields? |
12:55:02 | FromGitter | <arnetheduck> ah yeah, you need to --passl:-llibrary-name - nlvm doesn't support the dynamic loading scheme nim uses |
12:55:44 | FromGitter | <Clyybber> ah ok, I'm already using passL for the vulkan bindings so that should fix it. |
12:55:48 | FromGitter | <Clyybber> Thanks! |
12:56:57 | FromGitter | <arnetheduck> yeah, I'm generally not a fan of the dynlib loading in nim - it |
12:57:36 | FromGitter | <Clyybber> It uses dlopen right? |
12:57:45 | FromGitter | <arnetheduck> ... doesn't declare what's linked to, breaking lots of tools and opening up for even more dll hell |
12:57:56 | FromGitter | <arnetheduck> nim, yeah.. nlvm, no.. |
12:58:10 | FromGitter | <Clyybber> I guess thats a win for nlvm :D |
12:58:47 | FromGitter | <arnetheduck> haha, not really - it's not how wrappers are written generally in nim so they don't work out-of-the-box which is annoying |
12:59:40 | FromGitter | <Clyybber> I guess we could instruct ld/gcc to implicitly link? |
13:02:31 | FromGitter | <arnetheduck> how do you mean, implicitly link? somewhere, the system needs to be told which library to link to.. the difference is that nim is that it has a strategy of "link to any of these random library versions, at runtime" whereas nlvm presently requires that you choose at compile time what you link to.. it's not really a difference you can reconcile easily - there are some hacks that could be added to nlvm to ameliorate |
13:02:31 | FromGitter | ... the situation however |
13:02:59 | FromGitter | <mratsim> you can link at compile time with the {.link: “path/to/lib”.} pragma |
13:03:10 | FromGitter | <mratsim> but then you can’t ever move the library you linked to |
13:03:13 | FromGitter | <Clyybber> @mratsim Using this in my vulkan wrapper |
13:03:24 | FromGitter | <Clyybber> Yeah, thats the disadvantage |
13:03:54 | FromGitter | <mratsim> I have to check Vulkan for machine learning |
13:04:05 | FromGitter | <arnetheduck> @mratsim you can move the library - as long as it's in your `LD_LIBRARY_PATH` - or you can add an `rpath` to your binary, then the two can move together (if you use `$ORIGIN`) |
13:04:05 | FromGitter | <mratsim> but I’m worried it’s to graphics focused |
13:04:40 | FromGitter | <Clyybber> @mratsim It is a graphics API, but some ML frameworks already support it as a backend |
13:04:42 | FromGitter | <arnetheduck> some libraries on linux hardcode other paths in the library - then it gets tricky, but that's not related to nim linking |
13:04:59 | FromGitter | <mratsim> @Clyyber names? |
13:06:51 | FromGitter | <arnetheduck> for sure though, `.link` works but that's not how many wrappers in nim are written |
13:07:51 | FromGitter | <Clyybber> @mratsim https://github.com/dmlc/tvm should support vulkan |
13:10:18 | FromGitter | <mratsim> it doesn't |
13:10:30 | FromGitter | <mratsim> it uses Halide as a backend but Halide has no Vulkan support |
13:10:39 | FromGitter | <mratsim> though if it can use OpenGL shaders it might work |
13:10:47 | dom96 | narimiran: here now |
13:11:25 | FromGitter | <Clyybber> @mratsim Huh, they do have spirv and vulkan tags in their repo though. Hmm |
13:12:25 | FromGitter | <Clyybber> @mratsim https://github.com/dmlc/tvm/pull/1571 |
13:12:27 | FromGitter | <mratsim> there is a Vulkan branch but last commit was in december 2017 |
13:13:01 | FromGitter | <mratsim> oh, so TVM went ahead without Halide having a vulkan backend interesting |
13:14:05 | FromGitter | <Clyybber> Also there is https://github.com/jgbit/vuda and https://github.com/google/clspv |
13:14:17 | FromGitter | <Clyybber> Which should help with porting to vulkan |
13:15:30 | FromGitter | <Clyybber> And this https://github.com/joshua-r/spock_ml/blob/master/shaders/kmeans.comp as an example on how someone would do a kmeans implementation in compute shaders |
13:17:01 | FromGitter | <mratsim> I guess I’ll try when I have a non-Mac machine |
13:17:53 | FromGitter | <Clyybber> my condolences :P |
13:18:57 | FromGitter | <mratsim> I’ll have a workstation with i9-9980XE and 2x 2080ti in a week =) |
13:19:07 | FromGitter | <Clyybber> Oh, thats fucking nice ! |
13:19:59 | FromGitter | <Clyybber> ping me when you decide wether you want to implement a vulkan backend |
13:20:54 | FromGitter | <mratsim> probably in a couple months, I want to have some reinforcement learning bots running on Atari games and Starcraft 2 first :P |
13:21:27 | FromGitter | <Clyybber> Using arraymancer? |
13:21:59 | FromGitter | <mratsim> yes |
13:22:42 | FromGitter | <mratsim> you can run this as an example on Atari games (currently it’s pure random): https://github.com/numforge/agent-smith/blob/master/examples/ex02_00_pong_cem.nim |
13:22:49 | FromGitter | <Clyybber> Btw, how ready is laser? |
13:23:04 | FromGitter | <mratsim> you need to run this task first: https://github.com/numforge/agent-smith/blob/master/agent_smith.nimble#L34 |
13:23:13 | FromGitter | <mratsim> Laser is not ready yet |
13:23:46 | FromGitter | <mratsim> it’s missing: ⏎ ⏎ 1) State-of-the art convolutions ⏎ 2) fused and batched matrix multiplication [https://gitter.im/nim-lang/Nim?at=5c30afe226d86e4d562cad0a] |
13:23:52 | narimiran | dom96: i wanted to ask you what are "invalid package names" for nimble, but i went ahead (https://github.com/nim-lang/packages/pull/979) and guessed it means packages with "nim-" prefix |
13:23:56 | FromGitter | <mratsim> 1) exp and log are benched but not implemented |
13:24:14 | FromGitter | <Clyybber> I guess exp and log from math.h are too slow? |
13:24:22 | FromGitter | <mratsim> 10x too slow |
13:24:28 | FromGitter | <Clyybber> Oh, :D |
13:24:40 | FromGitter | <mratsim> and they are often bottlenecks in language models and reinforcement learning tasks |
13:24:45 | FromGitter | <Clyybber> agent-smith looks cool |
13:25:29 | FromGitter | <mratsim> for example when you want to sample a word from a vocabulary of 100000 words, you need to take the log + exp of 100000 probabilities |
13:25:46 | dom96 | narimiran: yeah |
13:26:06 | FromGitter | <mratsim> there is a lot of research into fast approcimation, but my take is the first thing we need to do is use a faster exp/log |
13:30:48 | FromGitter | <Clyybber> @mratsim Have you looked into openBLAS implementations for those functions? |
13:31:46 | FromGitter | <Clyybber> Or do they use Fortrans? |
13:32:10 | FromGitter | <mratsim> it’s not covered by BLAS, BLAS is only linear algebra |
13:32:34 | FromGitter | <mratsim> basically: addition, matrix-vector multiplication and matrix matrix multiplication |
13:32:47 | FromGitter | <mratsim> and special cases with triangular matrices |
13:32:59 | FromGitter | <Clyybber> BLAS uses fortrans intrinsic EXP |
13:33:02 | FromGitter | <mratsim> and some additional stuff like transposition |
13:33:29 | FromGitter | <mratsim> but for which routine? |
13:34:12 | FromGitter | <Clyybber> ZLARNV and CLARNV |
13:34:15 | FromGitter | <mratsim> all the official BLAS operations are here: https://github.com/flame/blis/blob/master/docs/BLISTypedAPI.md#operation-index |
13:34:30 | FromGitter | <Clyybber> though maybe those are not particularily fast, I don't know |
13:34:42 | FromGitter | <mratsim> ah for complex, I didn’t check |
13:34:44 | FromGitter | <mratsim> good point |
13:35:22 | FromDiscord_ | <exelotl> is there a way to pass command line args to a program run with `nim c -r` ? |
13:35:53 | FromGitter | <Clyybber> Last time I tried, it didn't work |
13:38:47 | FromGitter | <mratsim> for exp I think BLAS is using the Fortran implementation. I don’t think it does something different from C or it’s better optimized than the implementations I have here: https://github.com/numforge/laser/issues/11 (measured on dual Xeon Gold 6154, 36 cores) |
13:39:52 | FromGitter | <Clyybber> Yeah, BLAS is using the Fortran intrinsics |
13:40:16 | FromGitter | <Clyybber> And when compiling using gcc they probably are equivalent to the math.h versions |
13:45:18 | FromGitter | <Clyybber> @mratsim That's pretty fast, good job! |
13:45:42 | FromGitter | <mratsim> I didn’t do anything yet, just gathered implementations in C and C++ |
13:45:51 | FromGitter | <mratsim> I have to implement my own ;) |
13:47:00 | FromGitter | <mratsim> what I’m proud of is having a BLAS as fast as OpenBLAS and much faster than Facebook Glow (their own ML compiler: https://github.com/pytorch/glow/issues/1749#issuecomment-449846783) |
13:47:32 | FromGitter | <Clyybber> Oh, just checked out https://github.com/numforge/laser/blob/master/benchmarks/vector_math/bench_exp.nim I see. |
13:47:45 | FromGitter | <Clyybber> @mratsim Thats hella impressive! |
13:49:55 | * | nsf quit (Quit: WeeChat 2.3) |
13:53:28 | * | hoijui joined #nim |
14:00:36 | * | hoijui quit (Ping timeout: 252 seconds) |
14:02:47 | * | theelous3_ joined #nim |
14:13:30 | * | Redfoxmoon left #nim ("Leaving") |
14:27:41 | * | lritter joined #nim |
14:38:15 | * | PMunch joined #nim |
14:40:15 | rect0x51 | does anyone know where to find more info about: https://rosettacode.org/wiki/Category:Order |
14:42:40 | PMunch | https://github.com/rofl0r/order-pp |
14:43:49 | FromGitter | <Clyybber> @arnetheduck Does nlvm support asm statements? |
14:44:03 | FromGitter | <arnetheduck> no |
14:44:44 | FromGitter | <arnetheduck> good second task 👍 |
14:45:19 | FromGitter | <Clyybber> Yeah, figured so :P |
15:01:19 | * | Tyresc joined #nim |
15:12:50 | * | Ven`` joined #nim |
15:28:23 | * | elrood joined #nim |
15:34:04 | sheerluck | I want to thank authors of Nim for letting me use param_count() personally while everybody else have to use paramCount(). Nice feature |
15:35:12 | FromGitter | <zacharycarter> ? |
15:35:52 | PMunch | sheerluck, good to hear someone else who likes the feature. I think it's one of the most hotly debated Nim syntax choices |
15:35:53 | thumbs_scum | FromME: <Me> HOLA! friends |
15:36:02 | * | nsf joined #nim |
15:36:15 | PMunch | thumbs_scum, what is ME? |
15:36:20 | narimiran | sheerluck: wow, what is this? somebody liking this feature? wow |
15:36:32 | thumbs_scum | FromMe: <Me> its a message from me |
15:36:33 | PMunch | I like it as well :) |
15:36:34 | FromGitter | <zacharycarter> I just can't tell if they are trolling or not |
15:36:47 | FromGitter | <zacharycarter> I have a feeling they are |
15:37:18 | PMunch | Who? sheerluck? There are dozens of us! |
15:37:22 | FromGitter | <zacharycarter> yes |
15:37:47 | thumbs_scum | FromMe: <Me> which is the right way? param_count or paramCount |
15:37:54 | PMunch | Both are valid |
15:37:55 | FromGitter | <zacharycarter> either |
15:38:03 | PMunch | Nim is case and underscore insensitive |
15:38:19 | PMunch | So par_amCou_nt is also allowed (although highly discouraged :P) |
15:38:20 | thumbs_scum | FromMe: <Me> @_@ |
15:38:27 | FromGitter | <zacharycarter> and there's plenty of existing information / explanations out there that points to why |
15:38:33 | narimiran | while both valid, paramCount is preferred |
15:38:33 | rect0x51 | thumbs_scum: checkout https://nim-lang.org/docs/manual.html#lexical-analysis-identifier-equality |
15:38:52 | PMunch | thumbs_scum, have you set up a bot to your own interface or something? The Me stuff? |
15:39:27 | thumbs_scum | FromMe: <Me> no, im just typing it manually |
15:39:31 | FromGitter | <zacharycarter> lol |
15:39:34 | PMunch | Haha, why? |
15:39:42 | thumbs_scum | FromMe: <Me> seems like the cool thing to do! |
15:39:47 | PMunch | -_- |
15:39:49 | dom96 | lol |
15:39:51 | * | elrood quit (Remote host closed the connection) |
15:40:06 | FromGitter | <zacharycarter> you guys might not have caught thumbs_scum trolling the other day or week in here |
15:40:08 | FromGitter | <zacharycarter> but I saw em! |
15:40:14 | FromGitter | <zacharycarter> but their troll made me chuckle so I didn't say anything |
15:40:19 | FromGitter | <zacharycarter> can't remember what it was now.... |
15:40:26 | dom96 | subtle trolling is fine :P |
15:40:31 | dom96 | I noticed it too |
15:40:32 | PMunch | Haha, well some good humoured trolling is fine |
15:40:42 | FromGitter | <zacharycarter> agreed |
15:40:48 | PMunch | As long as it isn't hurting anyone :) |
15:41:27 | FromGitter | <zacharycarter> yes - that's key - as soon as it becomes distracting / combative / offensive it is too much |
15:42:21 | thumbs_scum | FromMe: <Me> coding nim made me lose my mind |
15:42:47 | thumbs_scum | FromMe: <Me> reparations now |
15:47:52 | * | rockcavera quit (Remote host closed the connection) |
15:49:49 | FromGitter | <zacharycarter> does anyone have any experience with gatsbyjs / hugo / jekyll |
15:49:59 | FromGitter | <zacharycarter> and what is best to host a resume / blog? |
15:50:13 | FromGitter | <zacharycarter> I'm sure any of them will work - but I'm looking for simple and fast |
15:51:06 | * | Trustable quit (Remote host closed the connection) |
15:51:23 | dom96 | We use jekyll for nim-lang.org |
15:52:41 | * | theelous3_ quit (Ping timeout: 258 seconds) |
15:54:17 | PMunch | rect0x51, just made some changes to the nimlsp repo and created a PR to have it added to the nimble package list. This should make it possible to simply run "nimble install nimlsp" :) |
15:54:28 | rect0x51 | please comment: https://forum.nim-lang.org/t/4535#28346 |
15:54:43 | rect0x51 | PMunch: That's great news! |
15:56:10 | FromGitter | <zacharycarter> thanks dom96 |
15:57:55 | FromDiscord_ | <AregevDev> |
15:57:55 | FromDiscord_ | <AregevDev> https://cdn.discordapp.com/attachments/371759389889003532/531139285911470101/unknown.png |
15:58:00 | FromDiscord_ | <AregevDev> Mission accoplished |
16:02:36 | dom96 | Nice |
16:02:51 | rect0x51 | PMunch: Sadly I never managed to make it work, more people should try it out... |
16:03:23 | PMunch | Hmm, still the same issues? |
16:06:09 | rect0x51 | When I do manage to compile, the behavior is as described at the github issue, yes... |
16:06:47 | PMunch | Well the manage to compile part should be solved now :) |
16:08:01 | PMunch | It's kinda hard to solve as it works fine for me with your test file.. |
16:08:03 | rect0x51 | Hopefully this will encourage more people to try it out |
16:08:12 | PMunch | Did you try any other editors? |
16:08:21 | narimiran | PMunch: is 0.19.9 really needed for nimlsp, or does it work on 0.19.2 also? |
16:09:14 | rect0x51 | Yes, I did try Sublime, but tbh didn't spend much time. After adding the setting in LSP, Nim didn't pop up as an option |
16:09:21 | PMunch | narimiran, it's required |
16:09:42 | PMunch | Because of this: https://github.com/nim-lang/Nim/blob/devel/nimsuggest/nimsuggest.nim#L621 |
16:10:01 | PMunch | rect0x51, as an option? |
16:10:19 | narimiran | hmm, i'm not sure we should merge packages which don't work with the stable version. dom96 ? |
16:10:57 | rect0x51 | you have to select Nim from the LSP client plugin. |
16:12:15 | dom96 | narimiran: nah, it's fine |
16:12:22 | PMunch | narimiran, hmm well it can compile with 0.19.2, but it pulls the devel version as a submodule |
16:12:43 | PMunch | rect0x51, you do? |
16:12:53 | PMunch | I can't remember doing that when I used it in Sublime.. |
16:13:44 | rect0x51 | I never used Sublime myself, so disregard my attempt, it wasn't as serious. |
16:13:54 | thumbs_scum | is there a sublemon editor |
16:14:13 | PMunch | sublemon? |
16:14:26 | thumbs_scum | theres a lime one... |
16:15:10 | thumbs_scum | can it work with notepad++, thats what i am using |
16:15:11 | * | PMunch facepalms |
16:16:05 | PMunch | https://github.com/notepad-plus-plus/notepad-plus-plus/issues/4440 |
16:16:12 | PMunch | Doesn't seem to support LSP at the moment |
16:17:28 | thumbs_scum | are you related to PHolder that made that git suggestion? |
16:17:37 | PMunch | Nope |
16:18:30 | thumbs_scum | :P never mind |
16:18:51 | thumbs_scum | i do not want to know what the P stands for in either case |
16:19:08 | * | dom96 grabs his ban hammer |
16:19:41 | thumbs_scum | heheh, stick it up your ass |
16:20:04 | narimiran | eh, thumbs_scum you're making things too easy.... |
16:20:41 | thumbs_scum | corny or friendly dumb jokes are bannable, so do it |
16:20:47 | thumbs_scum | who cares? |
16:21:34 | PMunch | Abit harsh no? |
16:21:43 | PMunch | He wasn't really that disruptive |
16:21:48 | FromGitter | <zacharycarter> it'd be one thing if you contributed anything constructive to this channel thumbs_scum |
16:22:17 | dom96 | "stick it up your ass" is crossing the line |
16:22:22 | FromGitter | <zacharycarter> but from my observations of your activity in this channel over the past week(s) - I think a ban is worthy here |
16:22:32 | PMunch | Well yeah, that was a bit too far |
16:23:27 | FromGitter | <zacharycarter> I'm sure they will be back in some other form |
16:24:16 | FromGitter | <zacharycarter> https://www.rsaconference.com/events/us19/agenda/sessions/16608-Come-Get-Your-Free-NSA-Reverse-Engineering-Tool |
16:26:49 | rect0x51 | has anyone used radare2? |
16:28:02 | FromGitter | <zacharycarter> I have not - I actually haven't really done much / if any reverse engineering work, but I do want to learn more about the subject eventually |
16:29:08 | rect0x51 | It's nice, the only problem is you can't actually apply it easily, other than solving crackmes or playing other games... |
16:29:38 | FromGitter | <zacharycarter> right |
16:31:12 | rect0x51 | should be useful in other context, but it has to be something quite low-level that you are doing. |
16:34:00 | rect0x51 | I mean... when/why would you want to reverse engineer a binary? |
16:34:36 | PMunch | Modding? |
16:34:45 | PMunch | Or grabbing keys/API endpoints |
16:36:28 | rect0x51 | If you are into this kind of stuff it can be interesting indeed |
16:36:41 | FromGitter | <zacharycarter> I was always interested in the topic for MMO emulators |
16:36:56 | FromGitter | <zacharycarter> I still want to write an Ultima Online emulator in Nim |
16:37:08 | FromGitter | <zacharycarter> but that's very far down on the project list |
16:37:45 | FromGitter | <zacharycarter> also - I'm not sure how many (if any) other Nim users played UO |
16:38:14 | FromGitter | <zacharycarter> so finding contributors might be difficult :P |
16:40:01 | rect0x51 | I guess RE can be quite interesting for game developers |
16:40:49 | rect0x51 | Well, Nim has a few game developers, right? |
16:42:54 | FromGitter | <zacharycarter> lots of people playing with SDL2 / Godot using Nim |
16:43:03 | FromGitter | <zacharycarter> few people writing their own game tech with Nim |
16:43:32 | FromGitter | <zacharycarter> the most successful is / was - https://github.com/yglukhov/rod - which powered the Facebook game Casino Royale |
16:43:36 | FromGitter | <zacharycarter> but I believe it's now defunct |
16:44:17 | FromGitter | <zacharycarter> @Clyybber is working on a game engine and I am as well atm |
16:44:21 | FromGitter | <zacharycarter> not sure who else is |
16:46:29 | narimiran | if anybody wants to throw in some Nim mentions.... https://old.reddit.com/r/programming/comments/acsg61/version_20840_of_dmd_the_d_reference_compiler_has/ |
16:46:49 | narimiran | (...like people usually start talking about rust :D ) |
16:48:37 | FromGitter | <zacharycarter> I think - to an extent - hijacking threads like that is actually not in the best interest of Nim's growth |
16:48:48 | FromGitter | <zacharycarter> we earn the reputation, as a community, of being zealots |
16:49:00 | FromGitter | <zacharycarter> or just fanbois |
16:49:32 | FromGitter | <zacharycarter> probably a better use of time to write a blog post or post on reddit or whatever, talking about some cool project you've built |
16:49:36 | FromGitter | <zacharycarter> with Nim I mean |
16:50:12 | narimiran | agreed (and that's why i'm not writing anything, but maybe somebody else wants to do it) |
16:50:12 | * | Ven`` quit (Ping timeout: 272 seconds) |
16:50:50 | narimiran | there is a comment mentioning D's competition, so it might be not too-offtopic |
16:54:19 | FromGitter | <alehander42> Agreed |
16:54:31 | FromGitter | <alehander42> With Zachary |
16:55:40 | rect0x51 | zachary means sugar in greek :P |
16:59:44 | rect0x51 | zacharycarter: What does DMD do? If it's easy to explain. |
17:01:25 | rect0x51 | I am troubled with the term "reference compiler" |
17:03:48 | PMunch | Why? |
17:03:55 | rect0x51 | what does it mean? |
17:04:43 | PMunch | Reference compiler just means that it has a specification for how the language works, and the compiler they are talking about is the reference implementation |
17:05:58 | FromGitter | <alehander42> Rect0x51 |
17:06:03 | FromGitter | <alehander42> In Bulgarian too |
17:11:33 | rect0x51 | PMunch: Mmm I find it confusing phrasing. |
17:13:16 | rect0x51 | gotta go, bye |
17:13:22 | * | rect0x51 quit (Quit: WeeChat 2.3) |
17:20:19 | FromGitter | <zacharycarter> rect0x51: heh had no clue that my name meant something in any language :P I think DMD is just the name of D's ref compiler |
17:20:40 | Zevv | What are the general restrictions of the Nim VM? |
17:21:16 | Zevv | I'm trying to use pegs on a small embedded system and I'd like to do the peg string -> AST transform at compile time. |
17:21:28 | FromGitter | <zacharycarter> https://nim-lang.org/docs/nims.html |
17:21:32 | FromGitter | <zacharycarter> I think the restrictions are listed at the top there |
17:21:35 | Zevv | But it seems things get lost in translation when objects are casted to the parent type |
17:21:48 | FromGitter | <zacharycarter> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c30e7ac1d1c2c3f9cc81c19] |
17:22:40 | Zevv | "at least" |
17:22:49 | FromGitter | <zacharycarter> :) |
17:23:14 | FromGitter | <zacharycarter> I think folks have been complaining for a while now, about this description being not comprehensive enough |
17:23:33 | FromGitter | <zacharycarter> I'm not sure if anyone has composed a write-up with more details yet or not |
17:23:57 | Zevv | it's probably not that easy - I guess there's quite a number of 'small' reasons which all add up |
17:24:22 | Araq | FFI is not supported and 'ptr' semantics are hard to emulate with the symbolic representation the VM uses |
17:24:50 | Araq | as 'var T' is mapped to 'ptr' too, this also affects 'var T' |
17:25:20 | Araq | inheritance and object variants should work but I doubt they have been extensively tested |
17:25:23 | Zevv | hm I see. And that breaks a lot, of course |
17:25:52 | Araq | multi methods also don't work. |
17:26:01 | Araq | and I think that's it, the rest is fine. |
17:26:29 | Araq | not ideal, but not too bad either I remember porting 'lexim' to use staticExec not because of VM bugs |
17:26:35 | Araq | but because of the VM's speed |
17:26:41 | Araq | :-) |
17:26:51 | Zevv | ok, given this info I'll dig a bit further to see if I can get const pegs to work |
17:27:22 | FromGitter | <zacharycarter> would summarizing ^ and putting it into - https://nim-lang.org/docs/nims.html - be valuable Araq? |
17:27:28 | FromGitter | <zacharycarter> or are these limitations documented elsewhere? |
17:27:36 | FromGitter | <zacharycarter> if so - I can do that real quick |
17:27:51 | Araq | add it to the docs please |
17:27:58 | FromGitter | <zacharycarter> will do |
17:28:30 | Araq | and pegs... well it's weekend, I might give nim a variant of YACC |
17:29:23 | Zevv | ? |
17:29:52 | FromGitter | <zacharycarter> yet another compiler compiler |
17:30:09 | Zevv | I know what Yacc is, but "git nim a varian of Yacc" over the weekend? :) |
17:30:10 | FromGitter | <zacharycarter> https://en.wikipedia.org/wiki/Yacc |
17:30:12 | FromGitter | <zacharycarter> oh |
17:30:42 | * | sheerluck quit (Quit: Leaving) |
17:30:57 | Zevv | zacharycarter: will you update the nims doc? I can do that and make a PR as well? |
17:31:37 | FromGitter | <zacharycarter> I was just deleting and re-forking Nim - but if you want to do it Zevv / are already planning on making PR(s), please go ahead |
17:31:47 | FromGitter | <zacharycarter> if you're busy - I don't mind helping out :) |
17:32:19 | Calinou | @zacharycarter about static site generators, I'd recommend going with Hugo for a new site |
17:32:24 | Araq | zacharycarter: we prepared the docgen for Nim playground integration |
17:32:28 | Zevv | I'll add a simple section to the doc mentioning the various limitations, araq can always comment on the PR later |
17:32:41 | Calinou | Jekyll is what we use on nim-lang.org, and I still use it on my own website because migrating would take a lot of time for little benefit in my case |
17:32:52 | Araq | but I don't know how it works. |
17:33:07 | FromGitter | <zacharycarter> well - I think we need to figure out what to do with the playground |
17:33:25 | Araq | especially what kind of JS components you use |
17:33:44 | FromGitter | <zacharycarter> dom96 set up a VPS and gave me an IP address for moving the playground |
17:34:20 | FromGitter | <zacharycarter> but my SSH key pair is no longer valid and I no longer have the IP address of the VPS |
17:34:41 | FromGitter | <zacharycarter> also - someone had mentioned they wanted to take over ownership and maintenance of the playground - which I'm fine with |
17:35:16 | FromGitter | <zacharycarter> I haven't been maintaining it (obviously) and I don't have much of a desire to work on web-related projects lately, due to burnout at work |
17:35:44 | FromGitter | <zacharycarter> Calinou: thanks - Hugo does look nice |
17:36:18 | Araq | well dom96 will give you new keys I'm sure |
17:36:23 | Araq | but bbs |
17:36:46 | FromGitter | <zacharycarter> when he is free - I will make myself free and I will do the migration then and there so I don't re-create this situation |
17:37:04 | FromGitter | <zacharycarter> tomorrow would be an opportune time for me |
17:37:18 | FromGitter | <zacharycarter> or next weekend |
17:37:22 | Calinou | the main benefit of Hugo is its speed, and that it works a single binary without dependencies (makes CI easier) |
17:37:29 | FromGitter | <zacharycarter> it's hard to commit to something on a weeknight |
17:37:58 | FromGitter | <zacharycarter> Calinou: yes - I've heard jekyll slows down quite a bit when the content scales |
17:39:01 | FromGitter | <zacharycarter> going to try to throw something small together this afternoon |
17:39:22 | FromGitter | <zacharycarter> I'm growing impatient with my current real estate venture, so I may just end up having to find a new job while I wait for my house to sell |
17:40:17 | FromGitter | <zacharycarter> and that mandates a resume :P which I've been dreading writing for a while now |
17:43:18 | * | zachk joined #nim |
17:44:21 | * | zachk quit (Read error: Connection reset by peer) |
17:44:43 | * | zachk joined #nim |
17:45:07 | * | zachk quit (Changing host) |
17:45:07 | * | zachk joined #nim |
17:59:34 | * | vlad1777d joined #nim |
18:03:28 | Zevv | It seems pegs is mainly broken in nimscript because there is out of bounds string access happening. This does not show in normal nim because the pattern buffer is a cstring (why?) but the VM trips over this |
18:04:11 | Zevv | I guess it is a cstring just for this reason: it's valid to peek in a string because of the trailing \0 |
18:05:09 | * | vlad1777d quit (Ping timeout: 252 seconds) |
18:10:41 | * | vlad1777d joined #nim |
18:18:32 | Zevv | yeah, too bad. My const peg is parsed, but now: t.nim(4, 7) Error: invalid type for const: Peg |
18:18:46 | Zevv | that was fun. let's have a coffee instead |
18:21:02 | * | theelous3_ joined #nim |
18:21:19 | * | kapil____ quit (Quit: Connection closed for inactivity) |
18:44:07 | shashlick | wow been busy here |
18:44:31 | * | vlad1777d quit (Ping timeout: 260 seconds) |
18:45:17 | shashlick | @dom96 - created a new PR on nimble to allow uninstall of reverse dependencies: https://github.com/nim-lang/nimble/pull/601 |
18:48:11 | FromGitter | <kaushalmodi> Calinou: Just jumping in to say ++1 for Hugo static site generator :) |
18:49:19 | FromGitter | <zacharycarter> lots of love for Hugo |
18:49:32 | FromGitter | <zacharycarter> Im enjoying it thus far |
18:49:52 | FromGitter | <zacharycarter> and they picked one of the features I like golang for - its templating |
18:50:25 | FromGitter | <zacharycarter> PMunch: were you the person who was interested in taking over the playground? |
18:50:30 | FromGitter | <zacharycarter> and if so - is that still the case? |
18:50:37 | PMunch | Yes that was me |
18:50:38 | Calinou | I tried migrating my site to Hugo but work stalled, so I'm still on Jekyll here |
18:50:45 | Calinou | (it doesn't have a blog anyway, so performance isn't an issue) |
18:50:47 | PMunch | Sure :) |
18:51:58 | FromGitter | <zacharycarter> okay - when dom96 has a moment and can get you and I the new VPS details, maybe we can do a skype call (or whatever) and I can go over the project and how I deployed it etc... |
18:52:07 | FromGitter | <zacharycarter> we can get it onto the new VPS - and I can hand the reigns over to you |
18:52:14 | FromGitter | <zacharycarter> if that sounds amiable |
18:52:16 | PMunch | Sounds like a plan |
18:52:22 | FromGitter | <zacharycarter> sweet! |
19:10:35 | federico3 | Calinou: I use Pelican because it does the same work as Jekyll with much less dependencies |
19:10:56 | Calinou | yeah, but Pelican is Python so you still need Python and it's slower than Hugo |
19:29:28 | * | stefanos82 quit (Remote host closed the connection) |
19:31:29 | * | dorelix joined #nim |
19:36:16 | FromGitter | <Clyybber> @rect0x51 I use radare2 sometimes. |
19:36:56 | FromGitter | <Clyybber> But not for my game, not sure how that would help me, but for inspecting other games, namely CubeWorld |
19:38:07 | FromGitter | <Clyybber> It's a good (maybe even better) alternative to proprietary Ada. |
19:38:31 | FromGitter | <Clyybber> Theres also a decent UI interface for it, called cutter. |
19:39:22 | FromGitter | <zacharycarter> welp - I just killed all productivity for this afternoon by discovering Remi Gallard |
19:39:33 | FromGitter | <zacharycarter> Gaillard* |
19:42:00 | FromDiscord_ | <exelotl> oh no xD |
19:45:39 | FromGitter | <zacharycarter> haha he has some good bits |
19:52:15 | FromGitter | <zacharycarter> @Clyybber - cube world was interesting but I've found some voxel projects which interest me a lot more - https://www.voxelfarm.com and https://www.voxelquest.com/ |
19:52:48 | FromGitter | <zacharycarter> you've probably already seen these - but just in case you haven't |
20:08:44 | FromDiscord_ | <exelotl> cube world was *the* shit |
20:09:14 | FromDiscord_ | <exelotl> such a rich and fun world to roam around with friends |
20:09:58 | FromDiscord_ | <exelotl> the movement and combat and design and sfx were all so on-point |
20:11:38 | FromGitter | <Clyybber> @zacharycarter Yeah already seen those. I like them, but nothing replicates the feeling playing cubeworld gives me |
20:12:30 | FromGitter | <zacharycarter> yeah - cubeworld is more of an actual game and these are more of research projects/tools |
20:12:40 | FromGitter | <Clyybber> I dunno, I just love that game so much. It's so fun roaming around the world with friends. |
20:13:04 | FromGitter | <zacharycarter> hmmm |
20:13:12 | FromGitter | <zacharycarter> maybe I should build this UO emulator |
20:13:13 | FromGitter | <zacharycarter> :P |
20:14:37 | FromGitter | <Clyybber> Never played Ultima Online myself, but I remember watching my cousin play it for hours :D |
20:15:06 | FromGitter | <zacharycarter> I think if you like these sorts of games you'd like UO |
20:15:14 | FromGitter | <zacharycarter> UO was the grand daddy to the modern MMO |
20:15:37 | FromGitter | <zacharycarter> and arguably had some of the best gameplay concepts in MMO history |
20:15:47 | FromGitter | <zacharycarter> even though over time, they were phased out for more theme-parkish features |
20:16:00 | FromGitter | <zacharycarter> sandbox MMO I mean |
20:29:46 | * | Trustable joined #nim |
21:21:57 | * | hoijui joined #nim |
21:37:44 | * | zyklon joined #nim |
21:42:23 | FromDiscord_ | <avessara> Sex Dating > http://discord.amazingsexdating.com |
21:47:10 | * | Vladar quit (Remote host closed the connection) |
21:59:54 | * | narimiran quit (Ping timeout: 272 seconds) |
22:04:14 | * | hoijui quit (Remote host closed the connection) |
22:32:54 | * | lritter quit (Ping timeout: 252 seconds) |
22:33:07 | FromGitter | <zetashift> yikes again |
23:07:08 | dom96 | huh, what does the "JOINED" in the test suite output mean? |
23:07:31 | FromGitter | <timotheecour> means it joins megatest train |
23:07:59 | dom96 | can you be more specific? |
23:08:19 | FromGitter | <timotheecour> it implements this: https://github.com/nim-lang/Nim/issues/9581 |
23:08:59 | FromGitter | <timotheecour> it’s faster to run multiple tests as a single invocation of `nim`, which is what megatest does |
23:09:25 | FromGitter | <timotheecour> by default, it joins, unless specified otherwise (see isJoinable logic) |
23:09:51 | dom96 | right, so ... how can I tell if these failed or passed? |
23:10:26 | dom96 | is there a "PASS: megatest" at the end? |
23:10:48 | dom96 | if so, wouldn't it be better to skip these hundreds of "JOINED" and instead output a "PASS" for each when the megatest passes? |
23:11:26 | FromGitter | <timotheecour> u mean individually? if megatest passes, all pass; if megatest fails, https://github.com/nim-lang/Nim/pull/10089 helps tell you which one failed ; it aborts on 1st failure ; as an enhancement, we can enhance logic to go past 1st failure, if needed |
23:11:34 | FromGitter | <timotheecour> but priority was made for speed. |
23:12:26 | dom96 | yes, I would rather see "FAIL" or "PASS" for all of them instead of a "JOINED" which doesn't really inform me about them other than that they are part of this megatest |
23:14:41 | FromGitter | <timotheecour> so currently we’re only outputting this: ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ one improvement would be: ... [https://gitter.im/nim-lang/Nim?at=5c313a615ec8fe5a8509d52e] |
23:16:08 | dom96 | yeah, that would be awesome :) |
23:16:14 | dom96 | but yeah, not important |
23:16:49 | FromGitter | <timotheecour> we could also easily have:` PASS foo.nim` for each` foo` in megatest, however what would require a lot more change would be to show individual failing tests (would require try/catch logic and I’d rather not); note that u can pass a flag to skip `joining` so everything runs individually |
23:18:24 | FromGitter | <timotheecour> but again, here the priority was for speeding up CI ; usually I wanna know what failed, not what succeeded |
23:19:50 | FromGitter | <timotheecour> btw once https://github.com/nim-lang/Nim/issues/10045 is implemented, stdlib will also join megatest. |
23:22:02 | FromGitter | <timotheecour> btw, what do u think of passing `—hint:CC:off` and `—hint:processing:off` to CI ? it’s rarely useful and makes it harder to go straight to the error; in the rare case it’s useful a PR can either pass these locally or temporarily pass a flag to run with these in CI for that PR |
23:22:03 | * | zyklon quit (Read error: Connection reset by peer) |
23:22:18 | * | nsf quit (Quit: WeeChat 2.3) |
23:24:40 | dom96 | I would prefer a bot that grabs the relevant parts of the logs for us as soon as CI finishes |
23:24:47 | dom96 | (and posts them in a PR) |
23:39:46 | * | zyklon joined #nim |
23:45:36 | FromGitter | <timotheecour> ya, I agree, it’s a better fix indeed; just re-opened https://github.com/nim-lang/Nim/issues/9847#issuecomment-451702076 |
23:55:28 | * | vlad1777d joined #nim |