00:00:02 | * | junland quit (Quit: %ZNC Disconnected%) |
00:00:08 | FromDiscord | <mratsim> Here are some litterature on barrier design: https://github.com/mratsim/weave/blob/master/picasso/primitives/barriers.md#synchronization-barrier-techniques |
00:00:26 | FromDiscord | <mratsim> microsecond is a quite the high latency π |
00:01:50 | * | junland joined #nim |
00:11:04 | FromGitter | <Vindaar> @kaushalmodi sorry, wasn't on gitter today. I'm working on a PR to add docs in which I also updated the README a bit. See here https://github.com/Vindaar/ggplotnim/tree/addDocs β So the dependencies should be all simple now. β I need to sleep now, but I'll come back to your question / use case tomorrow! Will show you a couple of examples (maybe adapt your dpi/nimetry thing) :) |
00:19:53 | * | theelous3 quit (Ping timeout: 245 seconds) |
00:49:24 | FromDiscord | <yewpad> Linux and M2 SSD |
00:49:30 | FromDiscord | <yewpad> A f-ing miracle |
00:49:56 | disruptek | yes, before i added san, my machine would boot in <4s. |
01:25:07 | * | ftsf joined #nim |
01:57:55 | * | dchem joined #nim |
01:58:48 | FromGitter | <itmuckel> Hey guys! Is there an easy way to update nim? For example is it planned to have a command like `nim update` or so? Or is it already there and I have missed it? π |
01:59:00 | disruptek | google `choosenim`. |
02:00:13 | FromGitter | <itmuckel> lol, I use duckduckgo and `choosenim.com` was the first result. :-D |
02:00:48 | disruptek | that might work well, too, depending on your goals. |
02:05:34 | dchem | Yes use choosenim, best way to update. |
02:07:43 | FromGitter | <itmuckel> Yes, works perfectly, exactly like rustup. |
02:07:47 | FromGitter | <itmuckel> thx |
02:08:03 | dchem | Nice |
02:08:18 | FromGitter | <itmuckel> Should at least be mentioned on the download page of nim-lang.org π |
02:08:51 | dchem | https://nim-lang.org/install_unix.html |
02:08:58 | dchem | first item on the list :) |
02:09:17 | FromGitter | <itmuckel> https://nim-lang.org/install_windows.html Nope. ;-) |
02:09:30 | dchem | Ahh |
02:10:59 | dchem | https://github.com/dom96/choosenim/releases |
02:11:13 | dchem | oh you already got it, nm |
02:11:54 | FromGitter | <itmuckel> π |
02:21:28 | * | ng0_ joined #nim |
02:23:48 | * | ng0 quit (Ping timeout: 260 seconds) |
02:33:36 | * | lritter quit (Quit: Leaving) |
02:42:45 | * | GordonBGood joined #nim |
02:42:58 | * | ntm joined #nim |
02:54:30 | ntm | is there a way to find the owner of a file? with getFileInfo/getFilePermissions, you can see permissions of the user and group that owns it, but I don't know how to get the user and group. |
02:56:47 | disruptek | i thought i saw a way to do this but now i can't find it. |
02:57:49 | disruptek | you get use getpwnam or similar if you're on posix. |
03:08:28 | * | ng0_ quit (Quit: Alexa, when is the end of world?) |
03:21:39 | ntm | seems I can get the userid/groupid with "import posix; var a: Stat; stat("/path/to/file",a); echo a.st_uid" |
03:22:16 | disruptek | oh i misread your request; sorry. i thought you wanted to lookup the current uid/gid. |
03:23:12 | disruptek | and, yes, stat is the right tool for the job. |
03:23:33 | ntm | well, it pointed me in the right direction, so I appreciate it |
03:23:45 | disruptek | π |
03:28:19 | * | a_chou joined #nim |
03:28:34 | * | a_chou quit (Client Quit) |
03:29:00 | * | a_chou joined #nim |
03:34:54 | * | a_chou quit (Remote host closed the connection) |
03:41:23 | * | a_chou joined #nim |
03:48:03 | * | exelotl quit (Ping timeout: 264 seconds) |
04:08:13 | * | a_chou quit (Quit: a_chou) |
04:18:28 | * | theelous3 joined #nim |
04:53:06 | * | jwm224 joined #nim |
04:54:04 | * | jwm224 quit (Quit: WeeChat 2.7-dev) |
04:55:56 | * | dchem quit (Quit: WeeChat 2.4) |
04:56:38 | * | chemist69 quit (Ping timeout: 246 seconds) |
04:57:56 | * | jwm224 joined #nim |
04:58:48 | * | chemist69 joined #nim |
05:17:11 | FromDiscord | <demotomohiro> I sent a PR that mention choosenim and scoop in install_windows.html. |
05:17:11 | FromDiscord | <demotomohiro> https://github.com/nim-lang/website/pull/148/files |
05:21:40 | * | Jjp137 quit (Read error: Connection reset by peer) |
05:23:14 | * | dddddd quit (Remote host closed the connection) |
05:25:08 | * | Jjp137 joined #nim |
05:32:08 | FromDiscord | <Winton> help me |
05:32:08 | FromDiscord | <Winton> https://cdn.discordapp.com/attachments/371759389889003532/640422939191279626/ss.PNG |
05:36:48 | FromDiscord | <demotomohiro> you need to add a parent directory of nim executable to PATH environment variable. |
05:37:16 | FromDiscord | <demotomohiro> How to do that depends on OS. |
05:37:53 | * | nsf joined #nim |
05:59:28 | * | u0_a215 joined #nim |
06:00:19 | u0_a215 | exit |
06:00:22 | u0_a215 | quit |
06:00:27 | FromDiscord | <Rika> uh |
06:00:27 | * | u0_a215 quit (Client Quit) |
06:00:34 | FromDiscord | <Rika> are you trying to leave the IRC channel? |
06:03:20 | * | thomasross quit (Remote host closed the connection) |
06:03:47 | * | thomasross joined #nim |
06:06:25 | * | jwm2241 joined #nim |
06:30:18 | * | jwm2241 quit (Quit: WeeChat 2.7-dev) |
06:32:55 | * | jwm2241 joined #nim |
06:38:35 | * | solitudesf joined #nim |
06:39:27 | * | mr2robot joined #nim |
06:44:08 | * | mr2robot quit (Remote host closed the connection) |
06:59:05 | * | jwm2241 quit (Quit: WeeChat 2.7-dev) |
07:04:20 | * | thomasross quit (Remote host closed the connection) |
07:04:47 | * | thomasross joined #nim |
07:07:36 | * | theelous3 quit (Ping timeout: 240 seconds) |
07:41:56 | FromDiscord | <ndl> good morning |
07:47:11 | * | Trustable joined #nim |
07:50:27 | * | solitudesf quit (Ping timeout: 264 seconds) |
07:57:24 | Araq | hi |
07:57:49 | * | Trustable quit (Remote host closed the connection) |
08:00:00 | * | gmpreussner_ quit (Quit: kthxbye) |
08:05:06 | * | gmpreussner joined #nim |
08:14:45 | FromDiscord | <Rika> greetings, my lord |
08:14:48 | FromDiscord | <Rika> π |
08:38:36 | FromDiscord | <mratsim> lol |
08:40:10 | * | NimBot joined #nim |
08:40:22 | FromDiscord | <mratsim> Is the "owner" macro stable? (https://github.com/nim-lang/Nim/pull/8253/files) I see that it is feature gated. I will probably need to implement a simple way to capture environment and send them to spawned threads to replace the `parallel` magic block from threadpool |
08:40:25 | * | itmuckel joined #nim |
08:43:34 | * | itmuckel left #nim (#nim) |
08:43:55 | Araq | I think it's unwise to rely on it, on the other hand the AST/IR changes we eventually will do would also support this feature |
08:45:58 | * | Vladar joined #nim |
09:02:53 | * | CcxWrk quit (Killed (orwell.freenode.net (Nickname regained by services))) |
09:02:54 | * | CcxWrk joined #nim |
09:03:20 | * | thomasross quit (Remote host closed the connection) |
09:03:44 | * | thomasross joined #nim |
09:25:21 | * | narimiran joined #nim |
09:40:20 | * | thomasross quit (Remote host closed the connection) |
09:40:47 | * | thomasross joined #nim |
09:41:13 | * | ftsf quit (Ping timeout: 268 seconds) |
09:52:11 | * | nsf quit (Quit: WeeChat 2.6) |
09:57:35 | FromDiscord | <itmuckel> Hey guys! I just tried to create a new nimble project, binary. I ran `nimble build` and it created an executable in the project's root. When I run `nimble run` it tells me `Error: Binary '.exe' is not defined in 'mex' package.` I have the line `bin = @["mex"]` in my `mex.nimble` file. Are there extra steps I need to take on Windows? π€ |
09:58:45 | FromDiscord | <itmuckel> Changing it to `@["mex.exe"]` doesn't work either. |
10:03:19 | FromDiscord | <itmuckel> Of course I can add a new task to the nimble file that just executes the file, but it seems like nimble run should do that already. π |
10:09:36 | lqdev[m] | did you use `nimble init` to create your nimble package? |
10:09:59 | FromDiscord | <luka> Hi, is there a way to limit the amount of memory that a HashSet uses? (by ignoring incl calls that would require more space) Looking at the source code, I guess one way would be to call the mustRehash() function myself and then don't call incl. However, I would need to access HashSet.data for that (mustRehash needs its length), and "data" is not exported. |
10:11:13 | lqdev[m] | luka: iirc there's a `len` property |
10:11:27 | lqdev[m] | you can use that to limit the length of the hashset |
10:11:39 | lqdev[m] | though I'm not sure if it's what you need |
10:12:36 | FromDiscord | <luka> @gitterirc I think that would give me the number of elements stored, but I need the memory usage (which I guess is much larger) |
10:14:55 | lqdev[m] | then get the memory usage of its elements using `x.len * sizeof(T)`, I guess? |
10:15:11 | lqdev[m] | I'm not sure what you're trying to accomplish in the end |
10:15:22 | FromDiscord | <itmuckel> @lqdev Yes, I created the package with nimble init and told it that I want a binary. Nothing else, it's still the Hello World in there. I used choosenim to install nim 1.0.2 |
10:17:53 | lqdev[m] | @itmuckel seems weird. I assume mex.nim is inside the `src` folder, and you didn't alter the .nimble file? |
10:18:16 | FromDiscord | <itmuckel> yep |
10:18:35 | FromDiscord | <luka> I'm guessing that HashSet allocates more memory than the actual size of the set, am I wrong? I'm using HashSet for caching, and want to keep adding elements to it as long as there is memory left |
10:19:04 | dom96 | itmuckel: possibly a bug on Windows, `nimble run` is relatively new :) |
10:19:56 | FromDiscord | <itmuckel> I guess it has something to do with Windows, because it wouldn't look for a Binary named `.exe` on Linux. π€ |
10:20:20 | lqdev[m] | luka: it does allocate more memory, it's the basic working principle of a hash set/hash table |
10:20:42 | lqdev[m] | but I don't think there's a way of checking how much mem is already allocated |
10:21:45 | FromDiscord | <luka> a way would be by looking at HashSet.data variable, but it is not exported, so I cannot read it |
10:23:41 | lqdev[m] | it shouldn't be exported since it's an implementation detail and may change any time |
10:24:18 | lqdev[m] | I think checking if len < someLimit should be enough, tho |
10:25:07 | lqdev[m] | since when you hit the limit no more memory will be allocated because the set's not expanding anymore |
10:26:14 | FromDiscord | <itmuckel> @dom96 I created an [issue on github](https://github.com/nim-lang/nimble/issues/735) |
10:27:17 | FromDiscord | <luka> is there a way of forcefully accessing a field that is not exported in Nim? (I'm aware it's an implementation detail etc.) |
10:27:22 | dom96 | itmuckel: thanks |
10:36:51 | lqdev[m] | luka: afaik there exists a bug where if you use a template exported from the same file where the field is defined, and that template accepts an `untyped` body, you can access all internal fields and procs from that other module |
10:37:27 | lqdev[m] | but it's a bug |
10:37:33 | lqdev[m] | and idk if it's fixed yet |
10:37:55 | lqdev[m] | and I don't know if there are any templates that fit your purpose in hashsets |
10:38:29 | FromDiscord | <luka> I've just googled this: https://github.com/nim-lang/Nim/pull/11865, the include workaround seems to work (I basically need this just today, for just one execution, so any solution is fine) |
10:38:37 | FromDiscord | <luka> lqdev: thanks! |
10:43:50 | * | thomasross quit (Remote host closed the connection) |
10:44:14 | * | thomasross joined #nim |
10:49:01 | * | ng0 joined #nim |
10:49:47 | FromDiscord | <itmuckel> @dom96 I just read `nimble -h` and it states that I need to pass the name of the executable. `nimble run mex` actually runs mex.exe. Is that the intended use? Then I just used it wrong. I thought it automatically runs the specified binary in my .nimble file. |
10:50:22 | dom96 | itmuckel: oh yes, that is the intended use. But even I forgot that, and I implemented this feature heh |
10:50:40 | dom96 | We can extend this command to support your use case |
10:50:46 | * | ng0 quit (Client Quit) |
10:51:44 | * | ng0 joined #nim |
10:52:39 | FromDiscord | <itmuckel> That would be nice! I think it's redundant if `build` takes the name specified in the nimble file, but `run` needs an explicit name. |
10:52:56 | FromGitter | <kaushalmodi> disruptek: What's the reference to your commit push regarding recursive .nimble finder? Which repo should I look at? |
10:54:57 | FromDiscord | <itmuckel> I just added the solution to the issue I opened and the feature request too. |
10:55:10 | FromGitter | <kaushalmodi> @Vindaar Thanks. I'll then look into ggplotnim this week. Nimetry does what I need for now. I am exploring ggplotnim too as I believe it will allow me to overlay multiple plots in different colors. I might have a need for something like that in future. |
10:57:29 | * | clyybber joined #nim |
11:06:40 | FromDiscord | <itmuckel> Can I pin dependencies in nimble files? `requires "sdl2_nim = 2.0.10"` doesn't work, only `>=` works. π€ |
11:07:05 | FromGitter | <kaushalmodi> Try `==` |
11:07:35 | FromDiscord | <itmuckel> Still "Invalid operator" |
11:08:11 | FromGitter | <kaushalmodi> disruptek: ok, found your project call "bump". It would be nice to have that in core under `getProjectRoot` or something like that. |
11:08:43 | FromGitter | <kaushalmodi> Where the extensions to decide the project root has be passed as an array |
11:09:11 | FromGitter | <kaushalmodi> I can think of `[".nimble", ".git"]` |
11:09:29 | FromDiscord | <itmuckel> Found it in the source of nimble: `requires "package_name version" ` is the syntax for pinning versions. So no = and no ==, just nothing. |
11:09:43 | FromGitter | <kaushalmodi> itmuckel: cool, good to know. |
11:10:05 | FromDiscord | <itmuckel> Surprising behavior. I'd expect == or = to work too. |
11:10:08 | FromGitter | <kaushalmodi> It might be still worthwhile to feature request the `==` syntax |
11:10:35 | FromDiscord | <itmuckel> I'll write an issue. π |
11:10:35 | * | Vladar quit (Quit: Leaving) |
11:10:40 | FromGitter | <kaushalmodi> I agree that if >= works, it's obvious that someone would try out == |
11:12:30 | FromDiscord | <itmuckel> I think I'll just create a pull request myself. The fix seems so easy that I can do it myself although I use nim since a few hours ago lol. |
11:16:36 | FromGitter | <kaushalmodi> itmuckel: +1 |
11:16:58 | FromGitter | <kaushalmodi> Please add support for == and not = |
11:17:00 | * | narimiran quit (Ping timeout: 265 seconds) |
11:17:10 | FromGitter | <kaushalmodi> You are comparing there, not assigning |
11:17:11 | FromDiscord | <itmuckel> @dom96 I'll add only "==" as the pinning operator to stick with nim's comparison operators |
11:17:18 | FromDiscord | <itmuckel> Yeah, exactly my thought. |
11:17:25 | FromGitter | <kaushalmodi> Awesome |
11:17:28 | Zevv | there might be a good reason for '==' not being there already, but I'm sure dom96 or one of the other nimble guys will point that out on the PR if so |
11:17:52 | FromDiscord | <itmuckel> Yeah, we'll see |
11:18:10 | FromGitter | <kaushalmodi> Please share the issue here. I'd like to follow it. |
11:18:45 | FromDiscord | <itmuckel> I would just create a pull request and post a link to it here, if that's good enough |
11:26:40 | FromDiscord | <itmuckel> https://github.com/nim-lang/nimble/pull/736 |
11:29:52 | clyybber | Araq: Hey, are discriminator types bigger than int16 actually supported? |
11:34:38 | * | letto quit (Quit: Konversation terminated!) |
11:35:52 | * | ng0 quit (Ping timeout: 260 seconds) |
11:36:00 | * | letto joined #nim |
11:37:09 | * | ng0_ joined #nim |
11:40:44 | Zevv | clyybber: like this? http://ix.io/20GC |
11:40:58 | Zevv | "relocation truncated to fit: R_X86_64_PC32 against symbol `gEnv' defined in COMMON section" is nice |
11:44:52 | clyybber | Zevv: They can fail in all kind of different ways |
11:45:02 | clyybber | They can crash in int128 |
11:45:10 | clyybber | They can bring gcc to hang up |
11:45:19 | clyybber | and you can dos playground with that |
11:45:28 | Zevv | I can see why it crashes, but gcc to hang is funny stuff |
11:45:33 | clyybber | Yeah |
11:46:28 | clyybber | https://github.com/nim-lang/Nim/issues/12379#issuecomment-549065685 |
11:46:33 | clyybber | Zevv: There you go |
11:47:38 | clyybber | but beware, it really brings my XServer down to a halt |
11:47:52 | Zevv | those both work for me |
11:47:55 | * | nsf joined #nim |
11:48:12 | clyybber | Huh. |
11:48:16 | Zevv | huh indeed |
11:48:19 | clyybber | Try it in playground |
11:48:27 | clyybber | You should get error 502 |
11:48:32 | clyybber | Server not accessible |
11:48:35 | clyybber | or something like that |
11:49:13 | Zevv | oh wait I'm mixing stuff up again - I never to that usually, you understand of course |
11:49:16 | Zevv | wait a min |
11:49:54 | Zevv | -d:danger did the job of getting it through |
11:49:57 | Zevv | without it blows up indeed |
11:50:17 | clyybber | yeah, because -d:danger disables the field access checks |
11:50:27 | clyybber | and those are bogus with types bigger than int16 |
11:51:09 | clyybber | apparently bogus enough to make gcc think about life and the universe and everything |
11:53:19 | * | Vladar joined #nim |
12:02:29 | * | solitudesf joined #nim |
12:08:04 | * | ng0_ quit (Ping timeout: 260 seconds) |
12:13:21 | * | ng0_ joined #nim |
12:26:57 | FromDiscord | <Lantos> nimorm is throwing "is not GC-safe as it calls 'exec' is that anything to be conserned about? |
12:27:20 | * | thomasross quit (Remote host closed the connection) |
12:27:45 | * | thomasross joined #nim |
12:30:28 | FromDiscord | <Lantos> this is coming from dbconn.exec I guess not too much to worry about |
12:31:11 | * | thomasross quit (Max SendQ exceeded) |
12:31:38 | * | thomasross joined #nim |
12:42:11 | * | theelous3 joined #nim |
12:47:15 | enthus1ast | any idea how i could get this to work? https://gist.github.com/enthus1ast/e487aec1d08b7c4822a48a3711f27cdf |
12:50:23 | enthus1ast | my goal is to get a set for each detected platform/distro |
12:50:41 | enthus1ast | a set that includes each detected distro i must say |
12:54:19 | lqdev[m] | enthus1ast: if you want to iterate through all values of an enum, use `for x in low(T)..high(T)` |
12:57:31 | enthus1ast | ok lqdev[m] but the issue seems that detectOs is not eating the `forvar` |
12:58:20 | * | thomasross quit (Remote host closed the connection) |
12:58:45 | * | thomasross joined #nim |
12:59:31 | lqdev[m] | looking at the way is implemented, I don't think there's a way |
13:00:09 | lqdev[m] | give me a sec |
13:00:26 | enthus1ast | i must say i tried to do it with macros, but i'm total macro noob |
13:01:37 | enthus1ast | this is what i came up with: https://gist.github.com/enthus1ast/13f7efddce9ee192dfd21045056c6a2e |
13:03:37 | * | Vladar quit (Quit: Leaving) |
13:03:42 | enthus1ast | and this is what i need: https://gist.github.com/enthus1ast/110121ca06bdc71f967c7406bac5ad9a |
13:04:01 | lqdev[m] | hmm, let me try |
13:12:26 | * | dddddd joined #nim |
13:12:27 | * | Romanson joined #nim |
13:12:57 | * | ponyrider quit (Quit: WeeChat 2.6) |
13:17:36 | * | ponyrider joined #nim |
13:17:44 | lqdev[m] | enthus1ast: https://play.nim-lang.org/#ix=20H3 |
13:17:57 | lqdev[m] | I've commented each step so it should be easy to understand |
13:18:58 | lqdev[m] | it's probably an overkill solution but I don't think there's a simpler one, given how detectOs is designe |
13:18:58 | lqdev[m] | d |
13:19:28 | enthus1ast | nice lqdev[m] ! |
13:20:08 | lqdev[m] | no problem, feel free to use it |
13:21:12 | enthus1ast | i'll use it in my "saltstack clone" nimPepper |
13:31:50 | * | thomasross quit (Remote host closed the connection) |
13:32:16 | * | thomasross joined #nim |
13:49:32 | * | arzt joined #nim |
13:50:16 | * | thomasross_ joined #nim |
13:50:16 | * | thomasross quit (Killed (orwell.freenode.net (Nickname regained by services))) |
13:50:16 | * | thomasross_ is now known as thomasross |
13:52:27 | * | arzt quit (Client Quit) |
13:53:21 | * | MarderIII joined #nim |
13:54:47 | * | arzt joined #nim |
13:55:00 | * | MarderIII quit (Remote host closed the connection) |
13:55:14 | * | arzt quit (Remote host closed the connection) |
13:55:44 | * | MarderIII joined #nim |
13:56:31 | * | MarderIII quit (Client Quit) |
14:04:34 | * | narimiran joined #nim |
14:15:38 | * | GordonBGood quit (Ping timeout: 268 seconds) |
14:26:42 | disruptek | kaushalmodi: https://github.com/disruptek/bump |
14:29:15 | * | nsf quit (Quit: WeeChat 2.6) |
14:30:00 | * | Trustable joined #nim |
14:31:31 | FromGitter | <kaushalmodi> disruptek: Yes, that's how I learned that you were talking about your "bump" project |
14:31:52 | FromGitter | <kaushalmodi> .. I looking into your activity on your GitHub profile to see what commit you were talking about :) |
14:32:03 | * | theelous3 quit (Ping timeout: 240 seconds) |
14:32:37 | disruptek | it was version 1.8.3 |
14:33:49 | disruptek | https://github.com/disruptek/bump/commit/8fbaca684f8274e2827ea62ac9556b38a0fa7917 |
14:34:39 | disruptek | it's not a great solution, though, because it uses the env. |
14:35:19 | disruptek | or as Araq calls it, the "medieval" env. |
14:37:48 | disruptek | there's a chance that there's another way to do it depending on how sameFile works. |
14:46:33 | disruptek | should be possible. |
14:54:27 | * | Vladar joined #nim |
15:02:20 | disruptek | dev docs seem to be linking to a version-1-1 tree as opposed to devel. |
15:02:35 | narimiran | 1.1 is devel |
15:02:47 | disruptek | maybe, but the links don't work. |
15:02:59 | disruptek | ie. source links. |
15:03:02 | narimiran | aaah, i might know why. |
15:03:22 | narimiran | because until few days ago, devel was always x.y.odd |
15:03:29 | narimiran | and now is x.y.even |
15:04:21 | disruptek | that's odd. |
15:04:32 | narimiran | no, it *was* odd, it isn't anymore :P |
15:05:07 | disruptek | even worse? |
15:05:57 | narimiran | punny guy |
15:07:50 | narimiran | btw, where did you get those wrong links? |
15:08:17 | disruptek | os module on gh-pages. |
15:08:44 | narimiran | https://nim-lang.github.io/Nim/os.html this one? |
15:08:53 | disruptek | yeah. |
15:08:57 | narimiran | aaaah |
15:08:58 | narimiran | i see |
15:09:24 | disruptek | the edit link is fine, it's just the source link. |
15:09:25 | narimiran | i pushed a version bump, so it should be ok in an hour or two or whenever new docs will be built |
15:09:31 | disruptek | cool, ty. |
15:43:15 | FromDiscord | <Chiqqum_Ngbata> Getting sporadic SIGSEGV when invoking GC_fullCollect manually for testing. Any thoughts for debugging |
15:44:19 | FromGitter | <kaushalmodi> narimiran: so devel should be 1.1.99, right? |
15:44:25 | narimiran | no |
15:44:34 | FromGitter | <kaushalmodi> So that the next release is 1.2? |
15:44:37 | narimiran | yes |
15:45:50 | FromDiscord | <Chiqqum_Ngbata> Interestingly, I'm getting a sporadic SIGABRT with --gc:boehm |
15:49:38 | * | seerix joined #nim |
15:52:23 | FromDiscord | <Chiqqum_Ngbata> Is there no way to get more tracing out of this? I'm just getting the line where GC_fullCollect is invoked |
15:58:33 | * | ng0_ is now known as ng0 |
16:02:23 | disruptek | -d:nimTypeNames -d:useGcAssert and dumpNumberOfInstances() |
16:02:39 | disruptek | GC_getStatistics() |
16:04:50 | disruptek | finally found a use for `auto`. |
16:09:03 | FromDiscord | <Chiqqum_Ngbata> nimTypeNames and useGcAssert did not yield any more information |
16:14:50 | * | thomasross quit (Remote host closed the connection) |
16:15:16 | * | thomasross joined #nim |
16:15:53 | FromDiscord | <Chiqqum_Ngbata> Printing dumpNumberOfInstances() gives me a bunch of nothing. Of course, I can only log it prior to GC_fullCollect() as the exception occurs at that point |
16:31:42 | FromGitter | <zacharycarter> So does nativesockets now support non-blocking UDP sockets? |
16:32:08 | clyybber | Araq: Hey are you there? |
16:40:19 | FromDiscord | <krptr> hi guys, playin with generics, I understand binding on generic return types is not supported, but I found another thing which I don't know if it's by design, mind someone check as I'm a newbie? https://play.nim-lang.org/#ix=20Ij |
16:40:47 | FromDiscord | <krptr> I understand that a.b(c) is sintactic sugar for b(a, c), but seems not the case with generics? |
16:42:23 | disruptek | your A doesn't have any way for the generate to be bound. |
16:42:36 | disruptek | define it like A[T] = ref object ... value: T |
16:43:26 | disruptek | s/generate/generic/ |
16:44:14 | disruptek | ie. how should it know what type T is in your example? |
16:44:27 | FromDiscord | <krptr> but I want a generic procedure, not a generic object... does this mean tha taccessing read() through an instance, T is bound to the object but not the procedure? |
16:45:26 | disruptek | ask yourself why your write() works. |
16:46:35 | disruptek | wrt line 25, it's a querk of ufcs afaik. |
16:46:40 | disruptek | quirk, too. |
16:47:07 | FromDiscord | <krptr> hummm... thinking... |
16:49:03 | disruptek | the way generics work is that the compiler makes new versions of the procs when it sees new types passed to them. but it cannot figure out what kinda proc to make if there isn't 1) a type specified manually, or 2) an associating between a parameter type and the generic type it's trying to discover. |
16:49:15 | disruptek | it's kinda like filling in variables in a formula. |
16:50:11 | FromDiscord | <krptr> I understand why line 23 doesn't work (I even explained in the comments) but I didin't know line 26 was a quirk as I was explicitly binding T |
16:50:36 | disruptek | it has to do with the way ufcs orders the arguments to the call. |
16:52:05 | disruptek | the parser is simpler than the language, basically. |
16:54:25 | * | jwm2241 joined #nim |
17:00:45 | * | Romanson quit (Quit: Connection closed for inactivity) |
17:03:08 | FromDiscord | <krptr> ahmm... ok, disruptek, thanks |
17:13:19 | * | lritter joined #nim |
17:13:49 | dom96 | Oooh, my game now works 100% on iOS. I'm amazed that asyncdispatch works out of the box on iOS, all I needed to add was some `defined(ios)` :O |
17:14:17 | disruptek | nice. |
17:15:55 | yumaikas | o/ |
17:16:33 | yumaikas | dom96: what game? And what are you using asyncdispatch to do? |
17:19:09 | * | jwm2241 quit (Quit: WeeChat 2.7-dev) |
17:26:00 | dom96 | yumaikas, it's called Stardust and it'll be similar to agar.io/slither.io |
17:26:35 | FromDiscord | <krptr> disruptek, tried to find an issue in the repo regarding that ufcs quirk but I had no luck, is that quirk documented or an issue in github already there that I can follow? |
17:28:18 | yumaikas | Sounds cool. You have a website for it up? |
17:30:37 | clyybber | dom96: Nice, what graphics API do you use? |
17:30:38 | dom96 | yumaikas, not yet |
17:31:02 | dom96 | clyybber, my own: gamelight. It targets canvas in the browser and SDL2 otherwise |
17:31:19 | clyybber | Oh, sounds nice, is it on github? |
17:31:35 | clyybber | ah found it |
17:33:12 | dom96 | yeah, not that it's very rough though, I'm basically implementing what I need for my game without much thought about keeping backwards compatibility :) |
17:33:21 | dom96 | *note |
17:36:29 | FromGitter | <zacharycarter> shashlick: question if you're around - is there a reason nimterop on windows defaults to MinGW makefiles? shouldn't it default to building with visual studio? |
17:39:10 | dom96 | zacharycarter: probably because MinGW is Nim's defualt |
17:39:12 | dom96 | *default |
17:40:57 | FromGitter | <zacharycarter> well, I think it should be able to be overridden at least |
17:41:08 | FromGitter | <zacharycarter> mingw on windows is a pain |
17:43:27 | FromGitter | <zacharycarter> I'll file an issue |
17:47:03 | FromGitter | <blakeb211> Whats my best bet to do cross plat guis in nim |
17:49:23 | disruptek | https://github.com/VPashkov/awesome-nim#gui |
17:49:25 | FromGitter | <zacharycarter> for desktop applications or for games or for what? |
17:50:19 | disruptek | dunno how nimgl isn't in that list. |
17:50:56 | zedeus | lots of useful things aren't on that list, it's very incomplete |
17:51:19 | shashlick | @zacharycarter I would add visual studio support if there was interest |
17:51:37 | shashlick | You're the first to ask since I started with nimgen way back when |
17:52:02 | FromGitter | <zacharycarter> :P |
17:52:17 | FromGitter | <zacharycarter> well I made an issue on the nimterop repo - so at least it's logged |
17:52:23 | FromGitter | <zacharycarter> I think I can live without it for now |
17:54:18 | shashlick | Cool |
18:00:26 | * | clyybber quit (Quit: WeeChat 2.6) |
18:15:17 | Zevv | !eval let βΊ = 42; echo βΊ |
18:15:19 | NimBot | 42 |
18:29:41 | * | nsf joined #nim |
18:31:04 | FromDiscord | <itmuckel> Blasphemy! He has a name you know... It's Uncle Ben! π |
18:31:04 | FromDiscord | <itmuckel> https://cdn.discordapp.com/attachments/371759389889003532/640618962669010946/unknown.png |
18:38:41 | * | clyybber joined #nim |
18:42:22 | Zevv | http://zevv.nl/div/uncle_ben.png |
18:42:57 | FromDiscord | <treeform> I just spent a day debugging Arabic characters in TTF. |
18:42:59 | FromDiscord | <treeform> |
18:42:59 | FromDiscord | <treeform> https://cdn.discordapp.com/attachments/371759389889003532/640621969028546561/unknown.png |
18:43:16 | FromDiscord | <treeform> Latin letters are way simpler |
18:45:15 | Zevv | but arabic looks way cooler |
18:46:19 | FromDiscord | <treeform> arabic has only 28 letters ... but to typeset it you need 1340 "shapes" |
18:46:45 | disruptek | sounds easy enough. |
18:47:27 | FromDiscord | <treeform> And I though that CJK was hard. |
18:47:52 | FromDiscord | <treeform> I guess this is a big like if you used latin cursive script |
18:48:14 | FromDiscord | <treeform> so you had every combination of letters like 'af' and 'gh' connect nicely |
18:48:27 | FromDiscord | <treeform> you will have a ton of different shapes |
18:48:44 | disruptek | i just stack them on top of each other anyway. |
18:48:51 | disruptek | like nixie lights. |
18:51:05 | FromDiscord | <treeform> I don't think you can do that with arabic, many of the letters are very small |
18:51:46 | FromDiscord | <treeform> |
18:51:46 | FromDiscord | <treeform> https://cdn.discordapp.com/attachments/371759389889003532/640624177099046953/unknown.png |
18:52:36 | FromDiscord | <treeform> and they don't go in a line... |
19:02:10 | FromDiscord | <treeform> Great I can now render these Arabic letters without errors: |
19:02:16 | FromDiscord | <treeform> |
19:02:16 | FromDiscord | <treeform> https://cdn.discordapp.com/attachments/371759389889003532/640626817778188288/Amiri-Regular.png |
19:08:13 | * | exelotl joined #nim |
19:18:09 | * | theelous3 joined #nim |
19:23:14 | * | ntm quit (Ping timeout: 265 seconds) |
19:47:11 | * | MightyJoe joined #nim |
19:48:51 | * | cyraxjoe quit (Ping timeout: 265 seconds) |
19:58:30 | * | GordonBGood joined #nim |
20:03:21 | * | GordonBGood quit (Ping timeout: 265 seconds) |
20:10:43 | * | ntm joined #nim |
20:12:59 | Zevv | What is the huge thing centered almost 90% down? |
20:13:06 | Zevv | with the long horizontal streak |
20:14:01 | disruptek | you weren't supposed to see that. |
20:14:29 | Zevv | I saw it |
20:14:37 | disruptek | you saw nothing. |
20:14:41 | Zevv | you can *almost* render this stuff without errors, you mean :) |
20:16:37 | Zevv | but what does it say? |
20:17:01 | disruptek | it says ZALGO PWNS |
20:18:00 | Zevv | wut? |
20:18:40 | disruptek | http://www.eeemo.net/ |
20:22:49 | Zevv | too old for that shit |
20:23:38 | disruptek | treeform ain't. |
20:25:01 | Zevv | i feel sorry for these people on the unicode consortium. Trying to make the world a better place by unifying all languages of the world in a common encoding, and now they are forced to disuss if the next unicode turd emoticon needs to be light brown or dark brown |
20:26:13 | disruptek | but turds /are/ universal. |
20:26:44 | disruptek | everyone poops, zevv. |
20:27:41 | Zevv | yes but I want an emoticon to express my slightly loose floating morning stool including corn kernels |
20:27:50 | Zevv | because I am unique, and so is my poop |
20:27:52 | * | ntm quit (Quit: Leaving) |
20:28:04 | Zevv | everyone has unique poops |
20:28:09 | disruptek | see, you get where i'm coming from with stacking my characters. |
20:28:26 | shashlick | @disruptek you good with the -u flag to enable working with ~/.nimble when in local deps mode? |
20:28:47 | shashlick | Also, what's your thought around @arnetheduck concerns from yesterday |
20:28:50 | Zevv | oh yeah what is this local deps idea, where can I readup on that? |
20:29:19 | Zevv | ah found it |
20:29:57 | disruptek | lemme see what's new. |
20:30:22 | shashlick | https://irclogs.nim-lang.org/02-11-2019.html#21:49:39 my response to his concerns from earlier yesterday |
20:30:59 | shashlick | https://irclogs.nim-lang.org/02-11-2019.html#18:12:02 is where he commented |
20:31:05 | disruptek | what does the -u mean and why do i need it? |
20:31:32 | shashlick | To enable nimble develop and nimble install to work how it does today when in a local deps environment |
20:31:48 | shashlick | So like how npm has a -g flag |
20:32:05 | Zevv | but then inverted? |
20:32:07 | disruptek | does the `u` stand for **-unconveniently-named**? |
20:32:12 | Zevv | so --user vs --global? |
20:32:15 | shashlick | User |
20:32:28 | shashlick | Yes cause global is later if anyone cares enough |
20:32:47 | * | adeohluwa joined #nim |
20:33:04 | disruptek | so you'd rather make me type -u every time than edit my files once or `mkdir localdeps`? |
20:33:34 | disruptek | why don't you just put the --global flag in? |
20:33:38 | Zevv | but global is not really global, it's per-user global. naming confision arises? |
20:33:48 | shashlick | No no |
20:33:52 | disruptek | you say we can't use it because you're saving it. so put it in and make global opt-in. |
20:34:22 | shashlick | Local deps is enabled as described - create dir or .nimble flag |
20:34:30 | * | clyybber quit (Quit: WeeChat 2.6) |
20:34:30 | shashlick | Then everything works that way |
20:34:38 | disruptek | oh this is just for develop or install? |
20:34:38 | shashlick | If you want to break out use -u |
20:34:51 | shashlick | Anywhere it applies |
20:35:02 | disruptek | oh, -u means -use-my-~/.nimble-dir-please? |
20:35:02 | shashlick | Cause most of the time you are in local |
20:35:06 | shashlick | Yes |
20:35:20 | disruptek | oh, that sounds fine to me. why would i have a problem with that? π€£ |
20:35:27 | shashlick | And -g eventually is use the system dir |
20:35:41 | disruptek | i mean, that's a better interface than i expected. |
20:36:11 | shashlick | But folks are mixing lock files and vendoring into this |
20:36:23 | shashlick | I just see this as a stepping stone to get those |
20:36:53 | disruptek | lockfiles don't make sense w/o localdeps, imo. |
20:37:15 | disruptek | too much of a pita to develop w/o them. |
20:38:02 | Zevv | So the goal is to get a three level system, like local-project, per-user, and global? |
20:38:41 | disruptek | no, it should be 64-bit token-based capabilities. |
20:44:39 | shashlick | Eventually |
20:44:44 | shashlick | But now just focusing on local |
20:44:53 | shashlick | I don't know the value of system global |
20:45:00 | shashlick | Root is a nuisance |
20:45:30 | disruptek | yeah, i hate that guy. |
20:53:36 | * | nsf quit (Quit: WeeChat 2.6) |
20:59:48 | shashlick | So local deps then nimble install to add/remove stuff from the .nimble file for you and then lock files |
21:00:58 | shashlick | @arnetheduck suggests that lock files will solve the local deps issue altogether but I think you need isolation to even get to a place where a lock file is doable |
21:01:18 | shashlick | But I'm open to feedback since I don't want to waste time either |
21:01:39 | disruptek | lockfiles presuppose that the code is committed. this is not always the case, though it's a nice ideal. |
21:01:45 | shashlick | As you can see, I don't want to code stuff that dies in a PR |
21:02:40 | disruptek | i guess we could refuse to even write the lockfile if the branches are dirty. |
21:04:10 | * | GordonBGood joined #nim |
21:09:11 | * | Trustable quit (Remote host closed the connection) |
21:14:10 | FromGitter | <Vindaar> @kaushalmodi I created a PR on your verilog repo |
21:19:12 | FromDiscord | <treeform> @Zevv, I don't know what that thing is exactly. Its a huge ligature compose of like 30 letters. It has the word Allah in it. Maybe a player thingy of some sort? |
21:19:39 | FromDiscord | <treeform> @Zevv, I don't know what that thing is exactly. Its a huge ligature compose of like 30 letters. It has the word Allah in it. Maybe a prayer thingy of some sort? |
21:21:14 | * | adeohluwa quit (Remote host closed the connection) |
21:25:40 | FromGitter | <kaushalmodi> @Vindaar thanks for doing that extra mile. I will try it out as soon as I get to my development machine |
21:26:13 | FromGitter | <kaushalmodi> s/doing/going/ :) |
21:29:35 | * | krux02 joined #nim |
21:36:39 | * | abm joined #nim |
21:44:26 | * | narimiran quit (Remote host closed the connection) |
21:48:49 | * | LyndsySimon quit (*.net *.split) |
21:48:49 | * | surma quit (*.net *.split) |
21:54:09 | * | LyndsySimon joined #nim |
21:54:10 | * | surma joined #nim |
21:56:51 | FromGitter | <Vindaar> you're welcome! Let me know if it works for you. And if you encounter bugs / things you don't like etc. consider opening an issue. Some stuff may be obvious to me, but just not a priority. Then I have a better idea of what's important |
22:04:19 | * | disbot joined #nim |
22:05:00 | * | snooptek quit (Remote host closed the connection) |
22:10:13 | * | SyrupThinker left #nim (#nim) |
22:10:25 | * | krux02 quit (Remote host closed the connection) |
22:19:26 | * | Vladar quit (Quit: Leaving) |
22:55:20 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
23:20:17 | * | solitudesf quit (Ping timeout: 240 seconds) |
23:32:01 | * | pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
23:32:19 | * | pbb joined #nim |
23:34:33 | * | Simerax joined #nim |
23:39:15 | * | rockcavera joined #nim |
23:41:26 | * | Simerax quit (Quit: https://quassel-irc.org - Komfortabler Chat. Γberall.) |