00:05:20 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
00:20:51 | lqdev[m] | so, umm, I just made this… thing https://github.com/liquid600pgm/mesadump |
00:21:22 | lqdev[m] | I can only say my VRAM sounds pretty interesting |
00:28:09 | * | Cea quit (Remote host closed the connection) |
00:38:03 | * | fjellfras_ joined #nim |
00:40:02 | * | fjellfras quit (Ping timeout: 245 seconds) |
00:42:31 | * | dddddd quit (Remote host closed the connection) |
00:56:54 | * | krux02_ quit (Remote host closed the connection) |
00:58:20 | * | dgreen quit (Remote host closed the connection) |
01:01:18 | FromGitter | <Varriount> lqdev[m]: Care to post a sample? I'm on a Mac, otherwise I would try it out |
01:09:15 | * | fjellfras joined #nim |
01:11:16 | * | fjellfras_ quit (Ping timeout: 258 seconds) |
01:30:32 | * | S4ms0n quit (Remote host closed the connection) |
01:42:58 | * | theelous3 quit (Ping timeout: 248 seconds) |
01:48:56 | * | theelous3 joined #nim |
01:56:50 | shashlick | how do you loop over the fields of an object in a macro? |
01:59:04 | FromGitter | <brentp> does nim rely on csources once it's built? that's adding 1.1GB to my docker image. |
02:11:42 | shashlick | No you can remove it |
02:21:08 | FromGitter | <brentp> cheers. |
02:24:29 | FromGitter | <Varriount> shashlick: Hm, well, one way would be to get the object' s type |
02:24:36 | FromGitter | <Varriount> (type definition) |
02:25:01 | FromGitter | <Varriount> shashlick: Look at the getpragma macro in macros.nim |
02:45:51 | shashlick | Thanks |
02:48:24 | * | leorize_ quit (Ping timeout: 260 seconds) |
02:49:31 | * | fjellfras quit (Ping timeout: 246 seconds) |
02:49:54 | * | leorize_ joined #nim |
02:50:18 | FromGitter | <Obround> How do you make a string multi-typed? By that I mean it will accept both an int and string? |
02:55:22 | FromGitter | <kayabaNerve> Nim has typeclasses, yet it doesn't name union types. |
03:02:22 | FromGitter | <Varriount> Object variants |
03:02:52 | FromGitter | <Varriount> @Obround @kayabaNerve Look at "object variants" in the manual. |
03:03:25 | FromGitter | <Varriount> That's how JSON and AST nodes are constructed. |
03:06:14 | * | lritter quit (Ping timeout: 244 seconds) |
03:07:11 | * | lritter joined #nim |
03:08:45 | * | fjellfras joined #nim |
03:10:17 | FromGitter | <kayabaNerve> Those aren't union types. |
03:10:25 | FromGitter | <kayabaNerve> *doesn't have union types. |
03:11:12 | FromGitter | <kayabaNerve> Though it may be enough for this case, |
03:58:03 | FromGitter | <Obround> How do you auto-type `types` in Nim? This won't work: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d32914bd1cceb1a8d8b2aa5] |
04:00:04 | leorize_ | !eval echo """"""""" |
04:00:08 | NimBot | """ |
04:00:20 | leorize_ | TIL that's an actual thing |
04:00:27 | leorize_ | confuses syntax highlighter though |
04:00:31 | * | leorize_ is now known as leorize |
04:12:14 | * | fjellfras quit (Ping timeout: 272 seconds) |
04:13:29 | * | fjellfras joined #nim |
04:33:38 | * | fjellfras quit (Ping timeout: 248 seconds) |
04:52:12 | FromGitter | <awr1> @Obround do you want generics or do you want a root type's field types to be deduced by its usage in a ctor |
04:54:57 | FromGitter | <awr1> is there even a language that allows you to do the second thing that isn't some bizarro functional language |
04:57:25 | * | dgreen joined #nim |
05:02:45 | FromGitter | <Obround> @awr1 -- I want something like Genrics... |
05:04:44 | FromGitter | <awr1> you probably won't be too happy with this |
05:04:52 | FromGitter | <awr1> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d32a0f38fe53b671da3b8d5] |
05:05:01 | FromGitter | <awr1> future nim will have better inferrence |
05:05:17 | FromGitter | <awr1> well |
05:07:12 | FromGitter | <awr1> at the very least i imagine future nim will allow you to omit the generic params at the ctor site |
05:11:18 | * | laaron joined #nim |
05:28:00 | FromGitter | <Obround> I would prefer a better inference, but this would work... |
05:34:34 | * | theelous3 quit (Ping timeout: 272 seconds) |
05:49:55 | * | solitudesf joined #nim |
05:51:18 | * | pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
05:51:55 | * | pbb joined #nim |
05:52:57 | * | pbb quit (Client Quit) |
05:53:14 | * | pbb joined #nim |
06:08:02 | * | solitudesf quit (Ping timeout: 248 seconds) |
06:13:25 | * | hohlerde quit (Quit: Idle kick: User has been idle for 30 days.) |
06:19:05 | * | MrAxilus[m] left #nim ("Kicked by @appservice-irc:matrix.org : Idle kick: User has been idle for 30 days.") |
06:22:01 | * | lqdev[m] quit (Quit: Idle kick: User has been idle for 30 days.) |
06:41:15 | * | jjido joined #nim |
06:43:03 | * | Manny8888 quit (Quit: Idle kick: User has been idle for 30 days.) |
06:48:37 | * | zeroDotTwenty[m] quit (Quit: Idle kick: User has been idle for 30 days.) |
06:54:00 | FromGitter | <awr1> @Obround so it turns out you will get more generic inference out of procs |
06:54:10 | FromGitter | <awr1> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d32ba92f9af9a44ed5a77c9] |
06:57:32 | * | absolutejam2 joined #nim |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:01:45 | * | brakmic joined #nim |
07:02:37 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
07:04:07 | FromGitter | <awr1> i went ahead and made an issue https://github.com/nim-lang/Nim/issues/11799 |
07:04:20 | * | brakmic_ joined #nim |
07:04:34 | * | gmpreussner joined #nim |
07:07:51 | * | brakmic__ joined #nim |
07:08:18 | * | brakmic quit (Ping timeout: 248 seconds) |
07:10:37 | * | brakmic_ quit (Ping timeout: 246 seconds) |
07:15:00 | * | dgreen quit (Remote host closed the connection) |
07:17:28 | * | nsf joined #nim |
07:22:31 | * | brakmic__ quit () |
07:32:59 | * | hoijui joined #nim |
07:33:54 | * | absolutejam2 quit (Ping timeout: 248 seconds) |
07:50:04 | * | vegai left #nim (#nim) |
07:52:47 | * | SenasOzys joined #nim |
08:09:02 | * | absolutejam2 joined #nim |
08:21:45 | * | actuallybatman quit (Ping timeout: 258 seconds) |
08:22:57 | * | absolutejam2 quit (Ping timeout: 245 seconds) |
08:25:48 | * | brett-soric joined #nim |
08:25:58 | * | nsf quit (Quit: WeeChat 2.4) |
08:38:58 | * | SenasOzys quit (Ping timeout: 248 seconds) |
08:56:32 | * | lqdev[m] joined #nim |
08:57:27 | * | krux02 joined #nim |
09:15:55 | * | brett-soric left #nim (#nim) |
09:17:22 | * | crem quit (Ping timeout: 268 seconds) |
09:19:12 | * | crem joined #nim |
09:45:53 | * | crem quit (Read error: Connection reset by peer) |
09:47:39 | * | crem joined #nim |
09:53:32 | * | krux02 quit (Remote host closed the connection) |
09:55:53 | * | solitudesf joined #nim |
10:05:28 | * | hoijui quit (Ping timeout: 245 seconds) |
10:06:55 | FromGitter | <mratsim> What's the naming convention in the compiler for head/tail vs top/bottom on common data structures? |
10:10:24 | FromGitter | <alehander42> execShellCmd: does it redirect input |
10:13:39 | leorize | it's a thin wrapper over system() |
10:34:46 | FromGitter | <alehander42> yeah |
10:40:01 | FromGitter | <mratsim> @narimiran, checkout the drop down list on the right side of this programming language, this is quite nice to showcase many aspects of a language in a restricted space: https://flix.dev/ |
10:45:10 | Zevv | Too Many Programming Languages! Must...choose...must...pick...one... |
10:47:28 | * | MrAxilus[m] joined #nim |
11:22:28 | * | nsf joined #nim |
11:22:33 | * | literal quit (Ping timeout: 245 seconds) |
11:23:13 | * | literal joined #nim |
11:28:22 | * | solitudesf quit (Ping timeout: 245 seconds) |
11:31:46 | * | lritter quit (Ping timeout: 248 seconds) |
11:37:24 | lqdev[m] | just use Nim lol |
11:40:56 | * | hoijui joined #nim |
11:43:19 | * | solitudesf joined #nim |
11:48:51 | * | krux02 joined #nim |
11:58:43 | * | actuallybatman joined #nim |
12:07:07 | * | actuallybatman quit (Ping timeout: 245 seconds) |
12:09:41 | * | Vladar joined #nim |
12:12:19 | * | zahary quit (Quit: Connection closed for inactivity) |
12:13:33 | * | actuallybatman joined #nim |
12:26:24 | Calinou | as choosenim says, "Choose a job. Choose a mortgage. Choose life. Choose Nim." |
12:28:32 | * | krux02 quit (Remote host closed the connection) |
12:31:47 | FromGitter | <akavel> Hi! Why the 0.20.2 changed the mode of stdin/stdout to non-binary? |
12:31:52 | FromGitter | <akavel> (on Windows)? |
13:01:54 | * | dddddd joined #nim |
13:02:20 | * | nsf quit (Quit: WeeChat 2.4) |
13:14:05 | * | theelous3 joined #nim |
13:29:12 | * | actuallybatman quit (Ping timeout: 245 seconds) |
13:49:49 | * | gangstacat quit (Ping timeout: 252 seconds) |
14:03:03 | * | hoijui quit (Ping timeout: 264 seconds) |
14:08:34 | * | gangstacat joined #nim |
14:30:05 | * | hoijui joined #nim |
14:31:05 | * | PrimHelios_ joined #nim |
14:32:19 | * | PrimHelios quit (Ping timeout: 246 seconds) |
14:54:35 | * | hoijui quit (Ping timeout: 250 seconds) |
15:11:32 | leorize | akavel: there's a problem with non-english input/output on windows I think |
15:11:50 | leorize | mainly due to the fact that windows console i/o is not the same as *nix |
15:12:38 | * | aexoxea joined #nim |
15:34:59 | * | aexoxea quit (Quit: Goodbye!) |
15:58:45 | disruptek | building this openapi -> nim parser/generator on-stream. |
16:00:31 | * | solitudesf quit (Remote host closed the connection) |
16:05:41 | blackbeard420 | got a link disruptek ? |
16:06:03 | disruptek | https://twitch.tv/#disruptek probably. |
16:06:34 | disruptek | mostly transcribing schema atm but there are going to be a couple problems to sort out that i'm sure i could use an idea or two on. :-) |
16:13:56 | leorize | "intended for mature audience"? |
16:14:02 | disruptek | fuck yeah. |
16:14:25 | disruptek | but, i don't have a mic, so no cursing atm. |
16:15:32 | * | solitudesf joined #nim |
16:16:19 | leorize | how can you navigate those tabs? |
16:16:28 | leorize | get a browser that can actually handle tabs, like firefox |
16:16:29 | disruptek | it's absolute madness, i know. |
16:16:46 | disruptek | ctrl-pgup|pgdn |
16:16:55 | disruptek | is that so hard? |
16:17:18 | FromGitter | <zacharycarter> firefox ends up looking like that as well for me |
16:17:28 | FromGitter | <zacharycarter> if I use it for long enough during a programming session |
16:17:38 | FromGitter | <zacharycarter> becomes like a beautiful chaos |
16:17:46 | disruptek | i blow it up every so often. |
16:18:01 | leorize | I did some tweaks on mine so the min tab size is big enough to read |
16:18:31 | FromGitter | <zacharycarter> you know what firefox feature I love? side view |
16:18:53 | FromGitter | <zacharycarter> it's kind of amazing |
16:19:45 | disruptek | what's it do for me? |
16:19:48 | leorize | I... use a tiling window manager |
16:20:23 | leorize | disruptek: it's tiling, in FF |
16:20:26 | FromGitter | <zacharycarter> no |
16:20:30 | FromGitter | <zacharycarter> it's split screen |
16:20:43 | FromGitter | <zacharycarter> in a single browser window |
16:21:13 | disruptek | i added gaps because i think it makes it easier to see my windows, but that was only for streaming purposes. i usually run gapless. |
16:21:13 | FromGitter | <zacharycarter> (https://files.gitter.im/nim-lang/Nim/jTsg/side_view.png) |
16:21:43 | disruptek | gah, that looks terrible to me. |
16:22:42 | leorize | I love the time when FF actually have cool extensions |
16:23:02 | blackbeard420 | what windo manager yall use? |
16:23:08 | leorize | i3 here |
16:23:10 | blackbeard420 | same |
16:23:30 | disruptek | sway, which is i3 for wayland. |
16:24:04 | leorize | until color correction is on wayland, I can't use sway |
16:24:04 | blackbeard420 | yeah i run sway also. runs perfect except for some minor issues with the steam client for me |
16:25:26 | leorize | disruptek: is that nim.nvim? :) |
16:25:56 | disruptek | i think so. |
16:26:14 | disruptek | looks good in the wild, eh? |
16:27:19 | leorize | not every time I got to see someone else using it :) |
16:27:29 | disruptek | always a cool feeling. :-) |
16:27:33 | leorize | but I guess you don't use auto-complete? |
16:27:44 | disruptek | i found it too annoying. in my face. |
16:37:14 | * | stefanos82 joined #nim |
16:44:41 | * | NimBot joined #nim |
16:53:38 | FromGitter | <mratsim> @zevv, so after a day on working on a multithreaded task scheduler, the only thing I have to show is a markdown with 300 lines of resources :P |
16:55:11 | leorize | disruptek: you can disable asyncomplete auto popup and call it on-demand instead |
16:55:44 | disruptek | yeah, wanna walk me through that? i may even have it setup that way. |
16:57:18 | leorize | only one line needed: let g:asyncomplete_auto_popup = 0 |
16:57:38 | leorize | in your nvim config |
16:57:48 | leorize | oh, you have it :p |
16:58:36 | leorize | the toggle is ctrl-space from what you've setup here |
16:58:37 | disruptek | dunno why i can't talk to you in the channel chat.. |
16:59:25 | disruptek | yeah, but it doesn't work. |
16:59:45 | leorize | only in insert mode |
17:00:18 | disruptek | nah. :-( |
17:02:04 | leorize | it does work for me though :/ |
17:02:36 | leorize | try with an empty nim file and try to complete 'echo'? |
17:03:16 | leorize | it has to be on disk for nimsuggest to run |
17:03:34 | disruptek | yeah but nah. |
17:03:55 | disruptek | maybe i disabled it elsewise. |
17:05:10 | leorize | have you configured nim.nvim completer for asyncomplete? |
17:05:29 | disruptek | dunno, i set this stuff up ages ago. |
17:06:01 | leorize | https://github.com/alaviss/nim.nvim#auto-completion |
17:06:29 | disruptek | i think i need to give my nvim<->python a tune-up. |
17:06:50 | leorize | I don't use python in my plugin |
17:07:02 | disruptek | yeah, but i think deoplete is whining about it. |
17:07:17 | leorize | oh, you're using deoplete as well? |
17:07:58 | leorize | it might be conflicting with asyncomplete |
17:08:13 | disruptek | nah, it's dead atm. |
17:08:38 | leorize | also check if you have the registration snippet for nim.nvim in your config |
17:08:40 | disruptek | sweet, it works again. |
17:08:43 | disruptek | thanks :-) |
17:10:38 | disruptek | wow, that transcriptions was a drag. |
17:12:54 | leorize | hmm, your stream is down? |
17:13:06 | leorize | it's showing live here but the player said "OFFLINE" |
17:14:04 | disruptek | neat, completion works great now, thanks again! |
17:14:12 | leorize | yay! |
17:14:22 | leorize | also your stream is up for me now :) |
17:14:46 | disruptek | yeah, i rebooted it. it's just ffmpeg, or a wayland grabber that pipes into same. |
17:14:58 | disruptek | point is, it drops for no apparent reason. |
17:22:40 | * | elrood joined #nim |
17:23:47 | leorize | disruptek: `io` is imported as part of `system` |
17:24:09 | disruptek | yeah, i had the type wrong. |
17:24:22 | * | absolutejam2 joined #nim |
17:25:40 | leorize | tip: instead of running nim check, try this |
17:25:53 | leorize | :let &makeprg="nim check $* %" |
17:25:57 | leorize | :make |
17:26:29 | disruptek | i just load it into :cw |
17:26:40 | disruptek | but, sometimes i like to see all my warnings. :-D |
17:27:01 | leorize | try the above :) |
17:27:05 | leorize | you'll like it |
17:27:47 | disruptek | takes me back to C days. |
17:34:57 | * | dgreen joined #nim |
17:36:17 | * | absolutejam2 quit (Ping timeout: 245 seconds) |
17:37:09 | Zevv | mratsim: well, that's a good start, show it! |
17:37:54 | Zevv | leorize: kudos for the nvimnimstuff, all works like a charm now. |
17:38:32 | leorize | woo! |
17:38:38 | Zevv | didn't get to try the autocomplete though |
17:39:29 | disruptek | you should. |
17:40:01 | Zevv | this is all too much for me. Today I event started using syntax highlighting - for the first time in my life |
17:40:04 | Zevv | I shouldn't overdo it |
17:40:09 | disruptek | lol |
17:41:11 | Zevv | leorize: ok, i installed asyncomplete and added the snippet - now what? |
17:41:30 | leorize | uhm... open a nim file and type? |
17:41:41 | disruptek | you can copy the vimrc from my screen if you want. |
17:42:35 | Zevv | Hm I should probably do something to enable or configure asyncomplete then. ctrl-n and cntrl-p still pops up the normal dropdown, nothing changed |
17:48:19 | Zevv | hm my expectations are probably wrong here :) |
17:48:37 | leorize | is it working? :P |
17:48:57 | Zevv | well I get a lot of suggestions, but they don't all make sense I guess |
17:49:27 | leorize | it will follow the code as you type |
17:50:00 | leorize | you can also configure asyncomplete to on-demand mode if the auto popup is too annoying |
17:50:19 | Zevv | If i have an object type with two fields a and b, and a variable `c` of this type, and I type 'echo c` my suggestions are not only `a` or `b` but also newStrLitNode or parseStmt and tons more |
17:50:41 | disruptek | those are all good suggestions for things to echo. :-) |
17:50:55 | leorize | Zevv: complain that to nimsuggest :p |
17:51:12 | Zevv | makes sense :) |
17:52:58 | * | FromGitter quit (Remote host closed the connection) |
17:52:58 | * | oprypin quit (Quit: Bye) |
17:53:18 | * | oprypin joined #nim |
17:53:28 | * | FromGitter joined #nim |
17:54:10 | leorize | Zevv: also, here's disruptek's stream if you feel like watching someone use nim.nvim :p https://twitch.tv/disruptek |
17:55:28 | Zevv | "The broadcaster indicated that the channel is intended for mature audiences. |
17:55:30 | Zevv | what? |
17:55:36 | Zevv | do you curse while coding? |
17:56:04 | disruptek | fuck yeah. |
17:56:54 | disruptek | taking a break to explain what i'm working on to an old person. |
17:57:24 | Zevv | hmmm :/ |
17:58:48 | disruptek | kinda tricky to explain what it is that this will do. o.O |
18:00:15 | Zevv | Yo dawg you got *too* many tabs there |
18:01:00 | disruptek | yeah, and it's slower when i'm streaming. :-( |
18:01:11 | disruptek | the price for a 4k display... |
18:01:38 | leorize | how much ram do you have to tank all those tabs? |
18:02:07 | disruptek | i dunno, but still 55gb free, so i should be okay. |
18:04:29 | disruptek | okay, it parses. now what. lol |
18:08:15 | Zevv | btw, did you solve your compile time yaml parsing? |
18:08:51 | disruptek | no, the tool won't be ct so it doesn't matter, i guess. just using yq which is yaml's version of jq. |
18:08:59 | Zevv | right |
18:09:22 | disruptek | first implementation doesn't matter so much; just get something working... ;-) |
18:17:39 | leorize | the proper multiline comment closing is `]#` |
18:17:49 | disruptek | lol |
18:18:20 | disruptek | maybe the service doesn't need to be stateful wrt init/shutdown? |
18:19:39 | disruptek | ah, no, because you may need to setup top-level values that default into the calls... so i guess there's a value in having everything hang off a context obj. |
18:20:00 | * | xet7 quit (Remote host closed the connection) |
18:27:58 | * | actuallybatman joined #nim |
18:27:58 | * | federico3 quit (Ping timeout: 245 seconds) |
18:28:08 | * | federico3 joined #nim |
18:28:26 | Zevv | bah the yaml spec is not what I'd call pretty |
18:28:46 | disruptek | i prefer it to json.... you don't? |
18:30:10 | Zevv | depends on what I'm doing. But I was looking into making a npeg extension to be able to handle meaningful whitespace, that should allow it to parse yaml. But yaml itself is pretty hairy, looking at the official docs |
18:30:52 | disruptek | the main thing is that it supports comments. |
18:31:20 | Zevv | that can make a difference, true |
18:31:54 | disruptek | i think it'd be pretty slick to parse yaml at ct into code objs, but without being able to bring the api up in your editor, i think it's a lot of sexy ct bs for no reason. |
18:32:24 | Zevv | oh true, it was just an experiment to see where I'd get stuck. |
18:32:47 | Zevv | but it seems that I got stuck on motivation looking at the spec. Having overeaten on indian curry also does not help |
18:32:47 | disruptek | yeah, someone will do it eventually. :-) |
18:33:26 | * | stefanos82 quit (Quit: Quitting for now...) |
18:41:51 | * | ng0 joined #nim |
18:46:59 | * | ng0 is now known as nikita |
18:47:16 | * | nikita is now known as ng0 |
19:02:02 | * | dgreen quit (Quit: Leaving...) |
19:09:14 | Zevv | well f__k this, imho YAML is a braindead mess full of ambiguities |
19:09:28 | disruptek | really? |
19:09:34 | disruptek | ambiguous? |
19:11:00 | Zevv | foo: yes -> { "foo": true } |
19:11:07 | Zevv | foo: 1.2 -> { "foo": 1.2 } |
19:11:11 | Zevv | foo: 1.2.3 -> { "foo": "1.2.3" } |
19:12:34 | disruptek | well, yes shouldn't be too hard, as a special token, right? |
19:13:06 | Zevv | well, 'ambiguities' is not the proper word, but let's called it "full of surprises". And the spec is just huge, really, it is messier then XML it seems |
19:15:32 | Zevv | http://stackoverflow.com/a/21699210/660921 :) |
19:15:57 | disruptek | oh, this recursion bug is due to converters. :-( |
19:16:42 | FromGitter | <awr1> yaml would be better if its spec wasn't as complicated |
19:16:55 | Zevv | but then it wouldn't be yaml, would it :) |
19:17:52 | FromGitter | <awr1> to me if you want a feature rich configuration markup system you might as well go with dhall |
19:18:13 | disruptek | i like it, too, people people don't like to having logic in their configs. |
19:18:21 | disruptek | ^but people. |
19:19:05 | FromGitter | <awr1> nim needs a dhall library |
19:19:25 | FromDiscord_ | <kodkuce> Still getting "Error: 'send_activation_mailIter' is not GC-safe as it accesses 'secret_jwt' which is a global using GC'ed memory" , proc send_activation_mail(id,email:string){.gcsafe, async.}= , switching to devl dident help |
19:19:48 | FromGitter | <awr1> i'm looking at the dhall docs again and ugh i hate it when people do that comma at the begin-of-line thing |
19:20:17 | FromDiscord_ | <kodkuce> any suggestion what to do , this code worked in 19.something |
19:20:33 | Zevv | awr1: it makes me want to do monads! |
19:21:47 | disruptek | kodkuce: downgrade and wait for a fix in devel? |
19:24:04 | FromGitter | <awr1> i like how concise the json spec is but the graphs are confusing |
19:24:10 | FromGitter | <awr1> i've never seen grammars represented in that way before |
19:24:25 | FromGitter | <awr1> https://www.json.org/ |
19:24:55 | FromGitter | <awr1> meh |
19:25:05 | FromGitter | <awr1> maybe they're less confusing now that i'm looking closer at them |
19:25:16 | disruptek | railroad graphs are cute, dude. |
19:25:47 | disruptek | i think there's a cool regexp->railroad out there in js that outputs svg. |
19:26:09 | disruptek | (if you really wanna cook your noodle) |
19:29:32 | Zevv | I can only do graphviz dots :( |
19:29:35 | FromDiscord_ | <kodkuce> what was version before 0.20 |
19:29:43 | FromDiscord_ | <kodkuce> 19.6 or what i frogot |
19:29:47 | Zevv | dhall looks fine, but it is too haskelly |
19:30:17 | disruptek | not an accident; that's where it's from... |
19:31:32 | Zevv | I'll see if i can whip up a parser at least, the interpolation and function stuff can come later |
19:32:09 | disruptek | really? wow, that would be super cool. |
19:34:04 | Zevv | oh https://github.com/dhall-lang/dhall-lang/blob/master/standard/README.md |
19:34:23 | Zevv | meandmybigmouth |
19:49:45 | * | shomodj joined #nim |
19:56:13 | disruptek | looks pretty straightforward. |
19:56:16 | * | disruptek cackles. |
20:00:07 | disruptek | yaml->json is producing json that nim cannot parse. |
20:02:03 | * | xet7 joined #nim |
20:03:09 | * | krux02 joined #nim |
20:21:01 | * | hoijui joined #nim |
20:29:16 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
20:30:39 | * | hoijui quit (Ping timeout: 264 seconds) |
20:37:56 | * | nsf joined #nim |
21:18:55 | * | shomodj quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
21:24:21 | * | shomodj joined #nim |
21:24:21 | * | shomodj quit (Client Quit) |
21:35:23 | * | shomodj joined #nim |
21:36:53 | * | sschwarzer joined #nim |
21:38:26 | * | elrood quit (Remote host closed the connection) |
21:41:54 | sschwarzer | I just sent a pull request for the Nim playground :-) |
21:41:57 | sschwarzer | https://github.com/zacharycarter/nim-playground/pull/5 |
21:43:52 | * | solitudesf quit (Ping timeout: 246 seconds) |
21:45:10 | * | lritter joined #nim |
21:45:41 | FromDiscord_ | <!!Liam is Unlucky> how do i convert to a uint, I know there is toU32 but what about just Uint |
21:45:41 | FromDiscord_ | <!!Liam is Unlucky> e.g ```nim |
21:45:42 | FromDiscord_ | <!!Liam is Unlucky> let die2: uint = rand(6).toU32() + 1'u |
21:45:42 | FromDiscord_ | <!!Liam is Unlucky> ``` |
21:46:03 | FromDiscord_ | <!!Liam is Unlucky> but not u32 |
21:46:19 | * | nsf quit (Quit: WeeChat 2.4) |
21:47:13 | lqdev[m] | um https://nim-lang.github.io/Nim/sequtils.html#filterIt.t%2Cuntyped%2Cuntyped (see examples) iirc you can't use templates with the dot notation, right? |
21:47:55 | disruptek | you can, there are just scenarios where they break. |
21:49:07 | disruptek | runnableExamples are part of the test suite, so if it's in an example, it works with the associated docs. |
21:58:38 | disruptek | er, the associated compiler. |
21:59:23 | disruptek | ah, typedescs are only usable in the vm? |
22:05:24 | * | sschwarzer left #nim (#nim) |
22:06:54 | * | Vladar quit (Remote host closed the connection) |
22:10:28 | * | clyybber joined #nim |
22:10:48 | * | sagax quit (Ping timeout: 272 seconds) |
22:11:33 | FromGitter | <mratsim> what would be there type in the silicon? :p |
22:13:43 | disruptek | yeah, it's a problem. :-) |
22:14:00 | disruptek | i mean, the error message was ridiculous. |
22:18:50 | clyybber | mratsim: Hey, I see you referenced the new destructor spec in your multithreaded runtime experiments |
22:19:11 | clyybber | just a heads up, this new spec isn't actually fully implemented yet |
22:19:28 | clyybber | well, it IS but its still buggy and not merged yet |
22:19:51 | FromGitter | <mratsim> the destructors part is implemented though? I think I only need sink. |
22:20:01 | FromGitter | <mratsim> The owned ref I don't need it |
22:20:04 | clyybber | sink is what is gonna change |
22:20:10 | FromGitter | <mratsim> ugh |
22:20:14 | clyybber | if you mean =sink |
22:20:46 | clyybber | or do you mean sink parameters? |
22:21:06 | FromGitter | <mratsim> yes |
22:21:08 | FromGitter | <mratsim> like these |
22:21:23 | FromGitter | <mratsim> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d3393e3d44431099264d09b] |
22:22:02 | clyybber | Ah, ok. Yeah those are gonna be passed by ref now, but you aren't really gonna notice this |
22:22:25 | clyybber | Btw if you want to live on the edge you can try the new spec out: https://github.com/nim-lang/Nim/pull/11248 |
22:22:51 | FromGitter | <mratsim> I'm already on the edge of atomics :p |
22:22:58 | clyybber | but don't use owned types in tuples yet, I'm still fixing those :p |
22:23:11 | FromGitter | <mratsim> and implementing my own allocator so ... |
22:24:04 | disruptek | i'm getting a compiler bug just from splitting code across files. |
22:24:43 | FromGitter | <mratsim> owned type, for the moment I don't use those, but I saw a promising PhD thesis on Channel-based work stealing scheduler that apparently exhibits the same performance (+- 2%) as state-of-the-art on a variety of workload on 48-cores (workloads include high perf computing workloads) |
22:25:17 | disruptek | what kinda channels? |
22:25:26 | clyybber | Sounds really interesting |
22:25:50 | clyybber | Work stealing stuff in general is |
22:25:53 | FromGitter | <mratsim> https://epub.uni-bayreuth.de/2990/1/main_final.pdf |
22:26:02 | FromGitter | <mratsim> @disruptek ^ |
22:26:09 | FromGitter | <mratsim> I'm drowning in papers :p |
22:26:12 | FromGitter | <mratsim> and implementation |
22:26:41 | FromGitter | <mratsim> you might be interested in that one @disruptek: https://github.com/GameTechDev/GTS-GamesTaskScheduler |
22:27:19 | clyybber | mratsim: Btw, do you know if theres a efficient bitset implementation with atomic single bit operations? |
22:27:36 | disruptek | i know nim's channels are out of favor, but i've been thinking about a new channels system for awhile. really like what i see in clojure; i want that for us. |
22:28:27 | FromGitter | <mratsim> I don't see how you could do that @clyybber, you need shift and and-ing/xor-ing all over the place to set bit |
22:29:32 | clyybber | mratsim: Isn't there the BMI instruction set for x86 tho? Sadly I cant find any resources on wether those OPs are atomic or not |
22:29:46 | FromGitter | <mratsim> so you would need to prepare the result and compare-and-swap, but you would have as much contention as with a lock I think |
22:30:05 | FromGitter | <mratsim> a queue comparatively, you consume from one end and produce from the other |
22:30:12 | * | leorize quit (Remote host closed the connection) |
22:30:53 | * | leorize joined #nim |
22:32:20 | clyybber | Hmm, yeah. I have an algorithm (an extension of WFC) that could be parrallelized really well, with an efficient and atomic bitset implementation |
22:39:49 | FromGitter | <mratsim> Seems like I stand corrected: https://github.com/facebook/folly/blob/master/folly/AtomicBitSet.h |
22:40:00 | FromGitter | <mratsim> https://gist.github.com/riccardomurri/1540995 |
22:40:28 | FromGitter | <mratsim> the second one uses a mutex though |
22:42:19 | clyybber | Huh, that first one looks interesting. Thanks mratsim |
23:05:41 | shashlick | @disruptek - your twitch stream wasn't saved 😞 |
23:06:05 | disruptek | yeah, i don't bother saving anything. plenty more garbage where that came from. :-) |
23:06:38 | shashlick | hmm |
23:06:50 | shashlick | er43OIU*() |
23:07:02 | shashlick | 32i1u 439 34- 138 |
23:07:09 | disruptek | you don't say... |
23:07:41 | shashlick | 311!#!@#1QWE! |
23:08:50 | disruptek | here's the code so far: https://github.com/disruptek/openapi |
23:09:31 | disruptek | to get it to compile, you have to concatenate all the files. don't ask. |
23:11:55 | shashlick | sorry! neighbor's kid |
23:14:49 | disruptek | damn, your neighbors are pretty close, huh? |
23:15:18 | shashlick | if they visit, ya 😛 |
23:17:01 | FromGitter | <Varriount> Is anyone able to forward-declare iterators? |
23:17:18 | FromGitter | <Varriount> The compiler doesn't seem to be able to detect my implementation. |
23:18:09 | shashlick | did you try `{.experimental: "codeReordering".}` |
23:19:30 | FromGitter | <mratsim> @disruptek use include instead of imports then |
23:19:53 | disruptek | you're blowin' my mind right now. |
23:20:24 | disruptek | sadly, that wasn't it. |
23:21:42 | FromGitter | <mratsim> btw, "typed" is a fishy parameter identifier |
23:21:58 | disruptek | yeah, i should rename it. |
23:22:18 | disruptek | this is a rough cut. doesn't do anything but validate all the apis. |
23:23:03 | * | shomodj quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
23:23:18 | disruptek | the idea was to be able to describe the format easily; next i have to figure out how to compose the code and make up types. :-) |
23:23:35 | FromGitter | <Varriount> shashlick: Hm, that worked. I would've liked it to work without using experimental features. |
23:24:12 | disruptek | i assume you tried an earlier declaration w/o the implementation? |
23:24:21 | FromGitter | <Varriount> disruptek: Yes |
23:24:47 | FromGitter | <Varriount> I even put the implementation right after the forward declaration, and the compiler still yelled at me. |
23:25:17 | disruptek | that makes no sense. :-/ |
23:26:09 | disruptek | my bug has something do with weird call syntax, like the compiler doesn't know how to resolve proc args. |
23:27:36 | FromGitter | <Varriount> https://gist.github.com/Varriount/b0356f12e572ad79b78350d4be5941d1 |
23:29:38 | disruptek | hmm, that's odd alright. |
23:38:46 | shashlick | how do you get the size of an object type in a macro? |
23:38:58 | shashlick | i have a nimnode of the object instance but wondering how to get the original type |
23:40:50 | disruptek | my bug was due to tables magic. will take this to the next level tomorrow. |
23:40:55 | disruptek | thanks for the help, peeps. |
23:45:51 | * | krux02_ joined #nim |
23:47:49 | * | clyybber quit (Quit: WeeChat 2.5) |
23:48:39 | * | krux02 quit (Ping timeout: 264 seconds) |
23:54:53 | * | arecaceae quit (Remote host closed the connection) |
23:55:20 | * | arecaceae joined #nim |
23:59:25 | * | krux02_ quit (Remote host closed the connection) |