00:00:32 | * | opal quit (Remote host closed the connection) |
00:01:45 | * | opal joined #nim |
00:09:30 | FromDiscord | <Rebel> because I copied from forums and that's what I saw |
00:09:36 | FromDiscord | <Rebel> good idea I will try with addr |
00:11:05 | FromDiscord | <Rebel> ok maybe I did try with addr a few weeks ago but I remember why not ```Error: expression has no address; maybe use 'unsafeAddr'``` |
00:11:21 | FromDiscord | <Rika> for addr to work they must be var |
00:11:26 | FromDiscord | <Rebel> oh shit |
00:11:33 | FromDiscord | <Rebel> it was a let |
00:11:51 | FromDiscord | <Rebel> huh |
00:11:54 | FromDiscord | <Rebel> it does work with addr |
00:12:08 | FromDiscord | <Rebel> what is the benefit of using addr? |
00:12:12 | FromDiscord | <Rika> its not unsafe |
00:12:14 | FromDiscord | <Rika> well it is |
00:12:16 | FromDiscord | <Rebel> lol |
00:12:17 | FromDiscord | <Elegant Beef> unsafeaddr is basically the "Ok im certain i want to overwrite the mutabillity" |
00:12:18 | FromDiscord | <Rika> but its not unsafeAddr |
00:12:53 | FromDiscord | <Rebel> unsafeAddr is just doing &myvar under the hood and addr does some magic before doing dereferencing it? |
00:12:55 | FromDiscord | <Elegant Beef> Causue you shouldnt be able to mutate a let without explictly doing so |
00:13:25 | FromDiscord | <Elegant Beef> I think it's more just for `let` you have to explictly state you want to modify it to ensure you know what you're doing |
00:13:49 | * | a_chou quit (Quit: a_chou) |
00:14:18 | FromDiscord | <Rika> unsafeaddr is taking the pointer of anything that exists, addr takes pointers of only mutable objects |
00:14:34 | FromDiscord | <exelotl> yeah what rika said |
00:14:46 | FromDiscord | <Elegant Beef> Hey that's what i said to basically 😛 |
00:15:37 | FromDiscord | <exelotl> oh yeah true, I was writing a response to clarify that addr doesn't do any "magic", it's just pickier about where it can be used |
00:15:46 | FromDiscord | <exelotl> but rika beat me to it x) |
00:19:02 | FromDiscord | <Rebel> Elegant can you explain that code? does not work but curious what it does |
00:19:12 | FromDiscord | <Rebel> you are just casting the file?? where do you actually open it |
00:19:31 | FromDiscord | <Elegant Beef> Well since it's just a playground the pretend file is `readAll(file` |
00:19:33 | FromDiscord | <Elegant Beef> (edit) '`readAll(file`' => '`readAll(file)`' |
00:19:38 | FromDiscord | <Rebel> yeah I changed the path lol |
00:19:39 | FromDiscord | <Elegant Beef> Just test data to show it working |
00:19:40 | FromDiscord | <Rebel> ohh |
00:19:43 | FromDiscord | <Rebel> I need to do file = open(path) |
00:20:07 | FromDiscord | <Elegant Beef> you can also do `readAll(path)` which should open read then close |
00:20:23 | FromDiscord | <Elegant Beef> Or maybe im wrong |
00:20:32 | FromDiscord | <Elegant Beef> Ah `readFile` |
00:22:21 | FromDiscord | <Rebel> ok |
00:26:26 | FromDiscord | <Rebel> yeah none of the above worked and neither did my solution so will need to play around some more |
00:27:01 | FromDiscord | <Elegant Beef> What do you mean |
00:27:07 | FromDiscord | <Elegant Beef> What i linked works |
00:27:37 | FromDiscord | <Rebel> yes it works but not for my use case |
00:29:29 | * | krux02_ quit (Read error: Connection reset by peer) |
01:02:06 | * | info joined #nim |
01:02:59 | * | info quit (Client Quit) |
01:03:44 | FromDiscord | <iWonderAboutTuatara> Does Nim have truthy/falsy? |
01:04:10 | FromDiscord | <iWonderAboutTuatara> Ie does checking if an str or int is true work, and is it recommended |
01:05:03 | FromDiscord | <Elegant Beef> No |
01:05:43 | FromDiscord | <Elegant Beef> You can implement it if you so wish using converters, but many people would hate you :d |
01:11:29 | * | Zectbumo joined #nim |
01:17:34 | * | antranigv quit (Ping timeout: 256 seconds) |
01:18:32 | * | antranigv joined #nim |
01:20:35 | disruptek | to be fair, many people might hate you even if you don't implement it. |
01:22:06 | FromDiscord | <Elegant Beef> Yea |
01:27:05 | FromDiscord | <flywind> I use `pkg install nim` in freebsd with virtual machine and `nim -v` works, but seems to miss `nimble`. |
01:27:49 | FromDiscord | <Elegant Beef> Cant you use choosenim on BSD? |
01:28:07 | FromDiscord | <flywind> bsd doesn't support choosenim |
01:28:07 | FromDiscord | <iWonderAboutTuatara> Choosenim? |
01:28:26 | disruptek | it's like gitnim but for less discerning folks. |
01:28:30 | FromDiscord | <flywind> choosenim doesn't support bsd. |
01:30:25 | * | apahl quit (Ping timeout: 240 seconds) |
01:30:27 | FromDiscord | <iWonderAboutTuatara> What's gitnim? |
01:30:32 | FromDiscord | <iWonderAboutTuatara> What is choosenim? |
01:30:34 | disruptek | ~gitnim |
01:30:35 | disbot | gitnim: 11https://gitnim.com/ -- choosenim for choosey nimions -- disruptek |
01:30:39 | disruptek | !repo choosenim |
01:30:40 | disbot | https://github.com/dom96/choosenim -- 9choosenim: 11 15 284⭐ 33🍴 & 2 more... |
01:30:50 | FromDiscord | <iWonderAboutTuatara> Oh dom96 |
01:30:53 | FromDiscord | <iWonderAboutTuatara> He wrote the book |
01:31:07 | disruptek | yeah, he's famous. |
01:31:14 | FromDiscord | <iWonderAboutTuatara> That seems useful, don't have to do a whole lot manually |
01:31:18 | FromDiscord | <iWonderAboutTuatara> What a legend |
01:31:21 | FromDiscord | <iWonderAboutTuatara> I'll get that |
01:32:22 | * | apahl joined #nim |
01:44:00 | * | abm quit (Quit: Leaving) |
01:46:21 | * | vicfred joined #nim |
02:14:42 | * | muffindrake quit (Ping timeout: 260 seconds) |
02:16:27 | * | muffindrake joined #nim |
02:26:24 | * | Tlangir joined #nim |
02:29:18 | * | Tlanger quit (Ping timeout: 260 seconds) |
02:29:26 | * | screens_ quit (Quit: screens_) |
02:30:08 | * | screens_ joined #nim |
02:34:00 | * | Tlangir quit (Remote host closed the connection) |
02:34:24 | * | Tlangir joined #nim |
02:34:33 | * | screens_ quit (Client Quit) |
02:35:42 | * | snowolf quit (Remote host closed the connection) |
02:35:50 | * | screens_ joined #nim |
02:41:50 | * | snowolf joined #nim |
03:06:24 | * | screens_ quit (Quit: screens_) |
03:06:58 | * | screens_ joined #nim |
03:07:14 | * | thomasross quit (Ping timeout: 260 seconds) |
03:24:25 | * | arecacea1 quit (Remote host closed the connection) |
03:25:02 | * | arecacea1 joined #nim |
04:01:39 | * | arecacea1 quit (Remote host closed the connection) |
04:02:03 | * | arecacea1 joined #nim |
04:05:07 | FromDiscord | <Kaynato> https://play.nim-lang.org/#ix=2way Really not sure *where* the wrong access is coming from here - changing line 18 to `data[][0] = ...` doesn't change anything either. Really not sure why viewing the same data as `m128` instead of `array[4, float32]` produces a SIGSEGV. The sizes are the same (16 bytes), and I'm able to use regular arrays - just not pointers with these |
04:06:01 | * | supakeen quit (Quit: WeeChat 2.9) |
04:06:33 | * | supakeen joined #nim |
04:44:40 | FromDiscord | <Kaynato> Would it be that _m128 can't exist on the heap...? |
04:57:52 | FromDiscord | <Elegant Beef> Idk if that's true since this works↵https://play.nim-lang.org/#ix=2waC |
04:59:35 | FromDiscord | <Kaynato> I mean as the c-defined type, which is, at least for the gcc compiler I'm using, https://github.com/gcc-mirror/gcc/blob/bec05c98b94f22e70187b2d0e0c9ea6d51865aef/gcc/config/i386/xmmintrin.h#L69 |
05:00:46 | FromDiscord | <Elegant Beef> Yea im speaking out my ass, so no clue |
05:16:12 | * | waleee-cl quit (Quit: Connection closed for inactivity) |
05:20:35 | * | Avatarfighter quit (Ping timeout: 240 seconds) |
05:25:48 | * | solitudesf- joined #nim |
05:27:41 | FromDiscord | <Avatarfighter> @Elegant Beef that is a mood |
05:27:54 | FromDiscord | <Elegant Beef> Uhh |
05:28:18 | FromDiscord | <Avatarfighter> hm i definitely didn't think that was from 27 minutes ago |
05:28:38 | FromDiscord | <Elegant Beef> Eh doesnt matter, im just more concerned with what exactly you said means 😛 |
05:29:00 | FromDiscord | <Avatarfighter> I meant speaking out of my ass is what I do sometimes lmao |
05:29:42 | FromDiscord | <Elegant Beef> Back in my day mood was how you felt and met emotion, shit im only 21 |
05:29:48 | FromDiscord | <Elegant Beef> (edit) 'met' => 'ment' |
05:29:53 | FromDiscord | <Avatarfighter> LMAO |
05:30:03 | FromDiscord | <Avatarfighter> I'm only 18 😭 |
05:34:39 | * | narimiran joined #nim |
05:36:22 | * | NimBot joined #nim |
05:37:24 | FromDiscord | <Kaynato> Ok, so it looks like I can produce usable ptr mm128 fine from arrays and single mm128, but unchecked memory cannot be viewed as mm128, though any builtin or builtin-composited types such as array[4, float32] are fine. I'm not sure if it's that __m128 only can stay on the register - in that case, what does it mean for a struct to have m128 members? |
05:42:58 | FromDiscord | <Kaynato> God, I don't get it. Wrapping it in a proxy type does no good. I am barred from having dynamic arrays of mm128s. Do I replace it with array[4, float] entirely and only move to SSE registers in functions that process them? Must I resort to using emit pragma? |
06:01:03 | * | gmaggior joined #nim |
06:18:36 | FromDiscord | <Elegant Beef> Well kaynato give it time and someone with a brain will certainly help 😄 |
06:34:16 | * | pietroppeter joined #nim |
06:43:37 | * | freddy77 joined #nim |
06:46:29 | gmaggior | Hi. Just out of curiosity, is it possible in Nim to have a list where each element (node) points to a different data type so simulating L = [1, "abc", 5.0, ref_object] ? |
06:47:21 | narimiran | gmaggior: use `json` for that |
06:47:47 | FromDiscord | <flywind> or object variant |
06:48:14 | FromDiscord | <flywind> https://nim-lang.org/docs/tut2.html#object-oriented-programming-object-variants |
06:48:17 | * | freddy77 quit (Client Quit) |
06:48:58 | gmaggior | ah thanks! |
06:49:46 | gmaggior | very nice! |
06:54:29 | * | newUser joined #nim |
06:55:18 | * | newUser left #nim (#nim) |
06:55:22 | * | bouzu_ joined #nim |
06:55:44 | * | newUser joined #nim |
06:56:34 | newUser | gmaggior: you can use a tuple: https://narimiran.github.io/nim-basics/#_tuples |
06:57:55 | FromDiscord | <unquietwiki> Hey everyone. So I'm unquietwiki from r/altprog on Reddit; folks there introduced me to Nim. I just got my copy of Nim in Action. I also started working for ZeroTier lately; I think I might be able to use it for some library stuff via metaprogramming. If I wanted to write Nim code to output wrappers for a C-library in multiple languages, would that be feasible? |
06:58:29 | * | Zectbumo quit (Remote host closed the connection) |
06:58:36 | * | narimiran quit (Ping timeout: 258 seconds) |
06:59:36 | FromDiscord | <unquietwiki> I figure once I understand how the C-library works, I can write a Nim skeleton around it to spit out stuff for Python, Node, Go, whatever |
06:59:57 | gmaggior | newUser, yes and probably is best (but the idea of the list is to be able to add/remove elements at runtime) |
07:10:35 | newUser | gmaggior: true, (https://forum.nim-lang.org/t/4969, the same solutions) |
07:11:05 | FromDiscord | <haxscramper> @unquietwiki You want to write C wrapper in nim (on top of existing one) & generate wrappers for different languages for it or automatically generate bindings for existing library? First one should be possible to do with some macros, see https://github.com/yglukhov/nimpy , but you will have to write wrappers first, which can be done in semi-automatic way |
07:11:45 | FromDiscord | <unquietwiki> Hey @haxscramper . I want to have it generate wrappers |
07:12:01 | FromDiscord | <unquietwiki> The existing code is in C |
07:12:14 | gmaggior | newUser, nice link |
07:12:18 | * | newUser quit (Remote host closed the connection) |
07:13:06 | * | newUser joined #nim |
07:13:27 | FromDiscord | <haxscramper> For this one you might try using libclang wrapper - I'm currently working on https://github.com/haxscramper/hcparse - if library API is not macro-based (i.e. don't have lots of defines etc) it should be usable |
07:14:04 | newUser | gmaggior: link without comma... sorry |
07:14:37 | FromDiscord | <unquietwiki> @haxscramper That looks neat, and timely! BTW, it has no license on it ATM; https://github.com/zerotier/libzt this is what I want to work with. |
07:15:13 | FromDiscord | <unquietwiki> I already suggested rewriting it with another altprog, but they want to keep the existing library. |
07:16:45 | * | newUser left #nim (#nim) |
07:16:53 | FromDiscord | <unquietwiki> If I can't use yours, I at least know I'm not crazy for thinking this. 😆 |
07:18:26 | FromDiscord | <haxscramper> Header file contains a lot of defines for constants - they won't be wrapped in nim since libclang just runs preprocessor. Otherwise it should be possible to wrap everything |
07:19:16 | FromDiscord | <haxscramper> For porting preprocessor you might want to look into `c2nim` - it handles it quite well. Libclang is good when you want to wrap all of these function prototypes in nim |
07:20:02 | FromDiscord | <unquietwiki> https://github.com/nim-lang/c2nim ? |
07:20:09 | FromDiscord | <haxscramper> yes |
07:20:38 | FromDiscord | <unquietwiki> Ah. So you're saying I'd use that + something like your thing to at least partially convert the existing library, and then that can do what I want? |
07:22:40 | FromDiscord | <haxscramper> Right now hcparse is usable when you want to have full control over logic of how things are ported. Renaming enums, adding function parameters/ renaming them, adding documentation for wrappers. |
07:23:14 | FromDiscord | <haxscramper> I.e. this is not a tool but a library to simplify writing custom wrapper generators as much as possible |
07:23:58 | FromDiscord | <haxscramper> *especially* if you want to generate wrappers in other languages |
07:25:39 | FromDiscord | <unquietwiki> (nods) Well, I can take a look. I might even be able to contribute some code back if I can do this. I already annoyed the team trying to help with Android stuff. (sigh) But the lead dev on this lib wants more folks using it, and thinks it'd be good for me to work on. |
07:26:51 | FromDiscord | <haxscramper> This library not finished and I would appreciate any kind of feedback on usage - not only contribution. I haven't actually used it for anything except for bootstrapping clang wrappers, so maybe there are some underdocumented things, missing API parts etc. |
07:27:49 | FromDiscord | <haxscramper> There are no examples as of now but you might take a look at unit tests |
07:27:51 | FromDiscord | <unquietwiki> Learning experience for both of us! 😆 |
07:28:25 | FromDiscord | <haxscramper> :) |
07:29:12 | FromDiscord | <haxscramper> * tries to remember whether this thing can even be installed without errors * |
08:21:14 | * | muffindrake quit (Ping timeout: 246 seconds) |
08:36:38 | FromDiscord | <whisperdev> Hi all what is the most usable ssh lib out there? |
08:37:05 | * | hnOsmium0001 quit (Quit: Connection closed for inactivity) |
08:44:01 | * | pietroppeter quit (Quit: Connection closed for inactivity) |
08:45:32 | * | bouzu__ joined #nim |
08:45:48 | FromDiscord | <haxscramper> There are wrappers for both libssh and libssh2, but AFAIK they only provide access to low-level C interface, no additional sugar on top, so they are pretty much identical in terms of usability. |
08:46:49 | FromDiscord | <whisperdev> Oh no 😦 |
08:47:02 | FromDiscord | <whisperdev> I have a hard time to use winapi I am not sure I can handle low-level C interface |
08:47:03 | FromDiscord | <whisperdev> XD |
08:47:49 | * | bouzu_ quit (Ping timeout: 244 seconds) |
08:48:11 | FromDiscord | <whisperdev> But I guess at least for shashlick's wrapper I can get some support |
08:55:39 | FromDiscord | <whisperdev> I hate this import |
08:55:54 | FromDiscord | <whisperdev> It never seems to work out of the box for me when I need to import a git cloned project (#*%(#!*%(#! |
09:05:18 | FromDiscord | <j$> is there a way to around recursive dependencies, other than restructuring my code? |
09:11:10 | Zevv | not really. |
09:11:33 | FromDiscord | <j$> I didn't think so |
09:11:40 | FromDiscord | <j$> I need a melting pot |
09:11:51 | Zevv | it's a bit of a pain. usually the dependencies only exists because of recursive types, so putting your types into one type block is usually enough |
09:12:06 | Zevv | the limitiation is caused by nim doing only one compilation pass, for performance reasons |
09:12:23 | Zevv | I think is the single final annoyance I still have with Nim |
09:13:31 | FromDiscord | <j$> yeah it's been bothering me, I don't like having to structure my project bc of language limitations |
09:13:32 | Zevv | I bet some would argue having recursive types is a smell of bad design, but it just happens sometimes |
09:13:36 | Zevv | same |
09:13:54 | FromDiscord | <j$> yeah I agree but like Im just trying to get some code down |
09:14:31 | Zevv | I'm not sure what the official opinion of the Creators is on this, actually |
09:15:09 | FromDiscord | <j$> im interested in that myself |
09:17:18 | FromDiscord | <Clyybber> recursive types are not a bad smell |
09:17:32 | Zevv | yes but you are not some |
09:17:38 | * | Vladar joined #nim |
09:17:39 | FromDiscord | <Clyybber> recursive imports you could argue that they are |
09:17:54 | Zevv | ok, fair enough - wrong wording |
09:17:54 | FromDiscord | <whisperdev> I really like error like this when you have no fucking clue whatsoever why it does not load the dll I placed in the same directory |
09:17:57 | FromDiscord | <whisperdev> "could not load: libssh2.dll" |
09:18:03 | FromDiscord | <whisperdev> THANK YOU THAT IS SO HELPFUL |
09:18:12 | Zevv | well, it could also not tell you, right |
09:19:23 | Zevv | clyybber: do you know if the recursive problem is or ever has been on a roadmap? |
09:19:29 | Zevv | it's far from trivial I bet |
09:19:44 | Zevv | but it's one of the things everyone hits every now and then |
09:20:06 | Zevv | it's worse then nimble import version dependencies :) |
09:21:59 | FromDiscord | <Clyybber> Araq said hes ok with making them work |
09:22:16 | FromDiscord | <whisperdev> It could tell me if it's because it does not see it or.... |
09:23:13 | solitudesf- | its 32bit dll and you have 64bit application? |
09:23:18 | * | solitudesf- is now known as solitudesf |
09:24:04 | FromDiscord | <whisperdev> I dont know...you know why? Because it's difficult to find a correct dll that you need because you just dont want to download random dlls from the internet |
09:24:43 | solitudesf | thats unfortunate |
09:25:45 | FromDiscord | <whisperdev> We need more pure nim libraries. This is so much pain |
09:30:40 | FromDiscord | <Elegant Beef> Blame windows for not have a package manager |
09:30:52 | FromDiscord | <Elegant Beef> *Ok blame them for not having one until 2020* |
09:31:38 | solitudesf | there is scoop and chocolatey |
09:32:22 | FromDiscord | <Elegant Beef> Yea not official though, but winget is here now |
09:56:29 | * | rokups joined #nim |
10:11:36 | shashlick | @whisperdev might be dll dependencies |
10:11:58 | shashlick | Try dependency walker |
10:12:45 | shashlick | I'd use http://binarybuilder.org |
10:17:31 | shashlick | @unquietwiki try nimterop on libzt - if you need help, ping |
10:18:41 | FromDiscord | <unquietwiki> Thanks shash |
10:21:47 | FromDiscord | <whisperdev> thanks shash |
10:23:52 | shashlick | Need to convert nimssh2 to nimterop at some point |
10:34:19 | * | krux02 joined #nim |
10:36:53 | * | Sembei joined #nim |
10:39:33 | * | gmaggior quit (Quit: Leaving) |
10:54:46 | FromDiscord | <19> i dont know if this helps but u can build the dll from source: https://github.com/libssh2/libssh2/blob/master/docs/INSTALL_CMAKE.md |
10:56:32 | FromDiscord | <19> there is also vcpkg. we should totally link nim with vcpkg |
10:56:56 | FromDiscord | <19> has anyone tried it before? |
10:58:26 | shashlick | Just use https://github.com/JuliaBinaryWrappers/LibSSH2_jll.jl |
10:58:43 | shashlick | Nimterop already supports jbb and Conan |
10:59:02 | shashlick | I looked at vcpkg but don't know if it's worth the effort |
11:00:19 | FromDiscord | <19> what is jbb? |
11:00:50 | shashlick | https://binarybuilder.org/ |
11:00:57 | shashlick | Run by the Julia folks |
11:01:16 | shashlick | Prebuilt binaries of many popular libs |
11:02:24 | FromDiscord | <19> nice! how does the nim compiler automatically find stuff installed by jbb/conan? |
11:02:53 | FromDiscord | <19> vcpkg is supported by microsoft so maybe its worth it? |
11:12:34 | shashlick | Check out nimgit2 and nimarchive for how they use jbb and Conan |
11:13:08 | shashlick | I didn't go too far with vcpkg since they don't post precompiled binaries |
11:13:12 | shashlick | It's cool tho |
11:16:10 | FromDiscord | <19> yeah i like it with vs or vscode. ill try conan + nim |
11:17:11 | shashlick | Nimterop directly pulls from their repos |
11:17:24 | shashlick | So you don't need to have any tools installed |
11:17:34 | shashlick | There's also conda |
11:17:35 | FromDiscord | <19> perfection |
11:17:46 | FromDiscord | <19> conda the python thingy? |
11:18:05 | shashlick | https://anaconda.org/anaconda/libssh2/files |
11:18:16 | shashlick | They also build many binaries |
11:18:37 | FromDiscord | <19> oh nice |
11:19:04 | FromDiscord | <19> nimterop supports it too? |
11:19:35 | shashlick | Not yet |
11:20:11 | shashlick | Some of these don't include static binaries since those make no sense for dynamic languages like python or Julia |
11:20:42 | FromDiscord | <19> there was someone who was trying to fix this build issues things in an elegant way with https://github.com/dascandy/evoke but looks like it’s abandoned |
11:24:35 | shashlick | Seems more like a cmake competitor |
11:25:02 | shashlick | By the way nimterop also sorts cmake and autoconf |
11:25:30 | FromDiscord | <19> in his talk he was saying that cmake/ninja and such suck for beginners and it was too complicated. so he wanted to make it beginner friendly. |
11:26:15 | shashlick | None of this is fun |
11:26:22 | FromDiscord | <19> i totally need to give nimterop a spin. i will do that right now. im gonna try it with glad + glfw + assimp + stb_image |
11:26:48 | shashlick | Note only c support as of today |
11:27:06 | FromDiscord | <19> yeah its definitely not fun but there is a strange satisfaction from getting the dlls xD |
11:27:13 | FromDiscord | <19> yeah all of these have C apis |
11:28:08 | FromDiscord | <19> sadistic satisfaction i must add :p |
11:28:13 | shashlick | Cool, feel free to ping if you need any help |
11:28:34 | FromDiscord | <19> awesome! much appreciated |
11:28:47 | shashlick | And if for fun, okay, but some of those have wrappers so |
11:30:37 | FromDiscord | <19> good for testing, but i will definitely end up using the wrappers. coz there is a lib i want to bind to nim later when i fetch it’s dlls. |
11:36:08 | shashlick | Which one |
11:37:29 | * | pietroppeter joined #nim |
11:39:32 | * | natrys joined #nim |
11:45:17 | FromDiscord | <19> Kinc |
11:45:48 | FromDiscord | <19> https://github.com/Kode/Kinc |
11:53:56 | FromDiscord | <19> would be nice to try nimterop with |
11:55:30 | * | waleee-cl joined #nim |
11:55:56 | FromDiscord | <19> it has a nodejs build system |
12:00:38 | * | rockcavera quit (Remote host closed the connection) |
12:06:01 | * | supakeen quit (Quit: WeeChat 2.9) |
12:06:33 | * | supakeen joined #nim |
12:21:35 | * | arecacea1 quit (Remote host closed the connection) |
12:22:18 | * | arecacea1 joined #nim |
12:26:44 | FromDiscord | <Recruit_main707> it has a c api? |
12:27:28 | FromDiscord | <Clyybber> it is written in C/C++ |
12:28:55 | FromDiscord | <19> yes Kore is C++ and Kinc is Kore in C |
12:46:14 | * | rokups quit (Quit: Connection closed for inactivity) |
13:01:35 | FromDiscord | <Clyybber> Araq: ping |
13:25:27 | * | FromDiscord quit (Remote host closed the connection) |
13:25:45 | * | FromDiscord joined #nim |
13:29:14 | * | lritter joined #nim |
13:44:13 | * | natrys quit (Ping timeout: 260 seconds) |
14:31:33 | * | thomasross joined #nim |
14:37:17 | * | pietroppeter quit (Quit: Connection closed for inactivity) |
14:42:17 | * | noonien joined #nim |
14:42:24 | * | rockcavera joined #nim |
14:45:03 | disruptek | why is everyone interested in jason? |
14:45:36 | disruptek | like 12 people starred it in the last day though it's just a tiny demo from months ago. |
14:45:44 | disruptek | !requires jason |
14:45:45 | disbot | jason: 11beef331[oodwm,3nico-helper,3unity-auto-builder,3nim_pty,3constructor,3nim_rofi], 11jasonk000[3nimbpf,3nimpmda,3nim-libbpf], 11jasonrbriggs[3baker,3topfew,3proton-nim], 11runvnc[3noscriptweb,3bcryptnim], 11bio-nim/3nim-DALIGNER, 11jasonprogrammer/3gerbil, 11jerdmann/3thesoulforge, 11elbow-jason/3nim-how-i-start, 11TokenChingy/3chimpsky 719 total |
14:45:54 | disruptek | wut |
14:46:03 | disruptek | !repo goodwm |
14:46:04 | disbot | https://github.com/beef331/goodwm -- 9goodwm: 11 15 2⭐ 0🍴 |
14:46:17 | disruptek | oh, Jason. |
14:46:23 | disruptek | jeesh |
14:46:49 | disruptek | !requires disruptek/jason |
14:46:50 | disbot | disruptek/jason: no results 😢 |
14:46:56 | disruptek | !requires disruptek/cutelog |
14:46:57 | disbot | disruptek/cutelog: 11disruptek[s,3pulseauto,3gully,3datamuse,3nimph,3bump,3testes] 77 total |
14:47:04 | disruptek | hmm. wtf people. |
14:47:30 | disruptek | omg jason has cutlery. |
14:47:33 | disruptek | !repo jason |
14:47:33 | disbot | https://github.com/disruptek/jason -- 9jason: 11JSON done right 15 12⭐ 1🍴 |
14:48:08 | disruptek | you are really making me rethink life choices. |
14:48:10 | FromDiscord | <Rika> who cutleried jason? |
14:48:40 | disruptek | @doytsujin |
14:48:51 | disruptek | a forth coder, apparently. |
14:49:58 | disruptek | jason has more stars than frosty, which was the original impetus. |
14:50:09 | disruptek | it doesn't even decode json. |
14:50:10 | FromDiscord | <Rika> `anything that isn't fatal gets a cute emoji` nice |
14:50:23 | disruptek | what is that? |
14:50:32 | FromDiscord | <Rika> from your cutelog docs |
14:50:36 | disruptek | oh. |
14:51:43 | * | natrys joined #nim |
14:52:14 | disruptek | so dumb. |
14:52:31 | disruptek | i guess i will support it, though. |
14:52:32 | FromDiscord | <whisperdev> How the heck do you import a package in the same directory??? |
14:52:35 | FromDiscord | <whisperdev> And why is it so hard to do??? |
14:52:40 | disruptek | `import somefile` |
14:53:03 | FromDiscord | <Rebel> Does nim support inline masm assembly? |
14:53:11 | disruptek | whisperdev: blame dom96; that's usually my first approach. |
14:53:27 | disruptek | rebel: if you can do it in c, you can do it in nim. |
14:54:33 | FromDiscord | <whisperdev> https://pastebin.ubuntu.com/p/SK38bTKCpH/ |
14:54:38 | FromDiscord | <whisperdev> Does this make sense? Do I want so much? |
14:55:00 | disruptek | import module_A |
14:55:10 | FromDiscord | <whisperdev> it does not work |
14:55:18 | disruptek | show me. |
14:55:46 | FromDiscord | <whisperdev> That's what I have. |
14:56:17 | FromDiscord | <Rika> what is the error |
14:56:23 | disruptek | show us the output. |
14:56:23 | disruptek | from the compiler, preferably. |
14:56:25 | FromDiscord | <Rika> is it about the package import or something totally unrelated |
14:56:42 | FromDiscord | <whisperdev> https://pastebin.ubuntu.com/p/X3Nnjgndxh/ |
14:57:43 | FromDiscord | <Rika> asyncssh is not a nim file |
14:58:30 | FromDiscord | <whisperdev> so it has to be a path to a nim file? |
14:58:32 | FromDiscord | <Rebel> don't you need to install it since it's a package? |
14:58:32 | FromDiscord | <whisperdev> jesus christ |
14:58:42 | FromDiscord | <whisperdev> treeform did not publish it |
14:59:01 | FromDiscord | <whisperdev> this kinda worked ... import "./asyncssh/src/asyncssh" |
14:59:04 | disruptek | if you have a strong opinion about this, please weigh in. |
14:59:19 | disruptek | we love talking about package structure here. |
14:59:40 | disruptek | LOVE IT |
14:59:55 | FromDiscord | <whisperdev> an unpublished nimble package should be treated as nimble package if it looks like one |
15:00:29 | FromDiscord | <whisperdev> ok now i need a shared library of libssh2 |
15:01:23 | FromDiscord | <Rika> you can copy everything in `./asyncssh/src/` and put it in `./` and itll work as a normal import |
15:01:35 | FromDiscord | <Rika> aka `import asyncssh` will work then |
15:01:55 | disruptek | or just add a --path statement to your nim.cfg. |
15:02:10 | disruptek | like a normal person. |
15:05:14 | FromDiscord | <Clyybber> default params were really broken |
15:05:22 | disruptek | no kidding. |
15:06:00 | FromDiscord | <Clyybber> to be fair, only those who reference other params |
15:06:16 | disruptek | guess what i'm careful never to do. |
15:06:18 | disruptek | just guess. |
15:06:38 | FromDiscord | <Clyybber> heh |
15:06:48 | FromDiscord | <Clyybber> also they were unprocessable by typed macros |
15:07:01 | FromDiscord | <Clyybber> since there sym was in there, but the declaration was only introduced in transf |
15:07:14 | FromDiscord | <Clyybber> .s/there/their |
15:07:29 | FromDiscord | <Clyybber> I did it. I wrote like a monke |
15:07:48 | disruptek | eh.. esl, you are forgiven, my child. |
15:08:31 | FromDiscord | <Clyybber> thank disruptek |
15:09:00 | FromDiscord | <Clyybber> I feel like this CI batching doesn't really help anymore |
15:10:03 | disruptek | batching? |
15:10:06 | FromDiscord | <Clyybber> (on sr.ht OpenBSD I mean |
15:10:28 | FromDiscord | <Clyybber> disruptek: Look at the Nim CI, we have openbsd and windows(pkg) split up into 3 batches |
15:10:39 | FromDiscord | <Clyybber> so that they can potentially run parallel |
15:10:46 | FromDiscord | <Clyybber> which is pretty cool |
15:10:48 | disruptek | we should just have tiers. |
15:15:17 | * | vqrs quit (Ping timeout: 272 seconds) |
15:16:43 | * | vqrs joined #nim |
15:16:53 | FromDiscord | <Clyybber> hey its green |
15:17:03 | disruptek | ship it. |
15:17:17 | disruptek | dude, what's up with the fix we need in cps? |
15:17:19 | FromDiscord | <Clyybber> its right there https://github.com/nim-lang/Nim/pull/15270 |
15:17:19 | disbot | ➥ Expand hoisted default params in sem |
15:17:36 | FromDiscord | <Clyybber> disruptek: What fix? I can't rember |
15:17:41 | FromDiscord | <Clyybber> emem |
15:17:43 | FromDiscord | <Clyybber> inem |
15:17:48 | disruptek | semytiped |
15:18:01 | FromDiscord | <Clyybber> ah, that should go hand in hand with that one |
15:18:09 | FromDiscord | <Clyybber> I want to get this one merged first though |
15:18:22 | FromDiscord | <Clyybber> and I gotta figure out why I'm getting aliased nodes |
15:18:26 | FromDiscord | <Clyybber> because those suck |
15:19:34 | disruptek | i want a commit to dump filenames from a repo, ignoring submodules. |
15:19:39 | disruptek | s/commit/command/ |
15:20:02 | disruptek | i can do the ignore in git but hmm. |
15:20:10 | FromDiscord | <Clyybber> yeah |
15:20:18 | disruptek | maybe what i really want is the diffs themselves. |
15:20:20 | FromDiscord | <Clyybber> I wanted ripgrep to ignore submodules |
15:20:36 | FromDiscord | <Clyybber> and theres an issue about it, but its closed without being fixed /shrug |
15:20:43 | disruptek | i would put this feature into nimph if i could figure out what it means in a general sense. |
15:20:45 | FromDiscord | <Clyybber> so I have to git grep |
15:21:25 | FromDiscord | <Clyybber> did you know submodules can follow a branch? |
15:21:30 | disruptek | of course. |
15:21:32 | FromDiscord | <Clyybber> instead of constantly being pinned and detached |
15:21:58 | disruptek | well, they are pinned to the ref afaik. |
15:22:27 | disruptek | i don't do this but i expect nimph to do it for me. |
15:22:30 | FromDiscord | <Clyybber> not sure if they are pinned when they follow a branch |
15:22:35 | FromDiscord | <Clyybber> I wanted to test that |
15:22:53 | FromDiscord | <Clyybber> because its kinda annoying going into a submodule, changing something and then being detached |
15:23:08 | disruptek | huh? |
15:23:23 | disruptek | if you set your origin it works as expected, doesn't it? |
15:23:45 | disruptek | this is why nimph needs a tui. |
15:23:51 | FromDiscord | <Clyybber> well, its "expected" |
15:23:52 | FromDiscord | <Clyybber> but annoying |
15:23:59 | disruptek | which part? |
15:24:05 | disruptek | i'm not sure we have the same workflow. |
15:24:07 | FromDiscord | <Clyybber> so submodule add -b master is less annoying |
15:24:29 | FromDiscord | <Clyybber> disruptek: The part where you go into the submodule try some things, but then can't commit them because you are detached |
15:24:34 | FromDiscord | <Clyybber> so you gotta switch back to master |
15:24:47 | FromDiscord | <Clyybber> I mean it makes sense, but if you are the owner of your submodule itself |
15:25:01 | FromDiscord | <Clyybber> you can just follow the master branch |
15:25:11 | disruptek | well, that's why i'm saying if you set the remote it works as expected. |
15:25:22 | disruptek | but i don't necessarily want to follow master. |
15:25:26 | FromDiscord | <Clyybber> yeah |
15:25:49 | disruptek | i mean, ideally, i never do. a patch against an earlier version should follow the same development process. |
15:25:55 | disruptek | we're just lazy. |
15:26:31 | disruptek | but you're right; i should pin more of my submodules to refs manually until i finish nimph-2. |
15:27:02 | FromDiscord | <Clyybber> oh, that wasn't my suggestion |
15:27:07 | FromDiscord | <Clyybber> I mean, do as you like |
15:27:14 | disruptek | i know, but you raise a good point. |
15:28:04 | FromDiscord | <Clyybber> but for example for two repos that are developed hand in hand, you don't care about pinning, you only seperated them for order or something |
15:28:11 | FromDiscord | <Clyybber> then its better to follow a branch |
15:28:13 | FromDiscord | <Clyybber> IMO |
15:30:28 | disruptek | hmm, you can't just use any ref from the cli tool. |
15:30:37 | disruptek | curious. |
15:31:30 | disruptek | i wonder if we should use branches instead of semver. |
15:31:55 | disruptek | it's basically what we want. |
15:34:56 | disruptek | from the command-line, the syntax is -b tag/sometag |
15:37:42 | FromDiscord | <whisperdev> @treeform I am trying to run your example but it does not seem to work :X |
15:37:54 | FromDiscord | <whisperdev> @treeform For your asyncssh |
15:48:10 | * | Trustable joined #nim |
16:07:42 | * | gmaggior joined #nim |
16:10:28 | FromDiscord | <treeform> are you on Linux or Windows? |
16:10:58 | FromDiscord | <treeform> what error do you get? |
16:11:02 | FromDiscord | <treeform> get you ssh nomrally? |
16:11:21 | FromDiscord | <treeform> can* |
16:15:28 | disruptek | shashlick: Error: Cannot develop packages that are binaries only. |
16:15:40 | disruptek | what do i do to work around this for CI purposes? |
16:16:01 | disruptek | https://github.com/disruptek/bump/runs/1075820694 |
16:25:36 | * | pietroppeter joined #nim |
16:25:52 | alehander92 | okk |
16:26:07 | alehander92 | trying cool cli tools today |
16:26:35 | shashlick | disruptek just nimble install -d |
16:27:15 | shashlick | -y -d will install dependencies only |
16:27:24 | shashlick | That's what I usually do |
16:28:31 | disruptek | i guess build works. but now i really gotta figure out how to test git repos. |
16:28:50 | shashlick | Ya you don't have any deps |
16:29:00 | disruptek | what? |
16:31:05 | * | arecacea1 quit (Remote host closed the connection) |
16:31:23 | * | arecacea1 joined #nim |
16:33:49 | shashlick | Bump doesn't depend on anything right |
16:33:58 | shashlick | So there's no need to install deps |
16:34:06 | disruptek | it uses cligen and cutelog at least. |
16:34:17 | shashlick | I see |
16:34:31 | disruptek | i think it's find just with `build`. i didn't know if i was doing it wrong. |
16:34:46 | shashlick | I don't know why nimble develop isn't allowed for binary packages |
16:35:04 | shashlick | Will have to resolve that as well |
16:35:17 | disruptek | i think bump is weird because it's hybrid, or something. |
16:35:27 | shashlick | Package structure stuff should improve that as well |
16:35:30 | disruptek | i forget what the problem is, but i do use it as a library. |
16:35:35 | shashlick | Ya same with nimterop |
16:35:40 | disruptek | right. |
16:36:00 | disruptek | well, with a new package library i won't use bump. |
16:36:31 | shashlick | You could move some of the bump functionality also to the new lib |
16:37:35 | disruptek | yeah, i'm debating whether i want to maintain bump or just let it get replaced by something else. |
16:38:00 | disruptek | probably will just leave it alone. |
16:38:56 | shashlick | I'll pull it into nimble at some point |
16:39:12 | disruptek | does `build` install binaries? |
16:39:17 | disruptek | that's a stupid question. |
16:39:19 | shashlick | I use it all the time |
16:39:24 | disruptek | what i mean is, binaries of dependencies. |
16:39:26 | shashlick | No just builds |
16:39:45 | disruptek | does nimterop work if i `build` a lib that depends on it? |
16:39:54 | shashlick | Yes, that should happen in process deps |
16:40:00 | disruptek | okay, that's good. |
16:40:31 | disruptek | so what is `develop` for? just setting the .nimble-link and that's it? |
16:40:38 | shashlick | Yep |
16:40:41 | disruptek | gah. |
16:41:36 | disruptek | what does nimble do if package B produces a binary with the same name as previously-installed package A? |
16:43:31 | disruptek | this is from github actions ci on windows: could not load: pcre64.dll |
16:43:48 | disruptek | happens with all versions of nim. |
16:45:25 | disruptek | leorize[m]: ^ you know anything about this? expected? |
16:45:27 | shashlick | Nimble will prompt you and overwrite |
16:45:44 | disruptek | so --yes should allow it, right? |
16:45:45 | shashlick | You don't get the dlls.zip? |
16:45:49 | shashlick | Yep |
16:45:52 | disruptek | cool. |
16:46:03 | shashlick | The Travis script covers it |
16:46:21 | shashlick | Might want to check out elijahr work on it |
16:46:26 | disruptek | oh, i have to download them separately? |
16:46:57 | disruptek | how do we successfully test nre, i wonder. |
16:47:12 | shashlick | https://github.com/elijahr/nim-ci/tree/github-workflows |
16:47:22 | FromDiscord | <Clyybber> disruptek: Oh, heh about semytiped |
16:47:24 | shashlick | The CI should be doing that mostly |
16:47:26 | FromDiscord | <Clyybber> guess what pkg fails |
16:47:34 | FromDiscord | <Clyybber> bumpity bump bump |
16:48:01 | FromDiscord | <Clyybber> but its not your fault. Cligen matches idents and the PR changes them to syms so its confused |
16:48:13 | leorize[m] | "disruptek" (https://matrix.to/#/@freenode_disruptek:matrix.org): yea I didn't install the dll pack |
16:49:17 | disruptek | shashlick: yeah, elijahr looks further along here. |
16:49:43 | FromDiscord | <Clyybber> the only weird thing is that I can't repro it |
16:49:49 | FromDiscord | <Clyybber> disruptek: Can you try? |
16:49:52 | disruptek | yeah. |
16:49:56 | FromDiscord | <Clyybber> thanks <3 |
16:51:54 | * | tane joined #nim |
16:53:39 | disruptek | clyybber: can't seem to repro. |
16:53:48 | disruptek | what are the args that cause it in ci? |
16:54:16 | disruptek | Nim Compiler Version 1.3.5 [Linux: amd64] |
16:54:16 | disruptek | Compiled at 2020-09-05 |
16:54:16 | disruptek | Copyright (c) 2006-2020 by Andreas Rumpf |
16:54:17 | disruptek | |
16:54:18 | disruptek | git hash: e8319b6bea2fb31c412250195d3ee123e27e7ec0 |
16:54:19 | disruptek | active boot switches: -d:release |
16:54:33 | FromDiscord | <Clyybber> nim c --gc:arc -r tests/tbump |
16:54:47 | disruptek | works for me. |
16:54:52 | FromDiscord | <Clyybber> same |
16:55:09 | disruptek | got a link to the ci output? |
16:55:15 | disruptek | it's probably git-related. |
16:56:12 | FromDiscord | <Clyybber> https://dev.azure.com/nim-lang/Nim/_build/results?buildId=7573&view=logs&jobId=c6054849-8341-5e23-b888-79fd7ec95d3a |
16:58:55 | disruptek | i have no idea how to find the failure output. |
16:59:29 | * | superbia1 joined #nim |
17:01:06 | disruptek | i only see jsffi output. |
17:02:01 | FromDiscord | <Clyybber> oh eh |
17:02:04 | FromDiscord | <Clyybber> huh |
17:02:11 | FromDiscord | <Clyybber> thats.. I can't find it either |
17:02:17 | FromDiscord | <Clyybber> seems like its gone /shrug |
17:02:33 | * | superbia quit (Ping timeout: 260 seconds) |
17:02:52 | disruptek | if it tests against bump head then, well, i was breaking it earlier. |
17:02:58 | disruptek | also, that's dumb. |
17:05:30 | * | Zectbumo joined #nim |
17:09:51 | FromDiscord | <whisperdev> @treeform i get no output https://pastebin.ubuntu.com/p/wsrFZSTqCJ/ |
17:09:54 | * | the-oaks joined #nim |
17:10:40 | * | the-oaks left #nim (#nim) |
17:13:59 | FromDiscord | <Clyybber> @lqdev You had some problems with default args before right? |
17:14:06 | FromDiscord | <lqdev> yeah |
17:14:19 | FromDiscord | <lqdev> couldn't reference an arg from a default arg |
17:14:22 | FromDiscord | <Clyybber> If you want to you can try https://github.com/nim-lang/Nim/pull/15270 |
17:14:23 | disbot | ➥ Expand hoisted default params in sem |
17:14:28 | FromDiscord | <Clyybber> It should fix those issues |
17:14:46 | FromDiscord | <lqdev> i'll try when i have some time |
17:21:55 | Oddmonger | is it possible to have a forward declaration in a module, for a procedure defined elsewhere ? |
17:23:21 | Oddmonger | it says implementation is expected (in the same module) |
17:26:35 | * | root joined #nim |
17:26:57 | * | root is now known as Guest70661 |
17:28:20 | Guest70661 | this |
17:28:52 | * | the-oaks joined #nim |
17:29:11 | Guest70661 | that |
17:31:31 | disruptek | Oddmonger: why would you need that? |
17:32:32 | leorize[m] | disruptek, @Clyybber: tip: just go to the "Tests" tab: https://dev.azure.com/nim-lang/Nim/_build/results?buildId=7573&view=ms.vss-test-web.build-test-results-tab&runId=123132&resultId=100424&paneView=debug |
17:33:04 | FromDiscord | <Clyybber> Oooh, nice thanks! |
17:33:26 | * | hnOsmium0001 joined #nim |
17:33:27 | FromDiscord | <Clyybber> @Yardanico Is the bridge open source? |
17:33:47 | FromDiscord | <Yardanico> It's not the first time you're asking that. :P |
17:33:52 | FromDiscord | <Yardanico> ~bridge |
17:33:52 | disbot | no footnotes for `bridge`. 🙁 |
17:33:56 | FromDiscord | <Yardanico> ~ircord |
17:33:56 | disbot | ircord: 11https://github.com/Yardanico/ircord/ -- Yardanico |
17:34:06 | FromDiscord | <Clyybber> oh, right heh :D |
17:34:24 | disruptek | Yardanico: are you planning on supporting it? |
17:35:12 | * | zyklon quit (Remote host closed the connection) |
17:35:30 | disruptek | shashlick: i can't make elijahr's stuff work, though i'd like to. i'm not a fan of curling random shit outta his repo inside my ci, either. |
17:35:33 | * | zyklon joined #nim |
17:35:40 | disruptek | i hope it develops further. |
17:36:30 | FromDiscord | <Clyybber> ah, I was about to make a PR to ping discord people without @ but I see why its not that way |
17:36:31 | * | Guest70661 quit (Quit: leaving) |
17:36:39 | disruptek | why? |
17:36:41 | FromDiscord | <Clyybber> maybe allow it at the start of the message? |
17:36:46 | FromDiscord | <Yardanico> @disrupter of course, I just have to do some stuff first |
17:36:48 | FromDiscord | <Clyybber> disruptek: Because then parsing is tricky |
17:36:56 | FromDiscord | <Clyybber> disruptek: Because you can't simply scan for @ |
17:37:00 | FromDiscord | <Yardanico> @Clyybber that would make sense, yes |
17:38:44 | FromDiscord | <Yardanico> @disruptek when you mention someone in discord, you actually mention them by the ID, not just text |
17:38:55 | FromDiscord | <Clyybber> findMentions returns the nick with the @ still attached right? |
17:38:57 | FromDiscord | <Yardanico> Official client automatically converts the name to the ID |
17:39:26 | FromDiscord | <Yardanico> @Clyybber no |
17:39:29 | Oddmonger | disruptek: i have a function in a module which is execute(init, run, quit) |
17:39:38 | FromDiscord | <Yardanico> mention <- >("@" * nick) |
17:39:39 | Oddmonger | run & quit are always the same, so no problem |
17:39:48 | FromDiscord | <Yardanico> @ is discarded |
17:39:51 | Oddmonger | but init() always change |
17:39:55 | FromDiscord | <Yardanico> Ah wait |
17:39:57 | FromDiscord | <Clyybber> @Yardanico huh, why do you do 1..^1 there https://github.com/Yardanico/ircord/blob/master/src/ircord.nim#L209 then? |
17:40:07 | Oddmonger | so i wanted forward declaration of init() |
17:40:32 | Oddmonger | but nevermind, i put my execute(…) function in the same mode module than init() and voilà |
17:40:43 | FromDiscord | <Yardanico> @Clyybber yeah you're right, maybe I have an error in mentParser though |
17:40:56 | FromDiscord | <Yardanico> It captures both in nick and mention |
17:41:52 | * | noonien quit (Quit: Connection closed for inactivity) |
17:42:45 | * | the-oaks is now known as oaks7 |
17:42:59 | * | the-oaks joined #nim |
17:45:20 | * | the-oaks left #nim (#nim) |
17:45:42 | * | the-oaks joined #nim |
17:48:34 | * | the-oaks quit (Quit: WeeChat 2.3) |
17:53:59 | * | krux02 quit (Read error: Connection reset by peer) |
17:54:29 | * | krux02 joined #nim |
17:58:19 | FromDiscord | <Clyybber> Zevv: Whats the best way to match the start of a string? |
17:58:26 | FromDiscord | <Clyybber> with npeg |
17:58:53 | FromDiscord | <Clyybber> @Yardanico or maybe we should do it manually? its probably going to be faster than using npeg for it? WDYT |
17:59:19 | FromDiscord | <Yardanico> I don't think there would be any bad performance implications from using npeg |
17:59:28 | FromDiscord | <Yardanico> It's really simple to match the start of the string |
17:59:35 | FromDiscord | <Yardanico> It's what npeg does by default |
17:59:42 | FromDiscord | <Clyybber> ah, anchored I see |
18:01:11 | FromDiscord | <Yardanico> @ is to search in the whole string |
18:01:24 | FromDiscord | <Clyybber> yeah, just noticed that now |
18:01:47 | FromDiscord | <Clyybber> I guess we also want to support name1, name2: msg |
18:01:52 | FromDiscord | <Clyybber> or name1 name2: msg |
18:03:03 | FromDiscord | <Clyybber> not sure if we should support pings without the `:` or the `@` |
18:09:59 | disruptek | probably not. |
18:10:23 | * | audiofile joined #nim |
18:11:11 | * | audiofile quit (Read error: Connection reset by peer) |
18:14:37 | FromDiscord | <Clyybber> @Yardanico I opened a PR https://github.com/Yardanico/ircord/pull/2, but not sure how to test it |
18:14:38 | disbot | ➥ Allow "leading mentions" without '@' |
18:15:59 | * | FromDiscord quit (Remote host closed the connection) |
18:16:17 | * | FromDiscord joined #nim |
18:16:22 | * | oaks7 quit (Remote host closed the connection) |
18:20:55 | * | Vladar quit (Quit: Leaving) |
18:22:13 | Zevv | clyybber: still need help or got it? |
18:22:29 | Zevv | pegs always matches at the start, it's not like a regexp |
18:22:56 | Zevv | oh you got that |
18:22:57 | Zevv | good |
18:31:47 | * | narimiran joined #nim |
18:31:56 | Zevv | clyybber: in my irc graph I have pings with '@' or explict 'ping' in the line only |
18:32:08 | Zevv | ':' is a high "talk" score between sender and receiver |
18:32:32 | Zevv | and succesive messages between two people are a low talk score, but these add up as the conversation grows longer |
18:36:39 | FromDiscord | <Clyybber> Interesting |
18:37:09 | FromDiscord | <Clyybber> I guess an explicit ping is also a good idea to support |
18:39:17 | * | kungtotte quit (Read error: Connection reset by peer) |
18:41:18 | * | kungtotte joined #nim |
18:46:09 | * | the-oaks1 joined #nim |
18:46:14 | FromDiscord | <Clyybber> @Yardanico I guess the reason you yielded the @ too was so that replacing it is easier? |
18:46:38 | * | the-oaks1 quit (Client Quit) |
18:46:38 | FromDiscord | <Yardanico> Not sure, maybe :P |
18:46:46 | FromDiscord | <Yardanico> I'll look into it in a few days |
18:46:54 | * | the-oaks1 joined #nim |
18:47:09 | * | the-oaks1 is now known as the-oaks |
18:47:09 | FromDiscord | <Clyybber> I made a PR, if you want to test it, we do have a test channel right? |
18:47:18 | the-oaks | exit |
18:47:22 | * | the-oaks quit (Client Quit) |
18:47:26 | disruptek | quit |
18:47:42 | FromDiscord | <Clyybber> launch |
18:48:13 | disruptek | man, my ic branch is pretty stale. |
18:49:07 | FromDiscord | <Yardanico> @Clyybber well I checked the PR - you added new rules, but you didn't enable them :P |
18:49:24 | FromDiscord | <Clyybber> oh? |
18:49:25 | FromDiscord | <Yardanico> The main rule is "mentions" |
18:49:31 | FromDiscord | <Clyybber> ah damn |
18:49:51 | FromDiscord | <Yardanico> So I guess you could first check your new rule to see if there are mentions at the start |
18:49:57 | FromDiscord | <Clyybber> yeah |
18:50:04 | * | the-oaks1 joined #nim |
18:50:05 | FromDiscord | <Yardanico> And otherwise search the whole string the old way for @ |
18:50:19 | * | the-oaks1 quit (Client Quit) |
18:50:39 | * | the-oaks1 joined #nim |
18:51:15 | FromDiscord | <Clyybber> Zevv: WDYT about allowing the `>` operator on the LHS of a rule? |
18:51:22 | * | the-oaks1 left #nim (#nim) |
18:51:49 | * | the-oaks1 joined #nim |
18:51:52 | shashlick | disruptek: you just need the yml file for the CI of interest |
18:52:13 | shashlick | just like the original travis script which gave you a sample yml |
18:52:21 | FromDiscord | <Yardanico> @Clyybber what would that mean? |
18:52:26 | disruptek | i know, dude. |
18:52:31 | disruptek | it doesn't work well. |
18:52:34 | FromDiscord | <Yardanico> It's the same as capturing the whole thing right now, but it won't really work for us |
18:52:41 | FromDiscord | <Yardanico> Since we might have multiple captures |
18:52:48 | FromDiscord | <Yardanico> From one string |
18:53:06 | FromDiscord | <Clyybber> I mean >nick <- ... would work the same way |
18:53:17 | FromDiscord | <Clyybber> as if you were to replace nick in the whole grammar by >nick |
18:53:25 | * | the-oaks1 is now known as the-oaks |
18:53:29 | FromDiscord | <Clyybber> its the same as saying |
18:53:37 | FromDiscord | <Clyybber> nick <- > (...) |
18:53:44 | Zevv | Clyybber: why would you put > on the LHS? |
18:53:52 | FromDiscord | <Clyybber> it looks cool |
18:54:08 | FromDiscord | <Clyybber> and its easy to spot |
18:54:12 | Zevv | The whole rule is always captured in $0 |
18:54:23 | Zevv | so what does add? |
18:54:38 | Zevv | /what does it add / |
18:54:57 | * | the-oaks quit (Client Quit) |
18:55:08 | disruptek | clyybber: can you fix it so it doesn't suck while you're in there? |
18:55:23 | * | pietroppeter quit (Quit: Connection closed for inactivity) |
18:55:32 | FromDiscord | <Clyybber> It adds nothing, but its the only operator for which you can do that while still staying a peg :D |
18:55:50 | FromDiscord | <Clyybber> it just looks neat IMO |
18:56:10 | FromDiscord | <Clyybber> can add clarity |
18:56:27 | FromDiscord | <Clyybber> disruptek: What? |
18:56:54 | disruptek | so pastes aren't fucked up in the playground. |
18:56:59 | FromDiscord | <Clyybber> aaah |
18:58:18 | FromDiscord | <Clyybber> Zevv: 'ping nick' only or also 'nick ping'? |
18:58:19 | FromDiscord | <Yardanico> well I thought about doing that, yes |
18:58:26 | FromDiscord | <Yardanico> I mean pastes |
18:58:35 | FromDiscord | <Clyybber> Maybe only do it for codeblocks? |
18:58:40 | FromDiscord | <Yardanico> Adding # to text before and after ``` |
18:58:44 | FromDiscord | <Yardanico> And removing the ``` |
18:58:45 | * | dddddd quit (Ping timeout: 240 seconds) |
18:59:00 | FromDiscord | <Clyybber> oh, that works too I guess |
18:59:03 | disruptek | when you put it like that it sounds pretty fucking trivial. |
18:59:14 | disruptek | and yet, here we are, in 2020, with broken pastes. |
18:59:26 | FromDiscord | <Clyybber> my paste is well |
19:00:19 | FromDiscord | <Yardanico> @disruptek it's much better than it was before anyway :) |
19:01:11 | FromDiscord | <Yardanico> And I still do other stuff too, sometimes you just don't feel like working on anything, y'know |
19:01:42 | disruptek | what? |
19:02:18 | FromDiscord | <Yardanico> I'm talking about the dark times of matterbridge |
19:03:49 | disruptek | what? |
19:04:05 | disruptek | i don't understand what this has to do with broken pastes. |
19:04:28 | FromDiscord | <Clyybber> they arent "broken" |
19:04:32 | FromDiscord | <Yardanico> They're not "broken", they are just not the best :) |
19:04:35 | FromDiscord | <Clyybber> they are less broken than before at least |
19:04:41 | disruptek | how so? |
19:04:54 | FromDiscord | <Clyybber> someone punch disruptek |
19:06:29 | FromDiscord | <Yardanico> @disruptek I guess you like it when 15-line messages are pasted into IRC with each line as a separate message more :) |
19:06:49 | disruptek | yeah, i would. |
19:07:00 | disruptek | then i wouldn't have to use a web-browser and scroll sideways. |
19:07:21 | FromDiscord | <Clyybber> oh, thats your issue. linebreaks |
19:07:34 | FromDiscord | <Clyybber> no wait |
19:07:40 | FromDiscord | <Clyybber> well anyways disruptek make a PR |
19:07:56 | disruptek | i'm not PR'ing your platform to fix your platform. |
19:07:57 | FromDiscord | <Yardanico> Scroll sideways? |
19:08:04 | FromDiscord | <Yardanico> That's not really my problem at all |
19:08:08 | FromDiscord | <Clyybber> whose platform |
19:08:08 | FromDiscord | <Yardanico> You'll always have to do that |
19:08:12 | FromDiscord | <Yardanico> No matter how you paste |
19:08:19 | disruptek | bzzt. /ignore FromDiscord |
19:08:30 | disruptek | problem solved. 😁 |
19:09:21 | FromDiscord | <Clyybber> for real though, what do you mean with scrolling sideways |
19:09:24 | FromDiscord | <Clyybber> why ? |
19:09:51 | FromDiscord | <Yardanico> @Clyybber I guess he opens browser not full screen, but with other apps |
19:09:54 | FromDiscord | <Yardanico> Tiling WM |
19:10:04 | FromDiscord | <Clyybber> thats a "disruptek platform" problem then |
19:10:08 | FromDiscord | <Yardanico> So there might be not enough space for full line |
19:10:09 | FromDiscord | <Yardanico> Yeah |
19:10:12 | FromDiscord | <Clyybber> #notourjob |
19:11:18 | FromDiscord | <Yardanico> I wouldn't think it would make sense to read code with wrapping anyway |
19:11:22 | FromDiscord | <Yardanico> don't* |
19:13:14 | FromDiscord | <Yardanico> Seems like Disruptek doesn't see us anymore :) |
19:13:42 | * | clyybber joined #nim |
19:13:50 | clyybber | disruptek: fuck you :p |
19:14:04 | disruptek | wb to a rational client. |
19:14:46 | clyybber | rational sure, but what do I care if I have discord open anyways for VC with friends and stuff |
19:14:59 | clyybber | then its only rational to cut down the amount of open clients |
19:15:10 | disruptek | sure. |
19:15:17 | disruptek | well, we can always chat on github. |
19:15:57 | clyybber | I don't chat on github /shrug |
19:16:47 | disruptek | do you think the old ic approach is worth reproducing? |
19:17:05 | clyybber | what differentiates the old one from the new one again? |
19:17:09 | clyybber | except that it doesn't work |
19:17:16 | disruptek | the new one doesn't exist. |
19:17:54 | clyybber | sure, if you don't have a better design lets go with the "old" one |
19:18:11 | disruptek | the old one is 1) prevent sym.loc.r rewrite, 2) record and playback backend transforms |
19:18:19 | clyybber | I gotta say, I like the blue colored bot avatar ircord gave me |
19:19:02 | disruptek | the diff between my ic branch and devel is >40,000 lines. |
19:19:06 | clyybber | disruptek: Doesn't seem too insane to me, do you have another idea? |
19:19:22 | disruptek | also 3) we prevent ast mutation via sons.add |
19:19:23 | clyybber | disruptek: lol, thats 2/3 of the whole codebase |
19:19:27 | disruptek | i know. |
19:19:40 | clyybber | well start overloading `bla=` |
19:19:47 | FromDiscord | <haxscramper> `choosenim` fails to find C compiler even though clang is installed in `/usr/bin/clang` & available via `which`/`whereis` |
19:20:10 | clyybber | disruptek: I think a lot of your diff is due to you wanting to be "explicit" abotu stuff |
19:20:23 | disruptek | like what? |
19:20:48 | clyybber | like your setters |
19:20:52 | disruptek | i will say that i really hate the dirty template araq made me use. |
19:20:54 | clyybber | or maybe you got rid of them, then I'm sorry |
19:20:59 | disruptek | clyybber: we can try r= again this time. |
19:21:04 | FromDiscord | <haxscramper> I installed it via setup script but also tried using compiled one from github releases |
19:21:05 | disruptek | maybe i grew smarter. |
19:21:08 | clyybber | yeah, please |
19:21:35 | clyybber | disruptek:choosenim talk on discord |
19:21:46 | disruptek | i do think that `clearRope` versus = nil is smarter. |
19:21:51 | FromDiscord | <Clyybber> why does choosenim need a C compiler? |
19:22:00 | disruptek | it lets us change the semantics more easily. |
19:22:22 | disruptek | i don't use choosenim. |
19:22:33 | clyybber | disruptek: I know, but you can advertise your own stuff |
19:22:40 | disruptek | ~gitnim |
19:22:40 | disbot | gitnim: 11https://gitnim.com/ -- choosenim for choosey nimions -- disruptek |
19:22:41 | clyybber | also you wouldn't want to block haxscramper |
19:22:42 | disruptek | there. |
19:22:55 | disruptek | everyone has to grow up sometime. |
19:23:14 | disruptek | lol we have hash() for tlineinfo now. |
19:23:20 | * | haxscramper joined #nim |
19:23:20 | disruptek | what's next, $? |
19:23:54 | clyybber | why do we have a has for tlineinfo |
19:24:02 | disruptek | no idea. |
19:24:10 | clyybber | where is it? |
19:24:19 | disruptek | lineinfos i imagine. |
19:24:26 | disruptek | i'm only 28% of the way through the diff. |
19:24:34 | disruptek | just reading all the changes to the compiler. |
19:25:07 | haxscramper | If I install gcc choosenim works, but when I only have clang it fails with 'no c compiler found' |
19:25:33 | clyybber | seems kinda useless to hash something thats 64bits to something thats 64 bits lol |
19:25:49 | disruptek | i'm sure it's for tables or something. |
19:26:45 | FromDiscord | <Yardanico> @haxscramper nim by default assumes that you have GCC on Linux I think |
19:27:03 | disruptek | haxscramper: that sounds like a defect in clang. submit a bug report to the llvm folks. |
19:27:15 | FromDiscord | <Yardanico> No |
19:27:22 | FromDiscord | <Yardanico> That's a problem with Nim :) |
19:27:55 | FromDiscord | <Yardanico> As I said, Nim assumes the C compiler to be GCC on Linux by default |
19:28:05 | FromDiscord | <Yardanico> choosenim doesn't change that |
19:28:33 | * | superbia1 is now known as superbia |
19:28:49 | FromDiscord | <Yardanico> And yes, that's not very good, even though .cfg seems to support environment variables |
19:28:49 | disruptek | clyybber: yeah, it's for the vm profile data table. |
19:29:04 | FromDiscord | <Yardanico> At right Disruptek doesn't see me anymore |
19:29:31 | clyybber | disruptek: unblock discord already, this is stupid |
19:29:34 | * | clyybber quit (Quit: WeeChat 2.9) |
19:30:23 | disruptek | clyybber really hates irc. that's wild. |
19:31:17 | * | clyybber joined #nim |
19:31:38 | clyybber | I actually prefer IRC, its simple and it works. But I I'm using discord anyways. so I cut down on open clients |
19:31:39 | * | clyybber quit (Client Quit) |
19:31:50 | disruptek | makes sense. |
19:31:59 | disruptek | put adults on one screen and children on the other. |
19:33:24 | * | clyybber joined #nim |
19:33:36 | clyybber | disruptek: guess what screen I put you on :p |
19:33:59 | * | arecacea1 quit (Remote host closed the connection) |
19:34:23 | * | arecacea1 joined #nim |
19:36:08 | disruptek | i dunno, but it's kinda amazing how much trouble you are willing to go to to avoid impl a string substitution that benefits almost 200 people. |
19:36:17 | FromDiscord | <Yardanico> ? |
19:37:13 | disruptek | what does TParser->Parser mean? |
19:37:17 | clyybber | are you crazy? |
19:37:36 | disruptek | some would say, "yes." |
19:37:59 | clyybber | I don't know what string substitution you even want |
19:38:02 | disruptek | i mean, did you rename this stuff? just because it reads better? |
19:38:07 | clyybber | yes I did |
19:50:20 | FromDiscord | <whisperdev> @treeform any idea? |
19:52:25 | FromDiscord | <whisperdev> Also I get illegal storage access when I run your test. with -d:release -d:danger --gc:orc |
19:55:42 | * | NimBot joined #nim |
19:59:16 | FromDiscord | <Yardanico> on devel? |
20:01:20 | FromDiscord | <Yardanico> or on 1.2.6? |
20:07:07 | * | narimiran quit (Ping timeout: 258 seconds) |
20:07:17 | * | lritter quit (Ping timeout: 265 seconds) |
20:12:51 | * | lritter joined #nim |
20:14:15 | * | go|dfish quit (Quit: WeeChat 1.4) |
20:15:33 | * | dddddd joined #nim |
20:16:41 | * | go|dfish joined #nim |
20:21:51 | shashlick | @haxscramper can you open a defect with more details |
20:23:20 | FromDiscord | <Avatarfighter> lmao did disruptek block discord |
20:24:37 | FromDiscord | <Clyybber> yeah |
20:24:58 | FromDiscord | <Elegant Beef> He tends to do that if someone/thing makes his balls throb |
20:25:09 | FromDiscord | <Avatarfighter> oh i am fully aware as to why he would block it lmao |
20:25:36 | FromDiscord | <Clyybber> nah, the reason he blocks it is to get me to "fix" something that he considers broken |
20:25:48 | FromDiscord | <Elegant Beef> That's literally what i said |
20:25:51 | FromDiscord | <Clyybber> mainly that when I type↵this long message↵the bridge↵will post it on playground |
20:26:20 | FromDiscord | <Clyybber> ah it needs to be 5lines + I think |
20:27:01 | FromDiscord | <Avatarfighter> that's so funny |
20:28:51 | FromDiscord | <Elegant Beef> I still just wish that there was a matrix client with channel based VOIP 😄 |
20:29:33 | FromDiscord | <haxscramper> About choosenim - the fact I'm doing it in docker container probably has absolutely nothing to do with the error itself? |
20:30:09 | FromDiscord | <haxscramper> Want to clarify this before submitting issue |
20:46:59 | FromDiscord | <Yardanico> @haxscramper as I said above, it's probably not a choosenim issue at all |
20:47:11 | FromDiscord | <Yardanico> Nim itself just expects the C compiler on Linux to be GCC and nothing else |
20:47:11 | * | Jesin quit (Quit: Leaving) |
20:47:30 | FromDiscord | <Yardanico> Unless you specify it explicitly in the config or via command line switches |
20:47:33 | FromDiscord | <Avatarfighter> @Clyybber are you able to get if a message contains a codeblock? |
20:49:02 | FromDiscord | <Clyybber> @Yardanico is the guy to ask, but I of course |
20:49:05 | FromDiscord | <Yardanico> Nim doesn't do stuff like "if GCC isn't available, use clang" |
20:49:12 | FromDiscord | <Clyybber> (edit) 'I' => '' |
20:49:26 | FromDiscord | <Clyybber> (edit) 'of course' => 'it should be possible' |
20:49:33 | FromDiscord | <19> ping: shashlick↵i have successfully binded a function from Kinc to Nim thanks to Nim in Action book. im going to give nimterop a shot |
20:49:47 | FromDiscord | <haxscramper> > Nim itself just expects the C compiler on Linux to be GCC and nothing else↵@Yardanico well, I already opened the issue ... will close it and PR error message fix then. |
20:50:19 | FromDiscord | <Yardanico> Well I guess Nim should be fixed to use CC variable to choose a compiler |
20:50:22 | FromDiscord | <Yardanico> On Linux at least |
20:50:34 | FromDiscord | <haxscramper> Since i't is not `C compiler not found`, but rather `GCC not found` |
20:51:09 | FromDiscord | <Yardanico> Ah wait I found what you mean |
20:51:11 | shashlick | 19: what's up |
20:51:27 | clyybber | disruptek: Does this sound fine to your native english eaars: https://github.com/nim-lang/Nim/pull/15264/files#diff-d48a4a282bdbb4254c40b51e199e0a2cR1529-R1530 ? |
20:51:27 | disbot | ➥ Add strutils.indentation and make unindent use it |
20:52:24 | disruptek | i would just use a comma versus (); they are usually "incorrect". otherwise looks perfectly fine to me. |
20:52:30 | FromDiscord | <Yardanico> Choosenim is behaving incorrectly too @haxscramper |
20:52:47 | FromDiscord | <Yardanico> It only checks for GCC, but that's the same as Nim itself does |
20:52:54 | FromDiscord | <Yardanico> So you'll need to fix both for it to work with clang |
20:52:54 | disruptek | is there a better way to say, "have in common"? |
20:53:00 | disruptek | "share"? |
20:53:17 | FromDiscord | <Yardanico> https://github.com/dom96/choosenim/blob/master/src/choosenimpkg/switcher.nim#L51 |
20:53:19 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=2weV |
20:53:24 | * | Jesin joined #nim |
20:53:26 | disruptek | "amount of indentation" -> "number of spaces"? |
20:53:27 | FromDiscord | <Yardanico> Well clang is for osx |
20:53:54 | FromDiscord | <Yardanico> Choosenim only checks GCC on Linux and only clang on macOS |
20:54:18 | disruptek | "greatest common quantity of leading spaces"? |
20:54:41 | disruptek | i guess it's tricky to say much more simply. |
20:55:18 | shashlick | Y that's what i suspected - an issue is warranted |
20:55:27 | disruptek | can you remind me what happened to declaredInScope? |
20:55:39 | clyybber | nothing |
20:55:40 | disruptek | you did discover it was broken, right? |
20:55:46 | clyybber | no, you said so |
20:55:51 | clyybber | but didn't provide any example |
20:55:59 | clyybber | and you weren't sure if you understood its purpose |
20:56:00 | disruptek | typical. |
20:56:08 | clyybber | I fixed it for shadowscopes |
20:56:18 | clyybber | since async relies on it (or at least chronos' async |
20:56:47 | disruptek | was i dreaming or did someone say they wanted to consolidate/enumerate scope-opening nodes? |
20:57:33 | clyybber | Araq said something about scoping |
20:57:45 | clyybber | but tell me how declaredInScope is broken please |
20:58:03 | disruptek | if i ever try to use it again, i will. |
20:58:05 | clyybber | its probably not, since its used pretty heavily in chronos and chronos isn't broken |
20:58:25 | disruptek | cheatfate probably just understands it. |
20:58:49 | disruptek | understanding is not always a prerequisite of use. |
20:59:52 | * | rockcavera quit (Remote host closed the connection) |
20:59:59 | clyybber | ok, so in short it tells you wether a symbol is defined in *the current* scope |
21:00:14 | disruptek | yeah, great. |
21:00:17 | clyybber | it might be defined somewehere else and be available but definedInScope will still return false |
21:00:36 | disruptek | definedInScope != declaredInScope? |
21:00:43 | clyybber | its the same thing |
21:00:48 | disruptek | alias? |
21:00:54 | clyybber | no one doesn't exist |
21:00:58 | disruptek | okay. |
21:00:59 | clyybber | only in the compiler impl |
21:01:05 | disruptek | only in magic. |
21:01:07 | clyybber | but I changed it |
21:01:11 | clyybber | the magics are now seperated |
21:01:17 | clyybber | and named more clearly |
21:01:23 | disruptek | i see. |
21:01:37 | disruptek | i think that's what i was remembering. |
21:02:18 | clyybber | yeah probably |
21:29:52 | * | natrys quit (Quit: natrys) |
21:37:25 | disruptek | frosty has to handle infinite graphs but i'm not sure how i want to do that. i was going to use cps but if it's going into the compiler i'm not sure i want to worry about it. 😉 |
21:43:40 | * | solitudesf quit (Ping timeout: 256 seconds) |
22:18:06 | FromDiscord | <Clyybber> planetis[m]: ping |
22:18:21 | planetis[m] | pong |
22:19:17 | FromDiscord | <Elegant Beef> Gong? |
22:19:55 | clyybber | planetis[m]: So I did this conversion to use byRef pragmas |
22:20:01 | clyybber | but there are some issues |
22:20:15 | clyybber | one is, we can't pass nil this way |
22:20:29 | planetis[m] | oh |
22:20:33 | clyybber | actually, thats the only one I think |
22:21:23 | clyybber | planetis[m]: Maybe converters are the way to go |
22:21:32 | planetis[m] | ...that's an issue i haven't thought |
22:23:37 | * | haxscramper quit (Remote host closed the connection) |
22:23:54 | planetis[m] | that means my cairo wrapper has the same issue |
22:24:54 | FromDiscord | <Clyybber> I mean, I guess its fine as long as the API doesn't require you to pass nil |
22:25:03 | FromDiscord | <Clyybber> but vulkan does so unfortunately |
22:27:24 | planetis[m] | anyway its 1:30 here, good night |
22:27:46 | FromDiscord | <Clyybber> good night! |
22:33:03 | * | clyybber quit (Quit: WeeChat 2.9) |
22:35:34 | * | lritter quit (Quit: Leaving) |
22:41:07 | * | AndroUser joined #nim |
22:42:00 | AndroUser | Hello all, learning Nim but having trouble finding much about Nim with GC disabled. |
22:42:46 | * | tane quit (Quit: Leaving) |
22:43:05 | FromDiscord | <19> https://rosettacode.org/wiki/Pointers_and_references#Nim |
22:43:13 | FromDiscord | <19> this is the only link i know |
22:44:16 | AndroUser | Thank you. Yeah I was hoping there might be something more systems oriented in Nim in Action, but there isn't |
22:44:30 | FromDiscord | <Recruit_main707> AndroUser, gc:none? |
22:44:37 | FromDiscord | <Recruit_main707> Or just avoiding the gc |
22:44:58 | AndroUser | GC none. My pet project is a small MUD |
22:45:15 | AndroUser | unless GC has really changed, gc'd miss aren't a thing |
22:45:22 | AndroUser | Miss* |
22:46:05 | FromDiscord | <Recruit_main707> If you are only looking for performance, using arc will get you close to no gc speeds |
22:46:08 | FromDiscord | <Rika> may i ask why you want gc none |
22:46:14 | FromDiscord | <Kiloneie> Nim in action was written with Nim's defaukt GC in mind i believe |
22:46:23 | FromDiscord | <Kiloneie> Ask dom96 the author |
22:46:41 | AndroUser | It was, it's a great book. I'm still working through it with j e ster |
22:46:42 | FromDiscord | <Kiloneie> Still a good book |
22:47:15 | AndroUser | As for why, because a mud is a real time game |
22:47:26 | AndroUser | It's just old school |
22:47:32 | FromDiscord | <Rika> how real time is it |
22:47:39 | AndroUser | Milliseconds matter |
22:47:58 | FromDiscord | <Recruit_main707> There is regions too, which is gc none with some extra things to help you manage things, it’s only documentation is it’s source code though |
22:48:09 | AndroUser | Usually a pulse every 100ms |
22:48:13 | FromDiscord | <Rika> perhaps gc:arc is a better choice |
22:48:25 | FromDiscord | <Recruit_main707> But yeah, arc is really fast |
22:48:29 | AndroUser | I'll look into it, thanks! |
22:49:37 | FromDiscord | <Elegant Beef> You can also customize the GC, but yea ARC |
22:49:47 | FromDiscord | <Kiloneie> Quick question, video vs written tutorials? Which do you prefer? |
22:49:48 | FromDiscord | <Hearthstone (LGBTQ+)> Wait what? |
22:49:52 | FromDiscord | <Hearthstone (LGBTQ+)> Written |
22:49:56 | FromDiscord | <Hearthstone (LGBTQ+)> Written is way better |
22:49:56 | FromDiscord | <Recruit_main707> Video |
22:49:57 | FromDiscord | <Hearthstone (LGBTQ+)> Imo |
22:50:08 | AndroUser | Written |
22:50:08 | FromDiscord | <Recruit_main707> But it depends on how it’s done |
22:50:14 | FromDiscord | <Rika> written |
22:50:16 | FromDiscord | <Hearthstone (LGBTQ+)> I prefer reading over listening |
22:50:21 | AndroUser | Old fogies like me have to go into town for internet |
22:50:27 | FromDiscord | <Rika> i can read faster than i can watch |
22:50:32 | AndroUser | And downloading is as slow as dial up |
22:50:44 | FromDiscord | <Kiloneie> I actually bought a domain a year and didnt use it for written tutorials... |
22:50:49 | FromDiscord | <Recruit_main707> > i can read faster than i can watch↵Technically not :p |
22:51:15 | FromDiscord | <Kiloneie> If the subject is hard... You cant read and understand that fast xD |
22:51:16 | FromDiscord | <Rika> if you mean the in place word reading, thats still reading |
22:51:19 | FromDiscord | <Hearthstone (LGBTQ+)> I actually can- |
22:51:21 | FromDiscord | <Rika> do you watch words? |
22:51:43 | FromDiscord | <19> i prefer reading, but sometimes i get bored of reading, so watching is a good change. |
22:52:12 | FromDiscord | <Recruit_main707> Doing at the same time as I am being explained helps me understand it better |
22:52:39 | FromDiscord | <Rika> i only would prefer watching when the topic is abstract and the animations (if any) help with the understanding, if none, i probably will not watch |
22:52:39 | AndroUser | On a slightly different note, I really like the style of Learn X The Hard Way |
22:52:49 | FromDiscord | <Kiloneie> Would having video + written tutorial on the same thing of the same thing be good? |
22:52:57 | AndroUser | Yes |
22:53:07 | AndroUser | That's like Learn X The Hard Way |
22:53:09 | FromDiscord | <Hearthstone (LGBTQ+)> I'd say yeah |
22:53:11 | FromDiscord | <Rika> yes |
22:53:13 | FromDiscord | <Rika> of course |
22:53:17 | AndroUser | (insert language here) |
22:53:20 | FromDiscord | <19> yes for me |
22:53:21 | FromDiscord | <Rika> more choices is always good |
22:53:34 | FromDiscord | <Recruit_main707> But tbh only I said video |
22:53:41 | FromDiscord | <Rika> i mean sure not for you but for the consumers yeah |
22:53:56 | FromDiscord | <Recruit_main707> ^ |
22:54:24 | AndroUser | Thanks for the help guys |
22:54:35 | * | AndroUser quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) |
22:58:11 | FromDiscord | <Kiloneie> I should put more effortvin the editing, some animations i guess... For inheritance video it would work well... |
22:59:07 | FromDiscord | <19> what are you making @Kiloneie |
22:59:38 | FromDiscord | <Kiloneie> I make Nim for beginners videos |
23:00:03 | FromDiscord | <19> that's awesome |
23:00:12 | FromDiscord | <19> beginners to programming |
23:00:14 | FromDiscord | <Kiloneie> Og plan was to make written tutorials alongside... But i didnt get to that, but now i am thinking of a redesign |
23:00:17 | FromDiscord | <19> or beginners to nim |
23:00:23 | FromDiscord | <Kiloneie> To both |
23:00:38 | FromDiscord | <Kiloneie> I try to leave nothing unexplained |
23:00:51 | FromDiscord | <19> you could have a video and a "companion" text for each video |
23:00:59 | FromDiscord | <Elegant Beef> Shit i still never got around to attempting a video tutorial 😄 |
23:01:20 | FromDiscord | <19> i did it once, its fun |
23:01:28 | FromDiscord | <19> you should give it a shot |
23:01:43 | FromDiscord | <19> you can make one on udemy and make money |
23:01:49 | FromDiscord | <Elegant Beef> Lol |
23:02:11 | FromDiscord | <19> if you wish to :P |
23:02:23 | FromDiscord | <Elegant Beef> Yes make educational content, but charge for it! |
23:02:49 | FromDiscord | <Kiloneie> My biggest problem is recording... Im Slovenian, my english is very goid but i tend to get stuck reading my own script or trying to improvise explanation for my own code, or find a word i have trouble pronounciating, sometimes what should be 30 min of recording becomes 3x of that |
23:02:51 | FromDiscord | <19> well, i dont think its entirely wrong |
23:03:37 | FromDiscord | <Kiloneie> I think the better idea is free + patreon, but... I havent gotten anyone on patreon yet... |
23:04:13 | FromDiscord | <19> im always down for free education. but its also not wrong to charge for it. depends on the content. |
23:04:57 | FromDiscord | <Kiloneie> Thing is, it helps Nim grow if its free |
23:04:58 | FromDiscord | <Elegant Beef> I think for all electronic education it should be pay what you want |
23:05:40 | FromDiscord | <Kiloneie> If all i made was payed... And i made hundreds by now... It wouldnt help nim grow much |
23:05:51 | FromDiscord | <Elegant Beef> Well there is also the thing is your goal to educate or to profit |
23:06:00 | FromDiscord | <19> yes but you cannot generalize, what if it is some extremely sophisticated subject that requires effort to explain |
23:06:25 | FromDiscord | <Kiloneie> Well i want to make a living out of it... But atm im broke xD... |
23:07:09 | FromDiscord | <19> @Kiloneie it could be a way for you to sharpen your spoken english and perhaps alleviate your broke state :p |
23:07:23 | FromDiscord | <Elegant Beef> Do you see how small the nim community is? |
23:07:41 | FromDiscord | <19> im not talking about nim in specific |
23:07:45 | FromDiscord | <Elegant Beef> But he is |
23:07:59 | FromDiscord | <19> yeah, sorry i took a tangent. i always do that xD |
23:08:14 | FromDiscord | <Elegant Beef> Like dom isnt living in a golden castle due to nim in action sales 😄 |
23:08:31 | FromDiscord | <Elegant Beef> *Or atleast i dont imagine he is* 😄 |
23:08:42 | FromDiscord | <Rika> i like how i bought nim in action yet havent read half of it |
23:08:49 | FromDiscord | <19> well, the guy is broke :P |
23:08:53 | FromDiscord | <Kiloneie> Hes not, he told me xD |
23:09:09 | FromDiscord | <Rika> he means yo |
23:09:10 | FromDiscord | <19> @Rika same here |
23:09:11 | FromDiscord | <Rika> (edit) 'yo' => 'you' |
23:09:13 | FromDiscord | <Kiloneie> Dom said he gets just a bit here andvthere |
23:09:23 | FromDiscord | <Rika> he means you with "the guy" |
23:09:32 | FromDiscord | <19> the guy = Kiloneie |
23:09:33 | FromDiscord | <Kiloneie> I know |
23:09:51 | FromDiscord | <Kiloneie> I read nim in action also half xD |
23:10:09 | FromDiscord | <Kiloneie> Hes got better explanation on some subjects that the manual has |
23:11:01 | FromDiscord | <Kiloneie> I was thinking of putting in text to support me on patreon and offer fiver services in the outro... Idk probably would get nothing still |
23:12:02 | FromDiscord | <Kiloneie> If i was making like 400 a month by now, id be making way way more videos, but its what it is atm |
23:12:38 | FromGitter | <iffy> Is there a way to have variants share some fields but not all? For instance First and Second both have `name`: https://play.nim-lang.org/#ix=2wfD What are my other options? |
23:12:57 | FromDiscord | <Rika> have them have different names and use a proc to simulate a field |
23:13:04 | FromDiscord | <Elegant Beef> Yea there cannot be name overlaps atm |
23:13:23 | FromDiscord | <Elegant Beef> so you can have a proc named `name=` which checks the kind and sets it accordingly |
23:13:41 | FromGitter | <iffy> Oh, good call both of you; thank you! |
23:16:11 | FromDiscord | <Kiloneie> I think a logo and animated intro and outro would help add some profesionalism to my videos |
23:16:59 | FromDiscord | <19> i always wanted to animate that nice nim crown :D :nim2: |
23:17:32 | FromDiscord | <19> its such a good logo, kudos to the designer |
23:18:40 | FromDiscord | <Kiloneie> I think it could ve better |
23:18:50 | FromDiscord | <Kiloneie> Ray trace it :P |
23:29:58 | FromDiscord | <Kiloneie> How would a god king crown look like? |
23:31:54 | FromDiscord | <19> ping : shashlick↵sorry to distrub you, i have a few questions, the library im trying to wrap has alot of headers and 1 dll. how should i set it up from the getHeader() function? also, are all the params required or are some of them optional? |
23:32:26 | * | Trustable quit (Remote host closed the connection) |
23:32:45 | FromDiscord | <demotomohiro> I wrote simple raytracer to render nim crown before.↵https://colab.research.google.com/drive/1J0B0qVvovrJZJI1OU75jIMUjWnymi_6G |
23:32:58 | FromDiscord | <19> wow awesome |
23:33:06 | * | audiofile joined #nim |
23:33:21 | audiofile | whats new with nim |
23:33:41 | audiofile | my professor asked me what my favourite language right now is and I spread the gospel of nim |
23:33:45 | audiofile | do I get to enter heaven now?? |
23:33:53 | FromDiscord | <Elegant Beef> I think so |
23:34:10 | audiofile | I need a confirmation from the boss man |
23:34:30 | FromDiscord | <19> @demotomohiro that's just sick dude |
23:38:10 | disruptek | no. |
23:38:17 | disruptek | first you must write something useful. |
23:39:01 | * | krux02_ joined #nim |
23:39:50 | * | krux02_ quit (Read error: Connection reset by peer) |
23:40:03 | disruptek | who knows how i can learn about androuser's mud? |
23:40:23 | * | krux02_ joined #nim |
23:40:33 | FromDiscord | <dk> When was macro quoting fixed? I didn't even notice |
23:40:48 | audiofile | is there good cross platform gui library for nim |
23:40:56 | audiofile | i dont want to fight opengl |
23:42:49 | * | krux02 quit (Ping timeout: 264 seconds) |
23:44:22 | FromDiscord | <Elegant Beef> Fidget |
23:44:33 | FromDiscord | <Elegant Beef> Atleast i like fidget 😄 |
23:45:19 | FromDiscord | <19> fidget looks amazing |
23:54:35 | * | Zectbumo quit (Remote host closed the connection) |
23:55:23 | shashlick | 19: best to see nimgit2 or nimarchive |
23:55:35 | shashlick | getHeader is simply to get the header and library |
23:55:39 | shashlick | wrapping is handled by cImport |
23:55:50 | shashlick | what are you trying to wrap |