<< 23-02-2020 >>

00:00:02*junland quit (Quit: %ZNC Disconnected%)
00:01:18*junland joined #nim
00:25:55*tane quit (Quit: Leaving)
00:29:04*zahary quit (Quit: Leaving.)
00:29:21*zahary joined #nim
00:29:50*zahary quit (Client Quit)
00:29:59*clyybber quit (Quit: WeeChat 2.7.1)
00:44:43*b3ong4o quit (Ping timeout: 260 seconds)
01:16:55*my_dude joined #nim
01:17:23*ptdel joined #nim
01:18:23*skrylar joined #nim
01:34:34*Hideki_ quit ()
01:36:25*Hideki_ joined #nim
01:53:31*Hideki_ quit (Remote host closed the connection)
01:54:27*Hideki_ joined #nim
01:58:46*Hideki_ quit (Ping timeout: 255 seconds)
02:04:38*Hideki_ joined #nim
02:05:54*Hideki_ quit (Remote host closed the connection)
02:06:43*Hideki_ joined #nim
02:07:22*Hideki_ quit (Remote host closed the connection)
02:08:07*Hideki_ joined #nim
02:12:06*chemist69 quit (Ping timeout: 240 seconds)
02:12:43*Hideki_ quit (Ping timeout: 255 seconds)
02:14:29*chemist69 joined #nim
02:20:20*kungtotte quit (Ping timeout: 265 seconds)
02:27:24*kungtotte joined #nim
02:31:06*ptdel quit (Ping timeout: 240 seconds)
02:31:41*freddy92 quit (Read error: Connection reset by peer)
02:32:08*freddy92 joined #nim
02:52:51*Hideki_ joined #nim
03:17:14*Hideki_ quit (Ping timeout: 240 seconds)
03:23:09*sagax quit (Quit: Konversation terminated!)
03:25:07*rockcavera joined #nim
03:25:51*leorize joined #nim
03:37:19FromDiscord_<Winton> Hi
03:37:21FromDiscord_<Winton> All
03:38:05FromDiscord_<Winton> I would like to contribute to the community where I can?
03:38:07FromDiscord_<Winton> lenguaje nim
03:39:28disrupteki have a feeling you could contribute to translations.
03:40:32FromDiscord_<Winton> I heard that I can donate for the development of nim
03:40:54FromDiscord_<Winton> I'd like to help
03:41:20disruptekthere are some sponsorship links on the github page.
03:41:24disruptek!repo nim-lang/Nim
03:41:26disbothttps://github.com/nim-lang/Nim -- 9Nim: 11Nim is a compiled, garbage-collected systems programming language with a design that focuses on efficiency, expressiveness, and elegance (in that order of priority). 15 8932⭐ 973🍴 7& 29 more...
03:44:31disruptekhave you had and good or bad experiences picking up the language? complaints you want to share?
03:44:35FromDiscord_<Winton> I wonder if nim for first programming language is good?
03:44:42disrupteki think it's pretty good.
03:45:27FromDiscord_<Winton> > <disruptek> have you had and good or bad experiences picking up the language? complaints you want to share?
03:45:27FromDiscord_<Winton> @gitterirc I respect that, I have really worked with C # never with python or c ++.
03:45:42FromDiscord_<Winton> what is really hard for me to learn nim
03:45:54FromDiscord_<Winton> I never liked c / c ++ syntax
03:46:18disruptekwell, c# has a fairly modern syntax.
03:47:38FromDiscord_<Winton> exactly unlike nim everything seems really new to me and I don't speak a perfect English, I even understand very little about what is another of my disadvantage
03:47:53FromDiscord_<Winton> but if I want to continue in my learning with nim
03:49:53disruptekdo not be afraid to play with it.
03:50:02disruptekdo not be afraid to ask questions.
03:51:02FromDiscord_<Winton> Yes, thank you very much I'm in a group that help me a lot
03:51:45FromDiscord_<Winton> the truth is to think that I have little time, I want to continue learning Nim because I have a project in mind that I think with Nim would be good and to be able to continue contributing in the community
03:52:20FromDiscord_<Winton> https://youtu.be/xWMG_1karfM
03:52:54FromDiscord_<Winton> I did this
03:52:59disruptekneat!
03:53:29disruptekwhere are you located?
03:53:41FromDiscord_<Winton> Dominican Republic
03:53:51disruptekah, cool.
03:54:01FromDiscord_<Winton> yes
03:54:22disruptekyou have 150 views already.
03:54:49FromDiscord_<Winton> yes
03:55:42FromDiscord_<Winton> 😄
03:55:43FromDiscord_<Winton> jajaja
03:55:48FromDiscord_<Winton> 150 view
03:56:14disruptekthat seems like a lot to me considering you only have 4 subscribers. good job.
03:58:01FromDiscord_<Winton> I have shared the information for facebook groups
03:58:23FromDiscord_<Winton> Facebook is very good for advertising or sharing information
03:59:08FromDiscord_<Elegant Beef> Also good for having an invasive corporation attempt to build a picture of you without using their services
03:59:35FromDiscord_<Winton> jajaja
04:03:18shashlick#head is failing tests
04:03:32shashlicktestament run tests/osproc/texitcode.nim
04:03:44disruptekhmm.
04:04:11*freddy92 quit (Read error: Connection reset by peer)
04:04:36*freddy92 joined #nim
04:07:27disruptektests/stdlib/tos.nim failed for me. i'm still running the test.
04:10:11FromDiscord_<Winton> what is gc:ar
04:10:21disruptek~arc
04:10:22disbotarc: 11a new memory manager for Nim; see https://forum.nim-lang.org/t/5734 -- disruptek
04:10:54FromDiscord_<Winton> yes
04:10:55FromDiscord_<Winton> arc*
04:10:59disruptekthat's the only failure i found, other than the docs failure that always happens.
04:11:42FromDiscord_<Winton> thanks
04:13:54disruptekmy error is probably due to some of the path changes lately.
04:15:09FromDiscord_<Winton> I have a doubt what are the pragma for? and it is so important
04:16:44disruptekthey are used for annotation; they have a very broad application.
04:17:04disruptekthe manual has many examples...
04:20:13FromDiscord_<Winton> thanks!
04:20:24FromDiscord_<Winton> have a nice night all
04:20:36disrupteksee you next time.
04:23:13*freddy92 quit (Read error: Connection reset by peer)
04:23:39*freddy92 joined #nim
04:30:13*freddy92 quit (Read error: Connection reset by peer)
04:30:40*freddy92 joined #nim
04:46:39*freddy92 quit (Ping timeout: 272 seconds)
05:04:23*opal quit (Ping timeout: 240 seconds)
05:06:01*sagax joined #nim
05:07:36*opal joined #nim
05:10:29skrylari forgot that you can't just importc enums at all :f
05:18:06*my_dude quit (Quit: ZZZzzz…)
05:20:03*muffindrake joined #nim
05:37:36*hax-scramper quit (Read error: Connection reset by peer)
05:37:56*hax-scramper joined #nim
05:51:21*hax-scramper quit (Read error: Connection reset by peer)
05:51:29*hax-scramper joined #nim
05:51:33*marmotini_ joined #nim
05:55:55*marmotini_ quit (Ping timeout: 255 seconds)
06:05:35*hax-scramper quit (Quit: Quit)
06:05:56*hax-scramper joined #nim
06:10:28*sz0 joined #nim
06:20:44*hax-scramper quit (Remote host closed the connection)
06:22:27*hax-scramper joined #nim
06:29:22*hax-scramper quit (Remote host closed the connection)
06:30:59*hax-scramper joined #nim
06:55:52*hax-scramper quit (Read error: Connection reset by peer)
06:56:17*hax-scramper joined #nim
07:00:44*nsf joined #nim
07:05:47*dddddd quit (Remote host closed the connection)
07:14:22*Hideki_ joined #nim
07:15:55*my_dude joined #nim
07:16:14*my_dude quit (Client Quit)
07:18:43*Hideki_ quit (Ping timeout: 255 seconds)
07:24:34*narimiran joined #nim
07:28:08nixfreakIs it normal to almost always use assert to test code , I guess I'm used to print the result to make sure it actually works
07:38:32*solitudesf joined #nim
07:44:09*fanta1 joined #nim
07:46:17*Trustable joined #nim
07:53:22*nixfreak quit (Ping timeout: 255 seconds)
07:55:12FromDiscord_<sveri> Hi, I have been liooking into what I can do at compile time and what not. Seems like most filesystem operations like `walkFiles` or `os.getCurrentDir()` don't work at compile time. Is there another way to list files in folders during compile time?
08:00:00*gmpreussner quit (Quit: kthxbye)
08:02:08*my_dude joined #nim
08:03:00FromDiscord_<sveri> For some more context, as its not obvious, I want to go through a list of files and create a const fileTable that contains the contents of these files.
08:05:00*gmpreussner joined #nim
08:05:03*neceve joined #nim
08:10:24*neceve quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
08:10:50*neceve joined #nim
08:19:27FromDiscord_<demotomohiro> https://github.com/nim-lang/Nim/blob/devel/lib/pure/oswalkdir.nim
08:19:27FromDiscord_<demotomohiro> There is Compile-time only version for walkDir
08:20:41FromDiscord_<sveri> @demotomohiro I found that looking through github, but don't understand it as the proc does nothing and just discards.
08:29:11*Trustable quit (Remote host closed the connection)
08:35:23FromDiscord_<demotomohiro> @sveri It works at compile time.
08:35:23FromDiscord_<demotomohiro> https://play.nim-lang.org/#ix=2csr
08:38:19FromDiscord_<demotomohiro> I guess Nim compiler run walkDir when it found oswalkdir.staticWalkDir.
08:42:12Araqthe implementation is inside the Nim compiler
08:43:18FromDiscord_<demotomohiro> https://github.com/nim-lang/Nim/blob/devel/compiler/vmops.nim#L99
08:43:41*tefter joined #nim
08:45:12*zahary joined #nim
09:06:26*skrylar quit (Remote host closed the connection)
09:15:53*Hideki_ joined #nim
09:20:06*Hideki_ quit (Ping timeout: 240 seconds)
09:40:59*zahary quit (Quit: Leaving.)
09:41:50FromDiscord_<sveri> @demotomohiro Araq: thank you, I missed the correct import, I got it working now 🙂
10:04:30*zahary joined #nim
10:15:06FromGitter<kristianmandrup> When will the next version of Nim be released and what new features can we expect?
10:15:21*lbart quit (Ping timeout: 272 seconds)
10:23:32*zahary quit (Quit: Leaving.)
10:23:52*zahary joined #nim
10:24:19*zahary quit (Client Quit)
10:35:52*hax-scramper quit (Read error: Connection reset by peer)
10:35:57*lbart joined #nim
10:36:26*zahary joined #nim
10:36:32*hax-scramper joined #nim
10:48:26*lritter joined #nim
10:50:25FromGitter<yglukhov> Hey guys, can i install win64 toolchain with choosenim?
10:53:19*dadada joined #nim
10:53:43*dadada is now known as Guest69599
11:04:11*Ven`` joined #nim
11:10:33lqdev[m]@kristianmandrup the release date is not certain, but afaik Nim 1.1's major features are going to be incremental compilation and --gc:arc
11:11:38*Guest69599 is now known as dadada
11:12:06dadadaincremental compilation! holy moly! yeah
11:14:18lqdev[m]afaik it's implemented on devel, but I haven't tested it yet, so I can't tell if it works
11:35:25*solitudesf quit (Remote host closed the connection)
12:00:08*filcuc joined #nim
12:08:04*filcuc quit (Ping timeout: 265 seconds)
12:35:56*zahary quit (Quit: Leaving.)
12:38:45*zahary joined #nim
12:50:44*Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:05:23dadada12:10 < dadada> incremental compilation! holy moly! yeah
13:05:31dadadahttps://totallywearingpants.com/posts/nim-language-highlights/
13:06:10dadadadefinitely belongs in the Tutorials section https://nim-lang.org/learn.html
13:10:27FromGitter<alehander92> 1) 2
13:10:39FromGitter<alehander92> and i think the roadmap was for 2020, not only 1.2
13:11:12dadadaalehander92: what are you on about?
13:11:40FromGitter<alehander92> i am not sure if IC is supposed to be in 1.2, or in another 2020 version
13:11:56dadadaokay
13:12:24FromGitter<alehander92> https://github.com/nim-lang/RFCs/milestone/1
13:14:40FromDiscord_<clyybber> gc:arc is cooler than IC anyways 🙂
13:15:15dadadayeah, because you have to pick favorites
13:15:20dadada;-)
13:16:38dadadaany progress is great
13:17:27*Hideki_ joined #nim
13:19:08dadadait would be cool to have embedded playground instances for all example in https://nim-lang.org/docs/manual.html
13:19:43dadadalearning by doing/playing around is usually best
13:19:53dadadas/example/examples
13:20:38*dddddd joined #nim
13:20:39dadadathere should be a button to reset the embedded playgrounds to their default examples
13:21:52*Hideki_ quit (Ping timeout: 255 seconds)
13:31:49FromGitter<nhanb> Guys, does karax vdom (C backend) support self closing tag? Seems like it always outputs xml-style tags (e.g. `<input></input>`, which the browser ignores the closing tag anyway, but for, say, `<br></br>`, Firefox interprets that as 2 `<br>`s which screws up my layout.
13:32:17*freddy92 joined #nim
13:48:40*nsf quit (Quit: WeeChat 2.7)
13:59:40*abm joined #nim
14:07:45*Trustable joined #nim
14:13:32*salewski joined #nim
14:13:46FromGitter<nhanb> Huh, turns out I can use `verbatim("<br/>")`, that's neat.
14:14:38*NimBot joined #nim
14:15:52*Ven`` joined #nim
14:16:11salewskiNimBot, we have a fresh issue: https://github.com/StefanSalewski/gintro/issues/66
14:16:12disbot[OSX] nimble install gintro fails - unexpected gc
14:16:16salewskihttps://github.com/StefanSalewski/gintro/blob/master/tests/gen.nim#L2518
14:16:36salewskiwhen compileOption("gc", "arc"):
14:17:03salewskiSeems that arc test does not compile on stable compiler?
14:17:19salewskiAnd my code ifs full of that test.
14:17:36salewskiThought it was a plain string test...
14:18:03salewskiSo how to fix it?
14:18:51*xet7 quit (Remote host closed the connection)
14:19:59*xet7 joined #nim
14:20:29salewskiIs the test "when defined(gcDestructors):" from https://forum.nim-lang.org/t/5965 a better variant for ARC test?
14:21:13salewskiI can not really believe that compileOption("gc", "arc") is an enum test, arguments looks like strings!
14:21:20salewskiover.
14:36:18vegaihmm, so both snake case and camel case are supported interchangeably
14:36:33vegaiis either recommended by official style guides?
14:36:59vegaihttps://nim-lang.org/docs/nep1.html
14:37:06vegaicamel case, it looks like
14:37:45*nixfreak joined #nim
14:38:20nixfreakIs anyone getting Karax examples to work ? I have used devel and stable newset editions
14:38:36nixfreakis the mediaplayer supposed to show a gui
14:40:50FromGitter<alehander92> vegai camel case!
14:41:16FromDiscord_<Rika> camelcase is just easier to type imo\
14:41:30vegaisnake case is way prettier, but this is an arbitrary thing
14:41:38vegaiI just want somebody to make trivial decisions like that for me :)
14:41:42vegaiso camel it is
14:42:11vegaiI'm bad at reading these docs
14:42:12vegaihttps://nim-lang.org/docs/strutils.html
14:42:33FromDiscord_<Rika> what do you need help with
14:42:42vegaiapparently strutils has toLowerAscii, okay, but the docs seem to suggest that it works on chars only
14:43:03vegainah, no it doesn't sorry.
14:43:06vegaiI was being blind somehow
14:43:14*my_dude quit (Quit: ZZZzzz…)
14:43:32FromDiscord_<Rika> haha, thats fine
14:43:53FromDiscord_<Rika> kinda wished that the docs grouped overloads together since sometimes it doesn't
14:43:59FromDiscord_<Rika> it isn't*
14:50:09*zahary quit (Quit: Leaving.)
14:51:33FromDiscord_<clyybber> dadada: Thats a great idea!
14:55:11vegaihmm, also there's a toLower in strutils apparently, not just toLowerAscii
14:55:14*Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:55:24vegaiwhere does that come from
14:55:36vegaiit's documented only as an export
14:55:51vegaiit seems to come from the unicode module
14:56:02leorizeprobably it's the old toLowerAscii if they haven't removed it
14:56:50FromDiscord_<Rika> its the deprecated one i think
15:03:25*Trustable quit (Remote host closed the connection)
15:13:48*nsf joined #nim
15:14:00*tane joined #nim
15:17:08*freddy92 quit (Read error: Connection reset by peer)
15:17:32*freddy92 joined #nim
15:21:52FromGitter<rishavs> I am struggling a bit with trying to make a scene manager. I want to have a list of scenes which are objects and then pass them to a sceneswitcher proc which then calls the corresponding actions on this given object. ⏎ something like https://play.nim-lang.org/#ix=2cu0 ⏎ How would one go about tackling this problem in Nim?
15:24:45FromDiscord_<Rika> https://play.nim-lang.org/#ix=2cu2 ?
15:27:59FromGitter<rishavs> Thanks!
15:36:01*zahary joined #nim
15:36:32*sealmove joined #nim
15:36:50sealmoveis it easier to adjust https://github.com/flyx/NimYAML to work at CT, or rewrite it?
15:37:18disrupteki feel like we had this conversation a month or two ago.
15:38:13FromDiscord_<Rika> why doesnt it work at CT?
15:41:10*rockcavera quit (Remote host closed the connection)
15:41:15FromGitter<Vindaar> imo nimyaml is way too complicated. using an OOP approach + its own stack trace for exception handling makes the code really hard to deal with. Still doesn't mean rewriting it is easier, since yaml is so complex.
15:42:38sealmoveI see, thanks Vindaar
15:43:11sealmoveit's a project I really want to do, but too big to find the motivation :
15:44:26FromGitter<Vindaar> I can imagine it being hard finding the motivation for that. :P Do you actually need yaml or just for fun?
15:47:13*salewski quit (Quit: WeeChat 2.7)
15:50:26*tefter quit (Quit: WeeChat 2.7)
15:52:39sealmoveI need it for my project
15:53:04sealmoveand hacking one with npeg didn't work
15:53:46leorizei heard yaml is unnecessary complicated
15:54:04disruptekonly really from the programmer's perspective.
15:55:31dom96sealmove, why do you need it at CT?
15:55:55dom96simple solution though: create a simple .exe that parses YAML and output some format you can easily parse like JSON at CT
15:55:57dom96then use staticExec
15:56:07disrupteksimple.
15:56:18dom96"simple"
15:56:40disruptekwell, that's what i do for openapi, dom.
15:56:54disrupteksealmove's project demands ct parsing.
15:57:38dom96why? :)
15:57:52leorizeit's a parser generator
15:58:08leorizebinary parser generator
15:59:53dom96cool. Might want to build it as an exe anyway then
15:59:59dom96It'll run faster :P
16:00:13dom96just make it output the Nim AST
16:02:01disruptekthen what?
16:02:36dom96then parse it at compile-time and construct AST nodes from it :D
16:02:57dom96in fact, you could even generate the Nim code and then parse at compile-time
16:03:27disruptekthis is how nimterop works.
16:04:31sealmovemy idea is to do everything as library, not exe
16:04:43sealmoveyaml -> JsonNode
16:05:39leorizecareful or you might bump into the VM exec limit
16:05:55sealmovewe kinda took care of that
16:06:03disrupteknow you can specify the limit.
16:06:48disruptekyou may as well just run yq if you're dom.
16:09:19FromDiscord_<mratsim> @sealmove, agree with @Vindaar, NimYAML is really complex. Many times I've wanted a simpler to use implementation. Right now I'm just always using it to load to a JsonNode
16:12:17disrupteki just don't even bother. i could include nimyaml and make a simple binary to replace yq, but what's the point?
16:12:17*salewski joined #nim
16:13:01disruptekeventually we'll have working pegs or whatever but until then, it's just an esoteric format afaic.
16:13:36FromDiscord_<Rika> yaml's just a pain for the programmer innit
16:13:51disruptekyeah, but it's nice to read.
16:14:03disruptekhonestly, it wouldn't bother me so much, but it supports comments.
16:14:13disruptekcomments are a notable omission from json.
16:14:45FromDiscord_<Rika> also trailing comma
16:15:22disruptekwell, i care more about generating comments. i'm not so bothered by generating commas.
16:17:44sealmoveI don't know if "working pegs" is the solution to the problem
16:17:45*leorize quit (Remote host closed the connection)
16:18:04disruptekwhy not?
16:18:14*leorize joined #nim
16:18:18disruptek~choosenim
16:18:19disbotchoosenim: 11https://github.com/dom96/choosenim/releases/tag/v0.5.1 -- disruptek
16:18:19sealmovepeg is completely unsuitable for such type of parsing (indentation-based etc)
16:18:32disruptek~choosenim is https://github.com/dom96/choosenim/releases/tag/v0.6.0
16:18:33disbotchoosenim: 11https://github.com/dom96/choosenim/releases/tag/v0.6.0
16:18:55disrupteki don't care how it happens, but pegs are much easier for us to consume.
16:19:03disruptekhence "or whatever". 😉
16:19:08leorizei don't know if npeg can be mixed with good old lexbase
16:19:19sealmoveleorize, it's possible now
16:19:30leorizewell then you can keep the indentation state yourself
16:19:32sealmovezevv made some adjustments and you can seperate lexing and parsing
16:20:04leorizeuse npeg to parse more complicated syntax that you don't wanna bother writing code for
16:20:18leorizebut keep track of indentation with your own parser outside instead
16:21:20sealmoveI don't know, my understanding is that yaml is too complicated to get correct with a parser generator, but I could be wrong.
16:22:35disruptekwe found a peg for it, but was it incomplete? i cannot remember.
16:23:20leorizemy idea is that you use it as a parsing aid
16:23:27leorizenot a full fledged parser
16:23:38Zevvdon't do pegs kids. It's bad for you, mmkkaaayyy
16:24:11leorizekinda like Ar4q's lexim
16:24:27disruptekoh you woke the bear, now.
16:24:39Zevvthe bear is watching fight club. how come I never saw this before
16:24:49disruptekomg you're in for a treat.
16:24:50Zevvit was himself all the time!
16:25:04disruptekwait till you find the tyler durden site.
16:25:19Zevvoooh
16:27:32*arecaceae quit (Remote host closed the connection)
16:27:55*arecaceae joined #nim
16:29:04Zevvanyway, I tried yaml a few times but couldn't bother to persist
16:29:11Zevvit's just messy
16:29:21ZevvIt probably can be done with npeg, but it's no fun
16:29:35disruptekit will be done eventually.
16:30:36disruptekmaybe a repo to do it in npeg could get enough interest to help facilitate a group effort.
16:31:07Zevvbut why bother, are there no other yaml parsers for nim?
16:31:14disrupteknot for ct.
16:31:20Zevvbwah
16:33:27disruptekwhat are you drinkin', zevv?
16:34:06*dom96 wonders how to implement DPI for his game
16:34:26dom96This is what I get for not using some noob game framework
16:34:32dom96have to implement everything myself
16:34:40*zahary quit (Quit: Leaving.)
16:35:55FromDiscord_<Rika> sometimes this chat is impossible for me to decipher
16:36:09FromDiscord_<Rika> did you guys drink alcohol or something?
16:36:15Zevvnot yet
16:37:38*freddy92 quit (Read error: Connection reset by peer)
16:37:51FromGitter<kristianmandrup> How do I best iterate through a `TableRef` structure (interested the in values being mapped to)
16:38:02*freddy92 joined #nim
16:38:11Zevvfor k, v in mytable: should do ?
16:38:26dom96Rika: I often feel the same way, I think Zevv/disruptek just enjoy to be random sometimes :)
16:40:13disruptekprefer mytable.pairs because it's more explicit.
16:41:02Zevvdisruptek is just an explicit kind of guy, you know
16:41:34disruptekit's true. i have parental warnings in four languages tattoo'd across my body.
16:42:27disruptekspeaking of, what should we stream today?
16:43:00Zevvsome Steve Miller band, a bit of Radiohead, some Bob Marley
16:43:12disruptekradiohead could work.
16:43:23Zevvand then some guy rambling on top like "What the hell does *this* do?!"
16:43:33disruptekooooh now you're talkin' my language.
16:43:35FromGitter<kristianmandrup> ```code paste, see link``` ⏎ ⏎ How do I add a string to `srcList`for `src: PScrCode` here ? [https://gitter.im/nim-lang/Nim?at=5e52abb7b662483a875d9249]
16:44:16disruptekropify your string, obvs.
16:44:52disrupteki think it's easier to stream muddling through because the alternative is to stream how confused i am by my own code.
16:45:56FromGitter<kristianmandrup> https://play.nim-lang.org/#ix=2cul
16:46:25FromGitter<kristianmandrup> So sth like this?
16:46:29FromGitter<kristianmandrup> ```proc add(self: PSrcCode, code: string) = ⏎ self.srcList.add Rope(code)``` [https://gitter.im/nim-lang/Nim?at=5e52ac653ca8a67fb8131bc3]
16:46:31FromDiscord_<Rika> i dont know if Ropes are still recommended because when i used them a few months ago ar()q said to not use them
16:47:25disruptekthey are more specialized than they appear.
16:47:28Zevvdid he mention why?
16:47:44FromGitter<kristianmandrup> I get `type mismatch: got <string> but expected 'Rope = ref RopeObj'`
16:47:52FromDiscord_<Rika> no clue
16:48:04disruptekkristian: make a rope from your string.
16:48:10FromDiscord_<Rika> newRope i think is what you want
16:48:20FromGitter<kristianmandrup> I also tried making the seq mutable by using `ref seq[Rope]`
16:48:33FromDiscord_<Rika> huh
16:48:34disruptekdon't do that.
16:48:57FromGitter<kristianmandrup> `undeclared identifier: 'newRope'`
16:49:06FromDiscord_<Rika> use lowercase `rope`
16:49:07Zevvit's just rop()
16:49:10Zevvit's a bit messy I guess
16:49:15Zevvrope()
16:49:16disruptekhttps://www.twitch.tv/disruptek
16:49:19FromDiscord_<Rika> apparently rope doesnt use the new/init style
16:49:26FromGitter<kristianmandrup> `self.srcList.add rope(code)` ??
16:49:29FromDiscord_<Rika> ywa
16:49:31FromDiscord_<Rika> yes
16:50:37disruptekrope"foo"
16:53:41FromGitter<kristianmandrup> works, thanks :)
16:58:40leorizedisruptek: left ear only mic again :)
16:59:05leorizemeh :p
16:59:16ZevvAs long as radiohead doesn't suffer
17:01:02ZevvDon't see your problem? You parse the file, run the commands capturing output, and write to a new file on the fly?
17:01:32ZevvI didn't properly pay attention yesterday so I probably miss essential stuff and am being naive
17:02:57Zevvright
17:07:59Zevvthe format is crappy already, actuall
17:08:12Zevvthere is no clear separation between sections
17:12:27Zevvto be able to rewrite you need to have a perfect in-memory representation of the original file
17:13:03Zevvit's hand written but you are going to machine (re)generate it. Bound to be messy or lossy
17:18:53*zahary joined #nim
17:18:59*ptdel joined #nim
17:19:07*Hideki_ joined #nim
17:23:31*Hideki_ quit (Ping timeout: 255 seconds)
17:27:56*zahary quit (Quit: Leaving.)
17:28:37Zevvyou really need to store it all. Make it into a full AST
17:28:40FromGitter<kristianmandrup> What do I need to import to use `Rope`?
17:29:04FromGitter<kristianmandrup> ah yes, `ropes` not `rope`
17:29:27Zevvwhat does it even mean now. To times 'args' without a 'stodut' in between?
17:30:25ZevvHmmmm
17:30:38Zevvso the other ones are wrong
17:30:45Zevvbecause "stdout" comes after "args"
17:30:54Zevvbut you say when it runs on "args" it reuses the previoues "stdout"
17:31:22Zevv"clever" :)
17:32:15Zevvmake it explict
17:32:16Zevvreally
17:32:28Zevvif the format is up for discussion, don't do it like this
17:32:30Zevvmake it structured
17:32:54Zevvdon't do that by hand
17:33:26*zahary joined #nim
17:33:37disruptekoh, we're talking about you on stream.
17:33:45disruptekhttps://www.twitch.tv/disruptek
17:33:51disruptekmaybe you can offer an opinion, zah
17:34:30Zevvit's better like this because the semnatics are more clear
17:34:39ZevvI do not like the syntax, but that's a personal opinion
17:35:09Zevvgimme a sec
17:35:51Zevvhttp://ix.io/2cur: this is nimmish imho
17:36:12Zevvoooh
17:36:13Zevvok
17:36:54Zevvbwah :)
17:37:18Zevvparsecfg ignores commets, so you lose them if you use that
17:37:28*zahary quit (Client Quit)
17:37:49Zevvsave offsets
17:37:52Zevvand replace chunks
17:37:55Zevvright so
17:38:29Zevv*Seriously*
17:38:52Zevvit's awful
17:39:08Zevvbut I get your point, you just want to make it work
17:39:11Zevvso least effort should be ok
17:40:05ZevvIf you use this syntax, you adhere to the convetions. Comments go into #
17:40:30ZevvI can whip one up
17:40:54Zevvnot sure, it's duplicating effort as there is already parsecfg
17:41:45*salewski quit (Quit: WeeChat 2.7)
17:42:10Zevvyou now this, right? https://nim-lang.org/docs/parsecfg.html#examples-modifying-a-configuration-file
17:43:33Zevvaw :/
17:45:16Zevvand then you will use the parsecfg update api?
17:45:28Zevvtest it first :)
17:49:50Zevvit drops comments
17:55:00FromGitter<kristianmandrup> `implicit object field construction requires a .partial object, but got TProc` ??
17:55:48FromGitter<kristianmandrup> Trying to set a string property `lastVarName` on a `PProc` instance
17:58:04FromGitter<kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5e52bd2ca0aa6629f5e99d60]
18:01:18FromGitter<kristianmandrup> Is this related to https://github.com/nim-lang/Nim/issues/12753 ??
18:01:21disbotassignment of objects erroneously zeroed LHS before object construction on the RHS ; snippet at 12https://play.nim-lang.org/#ix=2cuS
18:01:55ZevvI'm off disruptek, sorry
18:02:45*ptdel quit (Ping timeout: 240 seconds)
18:02:49FromGitter<kristianmandrup> I was in a `var` block
18:07:46*solitudesf joined #nim
18:14:42FromGitter<Varriount> @kristianmandrup Look at the C code when running the Nim compiler with linedir:on
18:14:58FromGitter<Varriount> There might also be an embedsrc flag too
18:15:40sealmoveis this: https://github.com/PMunch/combparser all we have on parser combinators for Nim?
18:16:06FromGitter<kristianmandrup> @Varriount I sorted it
18:17:01FromGitter<Varriount> sealmove: Does NPeg count?
18:17:08sealmovenop
18:17:25Zevv;(
18:19:13leorize!repo lexim
18:19:14disbothttps://github.com/Araq/lexim -- 9lexim: 11Lexer generation and regex implementation for Nim. 15 10⭐ 2🍴
18:19:28leorizethis one is unmaintained though
18:27:00FromGitter<zetashift> For choosenim is there a https://github.com/dom96/choosenim/releases 0.6.0 release?
18:29:03disruptekyep.
18:29:06disruptek~choosenim
18:29:06disbotchoosenim: 11https://github.com/dom96/choosenim/releases/tag/v0.6.0 -- disruptek
18:29:20FromGitter<zetashift> that 404's for me
18:30:06disruptek~choosenim is https://github.com/dom96/choosenim/releases/tag/v0.5.1
18:30:07disbotchoosenim: 11https://github.com/dom96/choosenim/releases/tag/v0.5.1
18:32:54FromGitter<kristianmandrup> Can anyone tell me what this means?
18:33:14FromGitter<kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5e52c56a8b2d4664ef1ea9f1]
18:36:49FromGitter<kristianmandrup> When building Nim with my tweaks for `jsgen`
18:37:26FromGitter<kristianmandrup> So it compiles successfully, but then???
18:42:10*zahary joined #nim
18:42:21leorize@clyybber: can your ryu testsuite do full float range testing?
18:47:10FromGitter<kristianmandrup> All good :)
18:49:35*hax-scramper quit (Ping timeout: 258 seconds)
18:49:45*hax-scramper joined #nim
18:54:42vegaiuint/int are arch-specific length, right?
19:00:56nixfreakCan anyone install karax and run the examples like mediaplayer and tell me if it works for them please ?
19:06:01leorizevegai: yep
19:06:10leorizenixfreak: yes it does work the last time I checked
19:07:20nixfreakI just a blank screen ?
19:07:40nixfreakI just get a blank screen ? , what version and branch did you compile with?
19:08:58leorizemaster, latest HEAD
19:09:01leorizenim devel
19:09:23leorizeI get 4 media players
19:09:34leorizehow did you run the example?
19:11:38*freddy92 quit (Read error: Connection reset by peer)
19:11:48nixfreakused my browser to opened the playerapp.html
19:11:51*krux02 joined #nim
19:12:03*freddy92 joined #nim
19:14:26leorizedid you compile playerapp.nim beforehand?
19:14:36*Trustable joined #nim
19:14:53nixfreak yes
19:15:11nixfreaknim js mediaplayer.nim
19:15:13leorizethe resulting .js is in the same folder, yes?
19:15:20nixfreakcorrect
19:15:42Zevvsealmove: just wondering, why does npeg not count?
19:15:59leorizenixfreak: maybe check the console for any errors?
19:17:28sealmoveZevv: because you can't write your own logic for matching stuff. yeah, it's very close to parser combinator, and most of stuff one will need are implemented, but still it's not exactly as flexible, and it's still a DSL, not pure Nim.
19:17:34nixfreakyeah i did yes permission denied , which is weird
19:18:23nixfreakbut I checked the permissions with the files. Thanks I'm going to figure this , just wanted to know if it was my system or not
19:18:51leorizesealmove: have you looked at lexim?
19:19:02sealmovenot yet
19:19:59sealmovewhat's the idea behind it
19:20:36leorizehttps://github.com/Araq/lexim/blob/master/ex1.nim
19:20:54leorizesomething that can compose with whatever buffering system you might use
19:21:35sealmovehmm
19:23:09sealmovei need an approach that allows one to build a rather complicated parser slowly and steadily without things getting harder and harder as the project progresses
19:23:48leorizewell lexim does look like something that can do so to me
19:35:50nixfreak@leorize I got it to work now thanks , not sure what happend , it was late last night so I'm sure I screwed something up
19:40:22*sealmove quit (Quit: WeeChat 2.7)
19:43:14FromGitter<Varriount> sealmove: Why won't NPeg work?
19:43:30*solitudesf quit (Remote host closed the connection)
19:47:39*freddy92 quit (Read error: Connection reset by peer)
19:48:05*freddy92 joined #nim
19:49:09*chemist69 quit (Ping timeout: 272 seconds)
19:49:54*chemist69 joined #nim
19:50:39Zevvthe DSL is just the main representation
19:50:52Zevvbut it actually uses primitives to build the grammar, which can be used by the user as well
19:50:58Zevvthat part is not documented, though
19:51:35Zevvand you can add your own logic as well, you can make nim procs as atoms
19:51:42Zevvbut fair enought, it's probably not optimal and all
19:51:53Zevvjust wondering why it would or would not be seen as a parser combinator
19:54:45*nsf quit (Quit: WeeChat 2.7)
20:03:51FromGitter<kristianmandrup> What is the best way to get more detailed error reporting when running a nim test?
20:04:02disruptekerror reporting?
20:04:03FromGitter<kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5e52dab24880f07ed1f43aa4]
20:05:08*freddy92 quit (Read error: Connection reset by peer)
20:05:11disruptekjs backend... yoyo
20:05:34*freddy92 joined #nim
20:07:08*dwdv joined #nim
20:16:21*zahary quit (Quit: Leaving.)
20:16:36*zahary joined #nim
20:17:09*zahary quit (Client Quit)
20:18:06FromDiscord_<mratsim> isn't that a compiler crash?
20:20:39FromGitter<kristianmandrup> yes, a compiler crash... playing with js gen
20:21:08FromGitter<kristianmandrup> I'm good, how can I run individual test on Nim compiler?
20:24:37leorizewdym?
20:27:25*fanta1 quit (Quit: fanta1)
20:31:42*marmotini_ joined #nim
20:32:05FromDiscord_<mratsim> usually "./koch temp c 'testfile'"
20:32:25FromDiscord_<mratsim> this will build a temporary Nim compiler with stacktraces enabled
20:33:32FromDiscord_<mratsim> and for the nim testsuite itself "./koch tests cat js" to run all the tests in js folder
20:37:17FromGitter<kristianmandrup> Thanks :)
20:38:39FromGitter<kristianmandrup> yes, but many tests in js folder/category - too much noise for my case
20:38:50*Trustable quit (Remote host closed the connection)
20:41:38*freddy92 quit (Read error: Connection reset by peer)
20:43:31*couven92 joined #nim
20:46:42*jjido joined #nim
20:47:16disruptekis beef in the house?
20:48:23FromDiscord_<Elegant Beef> Nah never
20:48:44disruptek!repo rlipsc/polymorph
20:48:45disbothttps://github.com/rlipsc/polymorph -- 9polymorph: 11Polymorph is a compile-time composable entity component system generator. 15 1⭐ 0🍴
20:49:44FromDiscord_<Elegant Beef> i mean i do have runtime composition 😄
20:50:00FromDiscord_<Elegant Beef> I dont know about "high performance" thought
20:50:03FromDiscord_<Elegant Beef> though*
20:50:23disruptekyou might find something useful in there...
20:51:08FromDiscord_<Elegant Beef> maybe, i really need to my gpu drawing stuff though
20:51:32FromDiscord_<Elegant Beef> right now i have 0 clue how bad my ECS is on a performance level, since all i know is the memory usage for millions of entities
20:52:10FromDiscord_<Elegant Beef> think it's 2GiB for 1million entities
20:52:36FromDiscord_<Elegant Beef> so probably not close to being ideal
20:52:59FromDiscord_<Elegant Beef> but still, just wanna see it running with actual graphics to see how much it needs to improve
20:53:49disruptekwhere are you in that process?
20:54:08FromDiscord_<Elegant Beef> uhh i tried bgfx but zachs bindings dont seem to work with linux
20:54:14FromDiscord_<Elegant Beef> so im debating between learning ogl, or vulkan
20:54:31FromDiscord_<Elegant Beef> Clearly OGL is smarter to just get shapes drawn
20:54:33disruptekwow, that's surprising.
20:54:40FromGitter<kristianmandrup> How do I ensure a `seq` field is initialised?
20:54:44FromGitter<kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5e52e694a0aa6629f5ea2048]
20:54:54FromDiscord_<Elegant Beef> `= @[]`
20:55:09disrupteknewSeqOfCap(64)?
20:55:21FromGitter<kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5e52e6b9b662483a875e419f]
20:55:22FromDiscord_<Elegant Beef> *both* 😄
20:56:11FromGitter<kristianmandrup> well, how do I define a `constructor` of some sort so that it scales and avoid having to do it manually for each `PSrcCode`?
20:56:45disruptekPSrcCode is a pointer (a ref). new(PSrcCode) instantiates one such object.
20:57:06FromGitter<kristianmandrup> Ah, I see
20:57:10FromGitter<kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5e52e725d97c107ed27001ea]
20:57:50FromGitter<kristianmandrup> so would define and then use `newSrcCode` here for each of those fields
20:58:08FromDiscord_<exelotl> @kristianmandrup: yes, that's the usual convention :)
20:58:24disruptekgitter's ui makes my balls throb.
20:58:27disrupteki just can't take it.
20:58:42*filcuc joined #nim
20:59:46FromDiscord_<exelotl> 1/3rd of my screen real estate is taken up by "W h e r e c o m m u n i t i e s t h r i v e"
21:00:46disruptekyeah, i'm fixing it now with stylebot.
21:01:00disruptekit's like 60% of my page.
21:05:19FromGitter<kristianmandrup> what is the best way to check if a field is assigned to a seq (`@[]`) or undefined/nil - use `isNil`?
21:05:39disruptekstylebot saves my ass every damned day.
21:05:58disruptekkristian: what?
21:06:15disruptekseqsyField.len > 0?
21:06:20FromGitter<kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5e52e94c4609ce3a88203137]
21:08:19FromGitter<kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5e52e9c36053e67dc4dfb862]
21:08:25FromGitter<kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5e52e9c989f30b126527109d]
21:09:21FromGitter<kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5e52ea0189f30b1265271195]
21:09:39disruptekdo you understand how hard it is for irc people to read this stuff?
21:10:07*narimiran quit (Ping timeout: 260 seconds)
21:11:49*skrylar joined #nim
21:13:43FromGitter<kristianmandrup> simply trying to concatenate a `seq[Rope]` to another `seq[Rope]`. Sorry
21:14:32disruptekdoes it work?
21:15:36FromGitter<kristianmandrup> https://play.nim-lang.org/#ix=2cw6
21:15:42disruptekan irc person has to click a link and load gitter to see each and every paste.
21:15:51skrylar:<
21:16:34disruptekit looks like, "yes, it works" would have worked better than a url.
21:16:46FromGitter<kristianmandrup> But I get illegal storage access
21:16:48FromGitter<kristianmandrup> /Users/kristianmandrup/repos/nim-projects/Nim/compiler/jsgen.nim(174) add ⏎ SIGSEGV: Illegal storage access. (Attempt to read from nil?)
21:17:02FromGitter<kristianmandrup> when I have a `seq[Rope]` ?
21:17:29disruptekone side of the add is nil.
21:17:55*lritter quit (Remote host closed the connection)
21:18:04FromGitter<kristianmandrup> yes, that must be the case but not even sure how to test for nil yet
21:18:15disruptekx == nil
21:18:19disruptekx.isNil
21:18:23FromGitter<kristianmandrup> yes, I tried
21:18:40disrupteksuggestion: don't guess. know.
21:18:55leorizeI did it
21:19:00leorize!repo alaviss/nim-ryu
21:19:01disbothttps://github.com/alaviss/nim-ryu -- 9nim-ryu: 11An implementation of the ryū float-to-string conversion algorithm. This version is written from scratch based on the paper. 15 1⭐ 0🍴
21:19:12FromGitter<kristianmandrup> https://play.nim-lang.org/#ix=2cw7
21:19:14leorizeI figured out what the hell does that formula do
21:19:19disruptekwow, you're the man, leorize!
21:19:33leorizeyea this is just the basic converter :P
21:19:38leorizeI've yet to actually port ryu
21:20:00leorizethough it said that the only modification should be in the step where the shortest float is computed
21:20:47*Hideki_ joined #nim
21:20:54leorizedamn this basic converter convert even better than the musl libc one
21:21:11leorizeit's slow as hell though, I think
21:21:15leorizehaven't benchmarked it
21:21:18FromGitter<kristianmandrup> Error: type mismatch: got <seq[string], typeof(nil)>
21:21:35leorizeseq.len == 0
21:21:43FromGitter<kristianmandrup> if srcList == nil: ⏎ echo "is nil"
21:21:57FromGitter<kristianmandrup> ok, will try len
21:22:07FromGitter<kristianmandrup> weird kinda nil check hack though
21:22:20FromGitter<kristianmandrup> what if is just empty
21:22:39disruptekit's more likely that you cannot concatenate an empty seq[Rope] and a full seq[Rope].
21:22:52leorizeempty is .len == 0
21:23:04disruptekie. if seq[Rope].len == 0: oldrope = newrope else: oldrope &= newrope
21:23:04leorizenim seq and string don't have a concept of nil anymore
21:23:25disruptekstop guessing.
21:23:27disruptekknow.
21:23:42FromGitter<kristianmandrup> aha! Have never seen this syntax `&=` exactly what I was looking for
21:23:56disruptekequivalent to `add`, usually.
21:25:07FromGitter<kristianmandrup> but this makes no sense to me: if seq[Rope].len == 0
21:25:10*Hideki_ quit (Ping timeout: 255 seconds)
21:25:14disruptekit's pseudocode.
21:25:32FromGitter<kristianmandrup> okay
21:29:08Zevvdisruptek: did it work out with the ini files?
21:29:18disruptekyep.
21:29:53Zevvgood
21:30:06Zevvbut you lose the comments :)
21:30:35FromGitter<kristianmandrup> can't seem to operate on a field of type `seq[Rope]`, do I need to use `ref`? like in `C` `char*`?
21:31:11disruptekstep 1) find out how to use ropes. what functions exist to operate upon them?
21:31:24disruptekstep next) compose a concatenation using such functions.
21:31:24*marmotini_ quit (Remote host closed the connection)
21:31:25FromGitter<kristianmandrup> TSrcCode = ref object of RootObj ⏎ ⏎ ```srcList: seq[Rope] # mutable sequence of ropes/strings``` [https://gitter.im/nim-lang/Nim?at=5e52ef2dff00c664eee0366f]
21:31:54FromGitter<kristianmandrup> Ah, maybe my TSrcCode must be `ref object` and not simply `object` - been doing JS for too long
21:31:56*marmotini_ joined #nim
21:36:25*marmotini_ quit (Ping timeout: 255 seconds)
21:37:45FromGitter<kristianmandrup> This works fine: https://play.nim-lang.org/#ix=2cwe
21:39:15FromGitter<kristianmandrup> same with rope: https://play.nim-lang.org/#ix=2cwf must be sth else. I've read the manual page on ropes, didn't say much, but is not the problem in any case
21:40:10*zahary joined #nim
21:40:55disrupteklife is easier when your variables in different scopes don't share the same name.
21:41:19*zahary quit (Client Quit)
21:41:37*zahary joined #nim
21:41:44disruptekokay, i'm done picking on you. 😉
21:42:05*zahary quit (Client Quit)
21:42:18FromDiscord_<Elegant Beef> Just name all your variables x and an integer
21:43:16disrupteknah, just use different emojis. 🥒🍑
21:51:49disruptekleorize: i would rather have an idiomatic ryu than a fast one, though it'd be nice if idiomatic nim was fast nim, of course. 😁
21:52:50leorizethe basic converter is a reference converter :P
21:52:54leorizeit's super slow
21:53:04leorize4x libc impl in my case
21:53:16leorizeit's only used to verify any implementation that come after :P
21:53:31*solitudesf joined #nim
21:54:21leorizenow the big question will be: do we want the lookup table?
21:54:37*hax-scramper quit (Read error: Connection reset by peer)
21:54:43leorizeit appears to me that a variant without the table is described in this paper
21:54:47*hax-scramper joined #nim
21:54:51leorizebut I'm not sure how fast will it be without that table
22:01:33*filcuc quit (Quit: Konversation terminated!)
22:01:47*filcuc joined #nim
22:10:43*tane quit (Quit: Leaving)
22:12:59*azed joined #nim
22:18:35disrupteki would say the table isn't the problem, as long as it can be disabled for embedded.
22:19:14leorizebad news, the table is required
22:19:24disruptekwell, the small one isn't very large.
22:20:00disruptekima stream modifying disbot to have this radio feature.
22:21:01disruptekhttps://www.twitch.tv/disruptek
22:21:54leorizeit said offline :p
22:22:04leorizeah ok online now
22:22:38leorizewait offline again
22:22:46disruptekjust gonna fix that audio. i have the mic fixed but..
22:24:00FromGitter<kristianmandrup> Why am I getting `unhandled exception: key not found` on `if self.idMap[id] == nil` when `idMap` is a `TableRef[string, ref object]`?
22:24:25disruptekidMap.hasKey("somekey") == true:
22:24:33disruptekor "somekey" in idMap:
22:24:37FromDiscord_<Elegant Beef> isnt it contains?
22:24:45disruptekor idMap.contains("somekey")
22:24:48disrupteksure.
22:24:56FromDiscord_<Elegant Beef> ah it has both
22:25:04disruptekin is a template that calls contains()
22:25:13FromDiscord_<Elegant Beef> you probably want hasKeyOrput
22:25:17FromDiscord_<Elegant Beef> you probably want hasKeyOrPut
22:25:26FromGitter<kristianmandrup> if self.idMap[id] == false: ⏎ ⏎ ```self.idMap[id] = newIdTableEntry()``` [https://gitter.im/nim-lang/Nim?at=5e52fbd6d97c107ed270440a]
22:26:00FromDiscord_<Elegant Beef> yea i'd say just use hasKeyOrPut and discard the obol
22:26:02FromDiscord_<Elegant Beef> bool*
22:26:17FromDiscord_<Elegant Beef> but im a mad man 😄
22:26:23FromGitter<kristianmandrup> I think I might also need `hasKeyOrput`?
22:30:23*solitudesf quit (Ping timeout: 258 seconds)
22:31:32*Hideki_ joined #nim
22:31:59leorizeI see convertToGit disruptek
22:32:25leorizenot all services support the git protocol :P
22:33:28leorizeit said https git.sr.ht over there
22:33:58leorizeyou swapped https:// for git://
22:34:16shashlickGosh working on nimterop newalgo is just too hard, totally need unlimited time and zero distractions
22:37:03leorizeyou should unify the cases cuz windows
22:37:23*neceve quit (Ping timeout: 260 seconds)
22:37:53leorizewindows have case-insensitive file system
22:38:01leorizeyep :P disruptek
22:38:19FromDiscord_<Elegant Beef> nah we need to make good linux specific software to transition windows users to linux
22:38:21FromDiscord_<Elegant Beef> top level iq
22:39:39federico3https://news.ycombinator.com/item?id=22399416 Nim Community Survey 2019 Results
22:41:47leorizedisruptek: see the cannot rename above
22:42:55leorizebut if you don't get rid of the directory then libgit won't clone it again
22:45:20dom96oh cool, it's on the front page
22:45:22dom96took a while
22:47:12dom961 hour and still no comments huh
22:48:02*azed quit (Quit: WeeChat 2.7)
22:59:38FromDiscord_<Recruit_main70007> Do you think we could make some kind of place to request code examples and post them? Since it’s one of the most wanted things in the survey... and I am to shy and rookie to make an OpenGL series...
23:02:53*ptdel joined #nim
23:04:40jkenCouldn't be happier using nim, thanks for all that you do core team!
23:05:33*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:07:39disruptekdude, that's awesome.
23:07:43disruptekwhat are you building?
23:08:32disruptekhttps://www.twitch.tv/disruptek
23:08:54disruptekwhat's the quickest way to convert a string to start with the opposite case.
23:08:57disruptek????
23:09:13leorizeswitch to offtopic
23:09:55disruptekhow is that off-topic?
23:10:16leorizeI already gave you an answer there :P
23:11:13*my_dude joined #nim
23:16:58*abm quit (Quit: Leaving)
23:18:21jkendisruptek, mind sharing your wallpaper? :)
23:20:25jkenill take a look, thanks
23:24:20dadadanushell has some pretty neat ideas ... too bad its implemented in rust
23:28:07*sekao joined #nim
23:29:49*couven92 quit (Ping timeout: 255 seconds)
23:30:51leorizewell there's nothing bad about that
23:32:18leorizetoLower the first addition, then toUpper the next one :P
23:32:33leorizeoops wrong channel
23:32:47dadadaI'm not against rust, it's just that if I wanted to bundle nushell scripts with nim applications, I'd need two toolchains, and so a native nim shell would be nicer
23:33:39*couven92 joined #nim
23:34:08*Hideki_ quit (Ping timeout: 252 seconds)
23:35:25*fredrik92 joined #nim
23:35:32sekaocan anyone point to an example of passing a function from Nim to C? i have a C function that receives a function pointer, and i'm calling it from nim and just passing an anonymous proc. so far i'm getting a SIGSEGV. maybe there's something special i need to do...
23:36:17*freddy92 joined #nim
23:36:20leorizedid you tag the function with {.cdecl.}?
23:37:45sekaono, that was it! thank you
23:39:41*couven92 quit (Ping timeout: 272 seconds)
23:40:19*fredrik92 quit (Ping timeout: 272 seconds)
23:49:20*sekao quit (Remote host closed the connection)
23:49:42*zahary joined #nim
23:54:15*zahary quit (Ping timeout: 272 seconds)