<< 20-07-2019 >>

00:05:20*ng0 quit (Quit: Alexa, when is the end of world?)
00:20:51lqdev[m]so, umm, I just made this… thing https://github.com/liquid600pgm/mesadump
00:21:22lqdev[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:18FromGitter<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:50shashlickhow do you loop over the fields of an object in a macro?
01:59:04FromGitter<brentp> does nim rely on csources once it's built? that's adding 1.1GB to my docker image.
02:11:42shashlickNo you can remove it
02:21:08FromGitter<brentp> cheers.
02:24:29FromGitter<Varriount> shashlick: Hm, well, one way would be to get the object' s type
02:24:36FromGitter<Varriount> (type definition)
02:25:01FromGitter<Varriount> shashlick: Look at the getpragma macro in macros.nim
02:45:51shashlickThanks
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:18FromGitter<Obround> How do you make a string multi-typed? By that I mean it will accept both an int and string?
02:55:22FromGitter<kayabaNerve> Nim has typeclasses, yet it doesn't name union types.
03:02:22FromGitter<Varriount> Object variants
03:02:52FromGitter<Varriount> @Obround @kayabaNerve Look at "object variants" in the manual.
03:03:25FromGitter<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:17FromGitter<kayabaNerve> Those aren't union types.
03:10:25FromGitter<kayabaNerve> *doesn't have union types.
03:11:12FromGitter<kayabaNerve> Though it may be enough for this case,
03:58:03FromGitter<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:04leorize_!eval echo """""""""
04:00:08NimBot"""
04:00:20leorize_TIL that's an actual thing
04:00:27leorize_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:12FromGitter<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:57FromGitter<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:45FromGitter<Obround> @awr1 -- I want something like Genrics...
05:04:44FromGitter<awr1> you probably won't be too happy with this
05:04:52FromGitter<awr1> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d32a0f38fe53b671da3b8d5]
05:05:01FromGitter<awr1> future nim will have better inferrence
05:05:17FromGitter<awr1> well
05:07:12FromGitter<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:00FromGitter<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:00FromGitter<awr1> @Obround so it turns out you will get more generic inference out of procs
06:54:10FromGitter<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:07FromGitter<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:55FromGitter<mratsim> What's the naming convention in the compiler for head/tail vs top/bottom on common data structures?
10:10:24FromGitter<alehander42> execShellCmd: does it redirect input
10:13:39leorizeit's a thin wrapper over system()
10:34:46FromGitter<alehander42> yeah
10:40:01FromGitter<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:10ZevvToo 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:24lqdev[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:24Calinouas choosenim says, "Choose a job. Choose a mortgage. Choose life. Choose Nim."
12:28:32*krux02 quit (Remote host closed the connection)
12:31:47FromGitter<akavel> Hi! Why the 0.20.2 changed the mode of stdin/stdout to non-binary?
12:31:52FromGitter<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:32leorizeakavel: there's a problem with non-english input/output on windows I think
15:11:50leorizemainly 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:45disruptekbuilding this openapi -> nim parser/generator on-stream.
16:00:31*solitudesf quit (Remote host closed the connection)
16:05:41blackbeard420got a link disruptek ?
16:06:03disruptekhttps://twitch.tv/#disruptek probably.
16:06:34disruptekmostly 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:56leorize"intended for mature audience"?
16:14:02disruptekfuck yeah.
16:14:25disruptekbut, i don't have a mic, so no cursing atm.
16:15:32*solitudesf joined #nim
16:16:19leorizehow can you navigate those tabs?
16:16:28leorizeget a browser that can actually handle tabs, like firefox
16:16:29disruptekit's absolute madness, i know.
16:16:46disruptekctrl-pgup|pgdn
16:16:55disruptekis that so hard?
16:17:18FromGitter<zacharycarter> firefox ends up looking like that as well for me
16:17:28FromGitter<zacharycarter> if I use it for long enough during a programming session
16:17:38FromGitter<zacharycarter> becomes like a beautiful chaos
16:17:46disrupteki blow it up every so often.
16:18:01leorizeI did some tweaks on mine so the min tab size is big enough to read
16:18:31FromGitter<zacharycarter> you know what firefox feature I love? side view
16:18:53FromGitter<zacharycarter> it's kind of amazing
16:19:45disruptekwhat's it do for me?
16:19:48leorizeI... use a tiling window manager
16:20:23leorizedisruptek: it's tiling, in FF
16:20:26FromGitter<zacharycarter> no
16:20:30FromGitter<zacharycarter> it's split screen
16:20:43FromGitter<zacharycarter> in a single browser window
16:21:13disrupteki 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:13FromGitter<zacharycarter> (https://files.gitter.im/nim-lang/Nim/jTsg/side_view.png)
16:21:43disruptekgah, that looks terrible to me.
16:22:42leorizeI love the time when FF actually have cool extensions
16:23:02blackbeard420what windo manager yall use?
16:23:08leorizei3 here
16:23:10blackbeard420same
16:23:30disrupteksway, which is i3 for wayland.
16:24:04leorizeuntil color correction is on wayland, I can't use sway
16:24:04blackbeard420yeah i run sway also. runs perfect except for some minor issues with the steam client for me
16:25:26leorizedisruptek: is that nim.nvim? :)
16:25:56disrupteki think so.
16:26:14disrupteklooks good in the wild, eh?
16:27:19leorizenot every time I got to see someone else using it :)
16:27:29disruptekalways a cool feeling. :-)
16:27:33leorizebut I guess you don't use auto-complete?
16:27:44disrupteki found it too annoying. in my face.
16:37:14*stefanos82 joined #nim
16:44:41*NimBot joined #nim
16:53:38FromGitter<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:11leorizedisruptek: you can disable asyncomplete auto popup and call it on-demand instead
16:55:44disruptekyeah, wanna walk me through that? i may even have it setup that way.
16:57:18leorizeonly one line needed: let g:asyncomplete_auto_popup = 0
16:57:38leorizein your nvim config
16:57:48leorizeoh, you have it :p
16:58:36leorizethe toggle is ctrl-space from what you've setup here
16:58:37disruptekdunno why i can't talk to you in the channel chat..
16:59:25disruptekyeah, but it doesn't work.
16:59:45leorizeonly in insert mode
17:00:18disrupteknah. :-(
17:02:04leorizeit does work for me though :/
17:02:36leorizetry with an empty nim file and try to complete 'echo'?
17:03:16leorizeit has to be on disk for nimsuggest to run
17:03:34disruptekyeah but nah.
17:03:55disruptekmaybe i disabled it elsewise.
17:05:10leorizehave you configured nim.nvim completer for asyncomplete?
17:05:29disruptekdunno, i set this stuff up ages ago.
17:06:01leorizehttps://github.com/alaviss/nim.nvim#auto-completion
17:06:29disrupteki think i need to give my nvim<->python a tune-up.
17:06:50leorizeI don't use python in my plugin
17:07:02disruptekyeah, but i think deoplete is whining about it.
17:07:17leorizeoh, you're using deoplete as well?
17:07:58leorizeit might be conflicting with asyncomplete
17:08:13disrupteknah, it's dead atm.
17:08:38leorizealso check if you have the registration snippet for nim.nvim in your config
17:08:40disrupteksweet, it works again.
17:08:43disruptekthanks :-)
17:10:38disruptekwow, that transcriptions was a drag.
17:12:54leorizehmm, your stream is down?
17:13:06leorizeit's showing live here but the player said "OFFLINE"
17:14:04disruptekneat, completion works great now, thanks again!
17:14:12leorizeyay!
17:14:22leorizealso your stream is up for me now :)
17:14:46disruptekyeah, i rebooted it. it's just ffmpeg, or a wayland grabber that pipes into same.
17:14:58disruptekpoint is, it drops for no apparent reason.
17:22:40*elrood joined #nim
17:23:47leorizedisruptek: `io` is imported as part of `system`
17:24:09disruptekyeah, i had the type wrong.
17:24:22*absolutejam2 joined #nim
17:25:40leorizetip: instead of running nim check, try this
17:25:53leorize:let &makeprg="nim check $* %"
17:25:57leorize:make
17:26:29disrupteki just load it into :cw
17:26:40disruptekbut, sometimes i like to see all my warnings. :-D
17:27:01leorizetry the above :)
17:27:05leorizeyou'll like it
17:27:47disruptektakes me back to C days.
17:34:57*dgreen joined #nim
17:36:17*absolutejam2 quit (Ping timeout: 245 seconds)
17:37:09Zevvmratsim: well, that's a good start, show it!
17:37:54Zevvleorize: kudos for the nvimnimstuff, all works like a charm now.
17:38:32leorizewoo!
17:38:38Zevvdidn't get to try the autocomplete though
17:39:29disruptekyou should.
17:40:01Zevvthis is all too much for me. Today I event started using syntax highlighting - for the first time in my life
17:40:04ZevvI shouldn't overdo it
17:40:09disrupteklol
17:41:11Zevvleorize: ok, i installed asyncomplete and added the snippet - now what?
17:41:30leorizeuhm... open a nim file and type?
17:41:41disruptekyou can copy the vimrc from my screen if you want.
17:42:35ZevvHm 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:19Zevvhm my expectations are probably wrong here :)
17:48:37leorizeis it working? :P
17:48:57Zevvwell I get a lot of suggestions, but they don't all make sense I guess
17:49:27leorizeit will follow the code as you type
17:50:00leorizeyou can also configure asyncomplete to on-demand mode if the auto popup is too annoying
17:50:19ZevvIf 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:41disruptekthose are all good suggestions for things to echo. :-)
17:50:55leorizeZevv: complain that to nimsuggest :p
17:51:12Zevvmakes 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:10leorizeZevv: also, here's disruptek's stream if you feel like watching someone use nim.nvim :p https://twitch.tv/disruptek
17:55:28Zevv"The broadcaster indicated that the channel is intended for mature audiences.
17:55:30Zevvwhat?
17:55:36Zevvdo you curse while coding?
17:56:04disruptekfuck yeah.
17:56:54disruptektaking a break to explain what i'm working on to an old person.
17:57:24Zevvhmmm :/
17:58:48disruptekkinda tricky to explain what it is that this will do. o.O
18:00:15ZevvYo dawg you got *too* many tabs there
18:01:00disruptekyeah, and it's slower when i'm streaming. :-(
18:01:11disruptekthe price for a 4k display...
18:01:38leorizehow much ram do you have to tank all those tabs?
18:02:07disrupteki dunno, but still 55gb free, so i should be okay.
18:04:29disruptekokay, it parses. now what. lol
18:08:15Zevvbtw, did you solve your compile time yaml parsing?
18:08:51disruptekno, 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:59Zevvright
18:09:22disruptekfirst implementation doesn't matter so much; just get something working... ;-)
18:17:39leorizethe proper multiline comment closing is `]#`
18:17:49disrupteklol
18:18:20disruptekmaybe the service doesn't need to be stateful wrt init/shutdown?
18:19:39disruptekah, 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:26Zevvbah the yaml spec is not what I'd call pretty
18:28:46disrupteki prefer it to json.... you don't?
18:30:10Zevvdepends 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:52disruptekthe main thing is that it supports comments.
18:31:20Zevvthat can make a difference, true
18:31:54disrupteki 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:24Zevvoh true, it was just an experiment to see where I'd get stuck.
18:32:47Zevvbut it seems that I got stuck on motivation looking at the spec. Having overeaten on indian curry also does not help
18:32:47disruptekyeah, 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:14Zevvwell f__k this, imho YAML is a braindead mess full of ambiguities
19:09:28disruptekreally?
19:09:34disruptekambiguous?
19:11:00Zevvfoo: yes -> { "foo": true }
19:11:07Zevvfoo: 1.2 -> { "foo": 1.2 }
19:11:11Zevvfoo: 1.2.3 -> { "foo": "1.2.3" }
19:12:34disruptekwell, yes shouldn't be too hard, as a special token, right?
19:13:06Zevvwell, '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:32Zevvhttp://stackoverflow.com/a/21699210/660921 :)
19:15:57disruptekoh, this recursion bug is due to converters. :-(
19:16:42FromGitter<awr1> yaml would be better if its spec wasn't as complicated
19:16:55Zevvbut then it wouldn't be yaml, would it :)
19:17:52FromGitter<awr1> to me if you want a feature rich configuration markup system you might as well go with dhall
19:18:13disrupteki like it, too, people people don't like to having logic in their configs.
19:18:21disruptek^but people.
19:19:05FromGitter<awr1> nim needs a dhall library
19:19:25FromDiscord_<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:48FromGitter<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:17FromDiscord_<kodkuce> any suggestion what to do , this code worked in 19.something
19:20:33Zevvawr1: it makes me want to do monads!
19:21:47disruptekkodkuce: downgrade and wait for a fix in devel?
19:24:04FromGitter<awr1> i like how concise the json spec is but the graphs are confusing
19:24:10FromGitter<awr1> i've never seen grammars represented in that way before
19:24:25FromGitter<awr1> https://www.json.org/
19:24:55FromGitter<awr1> meh
19:25:05FromGitter<awr1> maybe they're less confusing now that i'm looking closer at them
19:25:16disruptekrailroad graphs are cute, dude.
19:25:47disrupteki think there's a cool regexp->railroad out there in js that outputs svg.
19:26:09disruptek(if you really wanna cook your noodle)
19:29:32ZevvI can only do graphviz dots :(
19:29:35FromDiscord_<kodkuce> what was version before 0.20
19:29:43FromDiscord_<kodkuce> 19.6 or what i frogot
19:29:47Zevvdhall looks fine, but it is too haskelly
19:30:17disrupteknot an accident; that's where it's from...
19:31:32ZevvI'll see if i can whip up a parser at least, the interpolation and function stuff can come later
19:32:09disruptekreally? wow, that would be super cool.
19:34:04Zevvoh https://github.com/dhall-lang/dhall-lang/blob/master/standard/README.md
19:34:23Zevvmeandmybigmouth
19:49:45*shomodj joined #nim
19:56:13disrupteklooks pretty straightforward.
19:56:16*disruptek cackles.
20:00:07disruptekyaml->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:54sschwarzerI just sent a pull request for the Nim playground :-)
21:41:57sschwarzerhttps://github.com/zacharycarter/nim-playground/pull/5
21:43:52*solitudesf quit (Ping timeout: 246 seconds)
21:45:10*lritter joined #nim
21:45:41FromDiscord_<!!Liam is Unlucky> how do i convert to a uint, I know there is toU32 but what about just Uint
21:45:41FromDiscord_<!!Liam is Unlucky> e.g ```nim
21:45:42FromDiscord_<!!Liam is Unlucky> let die2: uint = rand(6).toU32() + 1'u
21:45:42FromDiscord_<!!Liam is Unlucky> ```
21:46:03FromDiscord_<!!Liam is Unlucky> but not u32
21:46:19*nsf quit (Quit: WeeChat 2.4)
21:47:13lqdev[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:55disruptekyou can, there are just scenarios where they break.
21:49:07disruptekrunnableExamples are part of the test suite, so if it's in an example, it works with the associated docs.
21:58:38disrupteker, the associated compiler.
21:59:23disruptekah, 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:33FromGitter<mratsim> what would be there type in the silicon? :p
22:13:43disruptekyeah, it's a problem. :-)
22:14:00disrupteki mean, the error message was ridiculous.
22:18:50clyybbermratsim: Hey, I see you referenced the new destructor spec in your multithreaded runtime experiments
22:19:11clyybberjust a heads up, this new spec isn't actually fully implemented yet
22:19:28clyybberwell, it IS but its still buggy and not merged yet
22:19:51FromGitter<mratsim> the destructors part is implemented though? I think I only need sink.
22:20:01FromGitter<mratsim> The owned ref I don't need it
22:20:04clyybbersink is what is gonna change
22:20:10FromGitter<mratsim> ugh
22:20:14clyybberif you mean =sink
22:20:46clyybberor do you mean sink parameters?
22:21:06FromGitter<mratsim> yes
22:21:08FromGitter<mratsim> like these
22:21:23FromGitter<mratsim> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d3393e3d44431099264d09b]
22:22:02clyybberAh, ok. Yeah those are gonna be passed by ref now, but you aren't really gonna notice this
22:22:25clyybberBtw 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:51FromGitter<mratsim> I'm already on the edge of atomics :p
22:22:58clyybberbut don't use owned types in tuples yet, I'm still fixing those :p
22:23:11FromGitter<mratsim> and implementing my own allocator so ...
22:24:04disrupteki'm getting a compiler bug just from splitting code across files.
22:24:43FromGitter<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:17disruptekwhat kinda channels?
22:25:26clyybberSounds really interesting
22:25:50clyybberWork stealing stuff in general is
22:25:53FromGitter<mratsim> https://epub.uni-bayreuth.de/2990/1/main_final.pdf
22:26:02FromGitter<mratsim> @disruptek ^
22:26:09FromGitter<mratsim> I'm drowning in papers :p
22:26:12FromGitter<mratsim> and implementation
22:26:41FromGitter<mratsim> you might be interested in that one @disruptek: https://github.com/GameTechDev/GTS-GamesTaskScheduler
22:27:19clyybbermratsim: Btw, do you know if theres a efficient bitset implementation with atomic single bit operations?
22:27:36disrupteki 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:27FromGitter<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:32clyybbermratsim: 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:46FromGitter<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:05FromGitter<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:20clyybberHmm, yeah. I have an algorithm (an extension of WFC) that could be parrallelized really well, with an efficient and atomic bitset implementation
22:39:49FromGitter<mratsim> Seems like I stand corrected: https://github.com/facebook/folly/blob/master/folly/AtomicBitSet.h
22:40:00FromGitter<mratsim> https://gist.github.com/riccardomurri/1540995
22:40:28FromGitter<mratsim> the second one uses a mutex though
22:42:19clyybberHuh, that first one looks interesting. Thanks mratsim
23:05:41shashlick@disruptek - your twitch stream wasn't saved 😞
23:06:05disruptekyeah, i don't bother saving anything. plenty more garbage where that came from. :-)
23:06:38shashlickhmm
23:06:50shashlicker43OIU*()
23:07:02shashlick32i1u 439 34- 138
23:07:09disruptekyou don't say...
23:07:41shashlick311!#!@#1QWE!
23:08:50disruptekhere's the code so far: https://github.com/disruptek/openapi
23:09:31disruptekto get it to compile, you have to concatenate all the files. don't ask.
23:11:55shashlicksorry! neighbor's kid
23:14:49disruptekdamn, your neighbors are pretty close, huh?
23:15:18shashlickif they visit, ya 😛
23:17:01FromGitter<Varriount> Is anyone able to forward-declare iterators?
23:17:18FromGitter<Varriount> The compiler doesn't seem to be able to detect my implementation.
23:18:09shashlickdid you try `{.experimental: "codeReordering".}`
23:19:30FromGitter<mratsim> @disruptek use include instead of imports then
23:19:53disruptekyou're blowin' my mind right now.
23:20:24disrupteksadly, that wasn't it.
23:21:42FromGitter<mratsim> btw, "typed" is a fishy parameter identifier
23:21:58disruptekyeah, i should rename it.
23:22:18disruptekthis 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:18disruptekthe 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:35FromGitter<Varriount> shashlick: Hm, that worked. I would've liked it to work without using experimental features.
23:24:12disrupteki assume you tried an earlier declaration w/o the implementation?
23:24:21FromGitter<Varriount> disruptek: Yes
23:24:47FromGitter<Varriount> I even put the implementation right after the forward declaration, and the compiler still yelled at me.
23:25:17disruptekthat makes no sense. :-/
23:26:09disruptekmy bug has something do with weird call syntax, like the compiler doesn't know how to resolve proc args.
23:27:36FromGitter<Varriount> https://gist.github.com/Varriount/b0356f12e572ad79b78350d4be5941d1
23:29:38disruptekhmm, that's odd alright.
23:38:46shashlickhow do you get the size of an object type in a macro?
23:38:58shashlicki have a nimnode of the object instance but wondering how to get the original type
23:40:50disruptekmy bug was due to tables magic. will take this to the next level tomorrow.
23:40:55disruptekthanks 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)