<< 22-01-2018 >>

00:00:20PMunchOh well, time for bed
00:00:21*PMunch quit (Quit: leaving)
00:05:04*fredrik92 joined #nim
00:08:45*couven92 quit (Ping timeout: 260 seconds)
00:09:51*saml_ joined #nim
00:48:23*devdri quit ()
01:03:29*devdri joined #nim
01:32:19*adeohluwa quit (Quit: Connection closed for inactivity)
01:34:59*devdri quit ()
01:44:29*fredrik92 quit (Quit: Client Disconnecting)
01:53:08*MJCaley joined #nim
01:56:18FromGitter<ZarsBranchkin> dom96: I did end up writting something up about the yes in Nim https://gist.github.com/ZarsBranchkin/0e5608aa72033fdf22b551ea85d4cb00
01:58:05FromGitter<zetashift> @ZarsBranchkin nice, to the point read-up :D!
02:02:04*dddddd quit (Remote host closed the connection)
02:20:10*onionhammer quit (Quit: WeeChat 1.9.1)
02:20:35*onionhammer joined #nim
02:57:23*chemist69 quit (Ping timeout: 276 seconds)
03:07:52*saml_ quit (Remote host closed the connection)
03:11:18*chemist69 joined #nim
03:49:15*endragor joined #nim
03:50:45*endragor quit (Remote host closed the connection)
03:51:12*endragor joined #nim
04:12:25*cspar joined #nim
04:14:55*cspar__ quit (Ping timeout: 248 seconds)
04:18:08*cspar_ joined #nim
04:20:15*cspar quit (Ping timeout: 248 seconds)
04:24:37*yglukhov joined #nim
04:28:42*yglukhov quit (Ping timeout: 246 seconds)
04:29:03*MJCaley quit (Quit: MJCaley)
04:31:47*cspar joined #nim
04:33:45*cspar_ quit (Ping timeout: 268 seconds)
04:35:51*wurui joined #nim
04:40:00*endragor quit (Remote host closed the connection)
04:41:06*cspar_ joined #nim
04:43:36*cspar quit (Ping timeout: 256 seconds)
04:43:52*cspar__ joined #nim
04:44:59*endragor joined #nim
04:46:55*cspar_ quit (Ping timeout: 248 seconds)
04:50:26*wurui quit (Read error: Connection reset by peer)
04:58:49*yglukhov joined #nim
05:03:21*yglukhov quit (Ping timeout: 264 seconds)
05:51:56*endragor quit (Remote host closed the connection)
06:10:07*c0ntribut0r left #nim ("Leaving")
06:14:43*daisy_ joined #nim
06:24:29*nsf joined #nim
06:28:08*daisy_ quit (Quit: Page closed)
06:34:10*endragor joined #nim
06:48:28*c0ntribut0r joined #nim
06:48:28*miran joined #nim
06:48:39*user0 joined #nim
06:54:34*endragor quit (Remote host closed the connection)
06:59:11miran@ZarsBranchkin: you should post your 'blazing fast yes' on reddit, might be interesting for general public
06:59:12*c0ntribut0r quit (Read error: Connection reset by peer)
06:59:27*c0ntribut0r joined #nim
06:59:37*c0ntribut0r quit (Read error: Connection reset by peer)
07:00:49*vlad1777d joined #nim
07:01:22*c0ntribut0r joined #nim
07:04:13*solitudesf joined #nim
07:05:30*c0ntribut0r quit (Ping timeout: 246 seconds)
07:06:13*c0ntribut0r joined #nim
07:10:58*c0ntribut0r quit (Read error: Connection reset by peer)
07:13:46*endragor joined #nim
07:15:55*c0ntribut0r joined #nim
07:41:19*c0ntribut0r quit (Ping timeout: 248 seconds)
07:42:24*c0ntribut0r joined #nim
07:52:52*endragor quit (Remote host closed the connection)
07:53:24*endragor joined #nim
08:00:41*c0ntribut0r quit (Read error: Connection reset by peer)
08:01:45FromGitter<Bennyelg> since yesterday I have trouble to figure out why when I use threadpool I can send chunks to be inserted to the database without getting error
08:01:54FromGitter<Bennyelg> the error is not informative at all
08:01:59FromGitter<Bennyelg> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5a659a77ae53c159031a9303]
08:04:32*c0ntribut0r joined #nim
08:07:35*vali_ joined #nim
08:07:43vali_who likes swift lang?
08:07:58vali_maybe i should learn swift instead of rust
08:09:00vali_i discarded pony and nim, maybe when they are 1.0
08:09:40vali_cya, i am gonna read about swift, it looks better than rust
08:10:06vali_well, i am gonna get banned anyway, so im gonna stay till i get banned cuz it doesn't matter if i leave now
08:10:56yunfanvali_: why would you got banned?
08:11:07vali_cuz i am the pony guy lol
08:11:13vali_the "troll"
08:11:32vali_i have been banned like 3 times already
08:16:52*yglukhov_ joined #nim
08:17:29*yglukhov_ quit (Remote host closed the connection)
08:17:46*yglukhov joined #nim
08:23:14*vali_ quit (Ping timeout: 260 seconds)
08:25:53*yglukhov_ joined #nim
08:25:56*yglukhov quit (Read error: Connection reset by peer)
08:32:11FromGitter<mratsim> We don't ban ponies unless it's a troll in disguise
08:32:50FromGitter<mratsim> @dom96 there is a hidden reply to this thread: https://forum.nim-lang.org/t/2390
08:33:28livcdthe forum supports hidden replies ?!
08:34:04FromGitter<Bennyelg> Oh I found the reason why the parallel not work! sqlite is thread safe by default.
08:35:13*yglukhov joined #nim
08:35:14*yglukhov_ quit (Read error: Connection reset by peer)
08:35:22*couven92 joined #nim
08:39:36FromGitter<survivorm> @PMunch and why do you need Parslet if there are pegs lib in nim? Or are they in some way lacking?
08:40:06FromGitter<survivorm> As i see, Parslet is yet another pegs parser
08:41:19FromGitter<survivorm> BTW, is there any two-ways bindings in nim to any LR/LL parsers (yacc, bison, etc)? Or any pure analogues?
08:46:38*Kingsquee joined #nim
08:50:08dom96@ZarsBranchkin awesome! Can I post it on nim-lang.org?
09:00:17*floppydh joined #nim
09:03:27*gmpreussner quit (Ping timeout: 248 seconds)
09:05:39*gmpreussner joined #nim
09:09:12*PMunch joined #nim
09:12:27yglukhovsurvivorm: not sure, but take a look at https://github.com/Quelklef/lilt
09:15:02FromGitter<survivorm> @yglukhov thanks, that's not the same, but looks interesting. Though the idea of SIMPLE parsing is quite entertaining as it is :)
09:16:45yglukhovsurvivorm: a few years a go i've ported dparser to D lang. that dparser is really a masterpiece imo. i would absolutely love in nim.
09:17:12yglukhovbison is just too old for nim imo =)
09:18:06yglukhovhere's my dparser code if you're interested: https://github.com/yglukhov/ddparser
09:18:11FromGitter<survivorm> Though lilt itself via quick look at it's readme looks like a bycicle re-invention. It even uses non-standard terminology. That makes me worry if it's stepping on the most known rakes in process....
09:19:10FromGitter<survivorm> Any chances you'll port it or ffi-it?
09:19:33FromGitter<survivorm> As i heared, d may compile to c...
09:19:44*user0 quit (Read error: Connection reset by peer)
09:20:04*user0 joined #nim
09:20:05FromGitter<survivorm> so, whould it be ugly to make d -> c -> nim transfer?
09:20:35FromGitter<survivorm> with "после сборки тщательно обработать напильником"? :)
09:21:02yglukhovi don't think ffi is good in this case. this piece of software would shine if it takes advantage of nim's compile time.
09:21:02*regtools quit (Quit: Lost terminal)
09:21:17yglukhovso a proper port is needed.
09:21:46yglukhovand i'm not trying to invent any language now, so me porting it is unlikely for now =)
09:22:30FromGitter<survivorm> then code generation maybe? As I've said - d -> c -(c2nim)>nim ?
09:22:52yglukhovok, you could try that ;)
09:23:07yglukhovbut i'm scared to see the output really
09:23:17FromGitter<survivorm> Yeah, me too
09:23:50FromGitter<survivorm> cause this will need much hand tweaking
09:23:51*Arrrr joined #nim
09:23:51*Arrrr quit (Changing host)
09:23:51*Arrrr joined #nim
09:24:10yglukhovwell it took me only around 30 hours total to port it from c to d. porting it from d to nim should be a lot quicker.
09:24:39FromGitter<survivorm> And that's better done by author understanding the algorithm
09:25:04yglukhovi don't understand it %)
09:25:06FromGitter<survivorm> if there's c-version, why not c2nim it directly?
09:25:50FromGitter<survivorm> Like with quantum physics? Just use the formula? ^)
09:26:06yglukhovthere are some constructs that are not idiomatic nim by any means
09:26:27yglukhov"Just use the formula" yeah, smth like that =)
09:31:16PMunchYou talking about parsers?
09:32:20FromGitter<survivorm> Yeah
09:33:27PMunchI was actually just reading the Parslet guide
09:35:15FromGitter<survivorm> Then i look at stdlib packages, i've got the question. Why all parsing in there is made "by hands"? Why not using pegs, or any other generic mechanism? Speed issues?
09:35:31FromGitter<survivorm> I mean nim standard lib
09:35:48PMunchWell, dom96 told me yesterday specifically not to use PEGs for parsing
09:35:52FromGitter<survivorm> like json module, parsexml, parsecsv, etc
09:36:03FromGitter<survivorm> Why?
09:36:06PMunchWhich seems odd considering they are short for Parsing Expression Language
09:36:17PMunchErr s/Language/Grammar
09:36:40FromGitter<survivorm> Yeah, that makes me worry too
09:36:46FromGitter<survivorm> why not
09:36:49PMunchWell, same reason many people would tell you not to use regex
09:37:03FromGitter<survivorm> And that is?
09:37:11PMunchIt's hard to get right, and easy to miss a mistake
09:38:05PMunchTake a simple peg like "'/*' @ '*/'" for example
09:38:14FromGitter<survivorm> Maybe that's just about usage? Cause if you get EBNF-like form right, it makes everything much simpler
09:38:29PMunchThat would match anything between a /* and a */, great for removing multiline comments right?
09:39:02FromGitter<survivorm> `/*` maybe?
09:39:06PMunchBut what happens if your /* is in a string literal, it will get removed. So you need to first know if you are in a string
09:39:25FromGitter<ZarsBranchkin> dom96: Yeah, sure! I guess can post it under my real name for concistency - Valts Liepiņš
09:39:26PMunchGet's messy fast
09:40:06livcdyglukhov: reel valley is only a facebook app or also iOS/android ? ^^
09:40:12FromGitter<survivorm> That's done by writing proper grammar, i think. If I'm not mistaken, of course
09:40:55FromGitter<survivorm> The idea is, `/*` is a comment not just everythere
09:41:14FromGitter<survivorm> but in some constructs
09:41:25FromGitter<survivorm> there it's allowed
09:42:11FromGitter<survivorm> So, I think it's more about proper thinking the grammar rules
09:42:37PMunchYeah I'm not saying it can't be done
09:44:13FromGitter<survivorm> The point is - if You've got EBNF for the language (witch is probably true for the most common languages) - you just feed it to parser and interpret the tree you got.
09:46:02PMunchYeah
09:46:36FromGitter<survivorm> And if you're working with something version-based (like postgresql, for example
09:47:21FromGitter<survivorm> It's much simpler and error-safe just to make versioned-parser based on the grammar
09:47:51FromGitter<survivorm> and it's rather simply available (like https://github.com/postgres/postgres/blob/master/src/backend/parser/gram.y)
09:48:55yglukhovlivcd: android as well. ios coming soon.
09:49:28FromGitter<survivorm> So, for me the question is - is a speed of the issue? If the tradeoff is little, than for me it's not a opposing point in the most cases
09:51:12PMunchHmm, do PEGs work on compile-time now?
09:52:20livcdyglukhov: nice. Do you plan to write a blogpost about that ?
09:53:44yglukhovlivcd: about what exactly? there's was a short post about it. https://yglukhov.github.io/Making-ReelValley-Overview/
09:53:58yglukhovi might do another one if i get enough questions =)
09:57:24FromGitter<dom96> @ZarsBranchkin awesome. Will do later on today :)
09:57:52livcdyglukhov: maybe i just cant imagine how the real repo looks like. I guess I need to write a flappy bird example first :O
09:58:47FromGitter<ZarsBranchkin> Hah, I wanted to try making games in Nim as well. I haven't used SDL in a while, so I ended up following C++ guide while coding in Nim. Worked alright
09:59:32*endragor quit (Remote host closed the connection)
10:00:10*endragor joined #nim
10:00:32yglukhovlivcd: the real repo has a nimble file, srd dir, res dir, tests dir, ci dir with build/deploy scripts. nothing too special. =)
10:01:28yglukhovand some support files, like libopenssl for android/ios, MainActivity.java, etc.
10:22:00FromGitter<survivorm> @dom96 Why pegs module is advised against while creating parsers?
10:25:05*Gertm left #nim ("Closing Window")
10:38:13miran@ZarsBranchkin - don't know if you have seen my previous comment, but i think you should post your 'blazing fast yes' on reddit, might be interesting to general (programming) public
10:39:03FromGitter<tim-st> When I serialize a tuple using marshal it is described as {"Field0": Value, "Field1": "other"}, cant this be described using [Value, "other"]? at least Python does so, and it is more compact
10:39:41FromGitter<ZarsBranchkin> Hm, yeah, noticed that. I guess would be a good idea. Might wait for the guest post to appear on nim-lang.org and maybe just share that
10:41:23*endragor quit (Remote host closed the connection)
10:43:54*endragor joined #nim
10:49:05FromGitter<tim-st> @dom96 is that related to this: https://github.com/nim-lang/Nim/commit/a9a1896c2b811bc4b2bba5d19b37c705e40c948d?
10:59:50*natrys joined #nim
11:15:44*zahary_ joined #nim
11:20:37PMunchsurvivorm, our discussion on parsers from yesterday: https://irclogs.nim-lang.org/21-01-2018.html#22:27:28
11:32:55FromGitter<survivorm> @PMunch - it looks like he advised against using pegs in a certain way (comments replace), not against them at all
11:33:30PMunchYeah I guess
11:40:07dom96indeed.
11:40:35dom96This isn't how you should be using pegs for parsing.
11:46:03FromGitter<survivorm> @dom96 does pegs support something like AST-parsing or structure-to-proc binding?
11:46:36PMunchAnd does it run on compile time now?
11:47:12FromGitter<survivorm> for example, if I want to make some calculus with the results of my BNF non-terminals parsing, can i do that?
11:48:01FromGitter<survivorm> like bind stmtProcessor for stmt non-terminal
11:48:21FromGitter<survivorm> or is it as simple as it seems?
11:48:30FromGitter<survivorm> i mean pegs module
11:48:57*vlad1777d quit (Ping timeout: 263 seconds)
11:50:06FromGitter<survivorm> Because in most cases simply parse is just a first step, then you need to actually DO something with parse result
11:50:57FromGitter<survivorm> the picture I see now is like pegs are just a little more / a little different than regexp
11:55:19*dddddd joined #nim
11:58:07*Snircle joined #nim
11:59:14*Vladar joined #nim
12:24:11*Yardanico joined #nim
12:29:05*sz0 joined #nim
12:30:10avsejhow I can define range with zero length in nim? .. operator produces at least one item
12:30:52PMunchavsej, what do you need a range of zero length for?
12:31:36avsejto iterate zero times for example. for i in 0..len(myseq):
12:32:12avsejor rather start..start+len(myseq)
12:32:51avsejI want to write a loop which will not include second index, something like [begin, end)
12:32:57avsejis that possible?
12:33:27FromGitter<alehander42> why can't you start .. < x
12:33:56avsejoh, thanks. I didn't know about <b
12:34:04FromGitter<alehander42> yeah, it's often useful
12:34:37mirani'm always confused - what is the correct syntax for that? is it ..< or .. < (space before < or not)?
12:35:09FromGitter<alehander42> it's template `..<` in system.nim
12:35:13FromGitter<alehander42> so I guess ..< ?
12:35:23dom96without the space
12:35:25mirani think Araq has changed something with that in the devel version, but i see both versions often written
12:35:27dom96with the space is deprecated
12:36:17miranok, thanks, a ..< b it is! :)
12:46:55*xet7 quit (Ping timeout: 248 seconds)
12:53:10FromGitter<krux02> Araq: about ``resolveAlias``. Would it matter if ``getTypeInst`` would return ``Vec[4,float32`` instead of ``Sym(Vec4f)``?
12:53:39FromGitter<krux02> I wonder if I could change the implementation of getTypeInst, so that it resolves alias types
12:53:48FromGitter<krux02> but first I would like to know what you think about it.
12:57:39FromGitter<krux02> minran: no space before `<`
12:58:34FromGitter<krux02> miran: the version with the space required the unary `<` operator. And I think that operator caused more harm than it helped
12:58:59*xet7 joined #nim
12:59:23FromGitter<krux02> `..<` was in the past there only to make the space in `(a .. (< b))` optional.
13:03:56miranthanks krux02
13:35:31*Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif)
13:36:58FromGitter<krux02> yglukhov: you broke getTypeImpl for me
13:37:55FromGitter<krux02> I mean before your commit getTypeImpl was not very good. But now you implemented it in a way that it inevitably drops information that I rely on.
13:39:29Araqkrux02: I tried to get your requirement to work
13:39:43Araqand I agree with your proposal
13:40:01FromGitter<survivorm> @Araq do you mind if I'll try to add AST-parsing to pegs? Not sure my knowlege will be enough, but still...
13:40:45FromGitter<survivorm> Because as they are now, i'm not sure they're very useful
13:40:47PMunchThat would be cool survivorm
13:40:50FromGitter<krux02> Araq: cool
13:41:27PMunchBut does PEGs work during compile time now? I remember them not doing so previously, but that might've changed
13:41:34yglukhovkrux02: err... commit link please?
13:41:53FromGitter<survivorm> @PMunch valid point
13:42:45FromGitter<krux02> Araq: which proposal are you talking exactly about? This: https://github.com/nim-lang/Nim/issues/6900?
13:43:23FromGitter<krux02> https://github.com/nim-lang/Nim/pull/6891
13:43:33FromGitter<krux02> yglukhov: https://github.com/nim-lang/Nim/pull/6891
13:44:05yglukhovkrux02: yeah, it broke a couple of things for me as well... too bad it's not my commit (
13:44:37FromGitter<survivorm> I'd add something like re.compile to them, but not sure how and if that's possible at all.
13:44:54FromGitter<krux02> yglukhov: oh, sorry
13:45:27*Arrrr quit (Ping timeout: 240 seconds)
13:45:49yglukhovno worries. i'd appreciate if its fixed though =)
13:45:59yglukhovi kinda liked the alias thing...
13:57:54FromGitter<krux02> yglukhov: I like that you like the alias thing. But I hit my head agains a wall when I tried to fix it for myself.
14:03:10Araq> Would it matter if ``getTypeInst`` would return ``Vec[4,float32`` instead of ``Sym(Vec4f)``?
14:03:23AraqI think it would be better.
14:06:42FromGitter<krux02> I thought so, too.
14:16:16FromGitter<krux02> Araq: the question is just how do I know that getTypeInst should be called on the implementation (node.lastSon)
14:18:08FromGitter<krux02> Araq: what exactly are you working on? Because I don't want to implement what you are currently implementing
14:20:04Araqnothing, go on :-)
14:20:25AraqI'm busy with other things, I gave it a shot and decided we need to rewrite this code
14:20:27Araq:-)
14:20:47Araqstart by eliminating these silly one line templates that only save some typing
14:29:27*nsf quit (Quit: WeeChat 2.0.1)
14:30:58FromGitter<krux02> ok I will do that
14:33:34*sz0 quit (Quit: Connection closed for inactivity)
14:34:53*arecaceae quit (Remote host closed the connection)
14:35:11*arecaceae joined #nim
14:40:08*byte512_ joined #nim
14:41:03*byte512 quit (Ping timeout: 248 seconds)
14:55:03user0Hi, is there any archived documentation of the standard library for offline viewing?
15:00:26PMunchYou can probably generate it from the repo
15:02:34FromGitter<ZarsBranchkin> Yeah, as far as I know, the documentation online is the same one Nim repository generates
15:02:53FromGitter<Bennyelg> @dom96 any plan of writing advanced concepts in nim ?
15:02:58Yardanicouser0, you can also use devdocs.io
15:03:07Yardanicoit has good offline-mode
15:04:27FromGitter<ZarsBranchkin> Oh damn, that seems handy. Was bit tedious to navigate to the documentation pages on nim-lang
15:05:47user0>devdocs.io
15:05:50user0Nice
15:05:52user0Thanks
15:06:02CalinouDevDocs is great
15:06:18Calinouhttps://devdocs.egoist.moe/ for a desktop application :)
15:06:52FromGitter<ZarsBranchkin> Damn, gotta take a step further and check what's the emacs support for it
15:09:55FromGitter<ZarsBranchkin> Although don't mind jumping to browser, this will be a great help
15:17:15*c0ntribut0r quit (Ping timeout: 246 seconds)
15:18:27*c0ntribut0r joined #nim
15:31:51PMunchZarsBranchkin, you could always just read the markdown files in emacs :)
15:31:56FromGitter<dom96> Araq: why is ptr[T] a thing? https://github.com/nim-lang/Nim/issues/7124#issuecomment-359458919
15:33:11FromGitter<ZarsBranchkin> nimsuggest-mode does have quick documentation lookup, so I guess I already have everything i need
15:36:02FromGitter<krux02> I didn't even know `ptr T` and `ptr[T]` is any different
15:36:34FromGitter<krux02> my two cents. I don't think `ptr[T]` is bad, I just think it should be no difference at all to `ptr T`
15:36:43FromGitter<krux02> meaning the brackets should be optional
15:37:36FromGitter<krux02> @ZarsBranchkin nice to know that there is another emacs use :P
15:37:44FromGitter<krux02> I use emacs as well
15:38:20FromGitter<ZarsBranchkin> Heh yeah. I'm not really using pure, custom emacs configuration, but going with spacemacs. Found it to be a real great combination of vim and emacs
15:38:58*endragor quit (Remote host closed the connection)
15:39:17FromGitter<krux02> I have my horrible custom emacs customization
15:39:25*endragor joined #nim
15:39:43*c0ntribut0r quit (Ping timeout: 248 seconds)
15:40:01FromGitter<krux02> well I have to be carefull now. Don't go down the editor talk rabbit hole
15:40:29*c0ntribut0r joined #nim
15:40:35*ehmry quit (*.net *.split)
15:40:36*Miguelngel[m] quit (*.net *.split)
15:40:36*Amun_Ra quit (*.net *.split)
15:40:37*unclechu quit (*.net *.split)
15:40:37*surma quit (*.net *.split)
15:40:37*RushPL quit (*.net *.split)
15:40:37*dom96 quit (*.net *.split)
15:40:37*Araq quit (*.net *.split)
15:40:37*huonw quit (*.net *.split)
15:40:51*huonw joined #nim
15:40:58FromGitter<ZarsBranchkin> Hah, yeah true, can talk about editors all day long
15:41:19*surma joined #nim
15:41:42*Amun_Ra joined #nim
15:41:46*Araq joined #nim
15:41:46PMunchNothing wrong with a good rabbit hole krux02
15:41:49*RushPL joined #nim
15:43:22*dom96 joined #nim
15:43:22*dom96 quit (Changing host)
15:43:22*dom96 joined #nim
15:43:40*miran_ joined #nim
15:45:31*Miguelngel[m] joined #nim
15:45:32*ehmry joined #nim
15:46:18*unclechu joined #nim
15:50:12*Arrrr joined #nim
15:50:12*Arrrr quit (Changing host)
15:50:12*Arrrr joined #nim
15:50:47FromGitter<dom96> @krux02 wondering whether those two are different is exactly why both syntaxes shouldn't be possible
15:51:27FromGitter<dom96> why support both?
15:54:32*c0ntribut0r quit (Read error: Connection reset by peer)
15:55:03*c0ntribut0r joined #nim
15:58:37miran_agreed
16:01:35*c0ntribut0r quit (Ping timeout: 240 seconds)
16:03:02*c0ntribut0r joined #nim
16:07:42*c0ntribut0r quit (Read error: Connection reset by peer)
16:08:44*BitPuffin joined #nim
16:09:37FromGitter<mratsim> There is the `Kernel ptr Mem` that is equivalent to `ptr[Kernel, Mem]` in the memory region example
16:09:49FromGitter<krux02> @dom96 well yea I am not that much attached to one of the syntaxes. I just think to get rid of the different representations internally would be the first step to do
16:10:12FromGitter<mratsim> I was also very confused by both syntax
16:10:23*xet7 quit (Ping timeout: 276 seconds)
16:10:25FromGitter<krux02> well it should be explained better I think
16:11:27*clyybber joined #nim
16:11:47PMunchHmm @survivorm, you there?
16:12:08clyybberGood day
16:12:20PMunchGood day clyyber
16:12:25PMunchclyybber*
16:12:40PMunchThose damn Gitter users have me not using tab-completion on nicks :(
16:13:45*c0ntribut0r joined #nim
16:16:38*chemist69 quit (Ping timeout: 256 seconds)
16:21:00*yglukhov quit (Remote host closed the connection)
16:21:35*yglukhov joined #nim
16:23:09FromGitter<Jipok> Hi all. When will 0.18 release?
16:23:16miran_soon TM
16:23:54miran_i heard it should be before fosdem, so in 10 days maybe?
16:24:00federico3uh?
16:24:23*yglukhov quit (Read error: Connection reset by peer)
16:24:45*yglukhov joined #nim
16:24:57*yglukhov quit (Read error: Connection reset by peer)
16:25:30*yglukhov joined #nim
16:26:49*xet7 joined #nim
16:28:46miran_federico3: if that 'uh' is for me - that's what Araq has said couple of days ago
16:30:21*yglukhov quit (Ping timeout: 264 seconds)
16:30:28*chemist69 joined #nim
16:36:33endragordom96: hi! why isn't `getBody` field of HttpClient exposed? Is there a way to process response body of an async request in a chunked manner, without first retrieving it fully?
16:36:50PMunchmiran_, well he said that he didn't say it: https://irclogs.nim-lang.org/18-01-2018.html#12:29:23 :P
16:36:55dom96endragor: yes, see how downloadFile is implemented
16:37:08endragordom96: downloadFile uses `getBody` field and it is not exported
16:37:16miran_PMunch: damn! :D
16:37:21dom96yeah, I doubt it'll happen in 10 days :P
16:37:48miran_...because it will happen in less than that? :P
16:37:52PMunchdom96, do you have any track of how many/who are going to FOSDEM from the community?
16:38:09FromGitter<mratsim> Maybe time for a survey :P
16:38:12FromGitter<mratsim> I’m going
16:38:20PMunchAnd by the community I mean mostly people who are to be found in this channel w/bridges
16:38:20YardanicoPMunch, https://github.com/nim-lang/Nim/wiki/FOSDEM-2018 ?
16:38:54dom96miran_: well, you never know :)
16:39:06miran_that is indeed true :)
16:39:16PMunchYardanico, well that's booth presence
16:39:30PMunchI'll be going as well, but I don't have an official role at the booth
16:39:57FromGitter<krux02> doing anything with the AST is horrible
16:40:17FromGitter<krux02> the ast has symbols and identifiers, but they are never resolved properly
16:40:20FromGitter<mratsim> I’ll be tasting fries, beers and gauffres
16:40:35dom96yeah, btw, if any of you want to volunteer for the stand
16:40:38dom96That'd be great :)
16:40:44PMunchmratsim, sounds like a good idea. Belgians have all those down to a science!
16:40:51FromGitter<krux02> I try to replace symbols in an ast
16:40:53FromGitter<mratsim> @krux02, are you using generics?
16:40:54FromGitter<krux02> forget that
16:40:57FromGitter<krux02> yes
16:41:03FromGitter<mratsim> that’s why
16:41:04FromGitter<krux02> I am using generics
16:41:04FromGitter<mratsim> :P
16:41:13FromGitter<krux02> I use generics
16:41:24PMunchI was thinking that maybe we should try to have a Nim meetup during FOSDEM. Go out to the same bar/restaurant/whatever one of the evenings
16:41:34dom96yeah, definitely
16:41:37FromGitter<mratsim> generics are resolved later and that’s a pain. I have a very long standing bug in Arraymancer that I just shudder at the idea to fix
16:41:40dom96Maybe we could even do some sort of Nim hack? :)
16:41:48FromGitter<mratsim> on Twitch?
16:41:49FromGitter<mratsim> :P
16:41:56PMunchdom96, ooh, even better :)
16:42:10PMunchBut that would probably require somewhere else than a bar to do :P
16:42:25FromGitter<krux02> walking in the macros area in Nim is horrible
16:42:29FromGitter<krux02> planning is impossible
16:42:38PMunchkrux02, it's not that bad..
16:42:47FromGitter<krux02> because all plans are screwed by bugs
16:42:55FromGitter<krux02> dead ends
16:42:57dom96PMunch: Not if we find a quiet bar :D
16:43:13FromGitter<mratsim> “quiet” + “bar” + “Saturday” ?
16:43:16FromGitter<krux02> PMunh: well actually it is that bad
16:43:25PMunchIn my experience quiet Bruxelloise bars are few and far between :P
16:43:33FromGitter<mratsim> I have this that is a pain to solve: https://github.com/mratsim/Arraymancer/issues/62
16:43:41FromGitter<krux02> I mean macros work as long as you don't do anything with tha ast
16:43:50FromGitter<krux02> but then macros are also pretty pointless
16:44:25dom96macros are awesome
16:44:32dom96they do get complex quickly though
16:44:44dom96PMunch: Maybe we can find a cafe or something
16:44:51federico3dom96, PMunch: there's very little close to the ULB
16:45:12PMunchfederico3, yeah I've never been to that part of town before
16:45:15FromGitter<krux02> dom96: wrong, macros would be great if they would actually work
16:45:41dom96krux02: what doesn't work?
16:46:14FromGitter<krux02> symbols
16:46:30FromGitter<krux02> I can give you an example that doesn't involve generics
16:46:41dom96Do you have an issue number?
16:47:25miran_any reason why https://github.com/nim-lang/Nim/pull/6517 is not merged?
16:47:32FromGitter<mratsim> @krux02 @dom96 I think it’s similar to my issue here "It seems like for generics, macros are called before symbol resolution (but after identifier resolution). ⏎ ⏎ This means that instead of giving me the proper symbol, Nim returns all the procs that are possible match:” https://github.com/mratsim/Arraymancer/issues/62
16:47:59endragordom96: so... is `getBody` supposed to be exported?
16:48:04FromGitter<mratsim> You get stuck with OpenSymChoice and you have to deal with it
16:48:07dom96endragor: no
16:48:18endragordom96: then how do I process response in a chunked manner?
16:50:31dom96endragor: use get() and then read from the client.bodyStream
16:50:51endragordom96: in such case get() first receives full response, which makes it pointless
16:51:02*Trustable joined #nim
16:51:55dom96hrm
16:52:33FromGitter<krux02> dom96: http://ix.io/EvO
16:52:39dom96endragor: seems you're right
16:52:40PMunchmratsim, according to this: https://github.com/zah/grip-lang/blob/master/compiler/patterns.nim#L69 you could just grab any of the syms in the open sym choice and it should work
16:53:42PMunchBut that might be at a different abstraction level
16:53:53FromGitter<mratsim> Thanks @Pmunch, I’ll try
16:53:53dom96endragor: that should be fixed
16:54:01dom96But I don't think it's just a case of exporting getBody
16:54:10FromGitter<krux02> dom96: I use the hack, I take the identifier, then I do a depth first search in the ast to find a symbol that is equal to the identifier, and then I pretend I had that symbol from the beginning
16:54:46dom96Afraid I have to go
16:54:55FromGitter<krux02> is it correct? no. but it get's my examples compiling. And as long as I know what I am not allowed to do I don't get conflics. But for a library for others to use it is just inacceptable.
16:55:02dom96You should report it as an issue
16:56:31FromGitter<krux02> dom96: I did here https://github.com/nim-lang/Nim/issues/6771
16:56:42FromGitter<krux02> for some reason it got tagged as a feature
16:57:30endragordom96: Well exporting getBody would allow to replicate what downloadFile does
17:03:18*PMunch quit (Ping timeout: 246 seconds)
17:05:39*rokups joined #nim
17:08:07enthus1asthey guys, i've started to copy and paste mime related stuff from the stdlib any opinions on this? https://github.com/enthus1ast/nimMime/
17:10:23enthus1asti would also add a MimeMsg (or so) which is basically MimeHeader and Body
17:14:29*couven92 quit (Quit: Client disconnecting)
17:28:32*endragor quit (Remote host closed the connection)
17:29:20*endragor joined #nim
17:33:35*endragor quit (Ping timeout: 255 seconds)
17:43:42*endragor joined #nim
17:43:58*fvs joined #nim
17:44:40*nsf joined #nim
17:48:21*endragor quit (Ping timeout: 263 seconds)
17:48:53FromGitter<alehander42> ok, can I just invoke a proc instead of macro on compile time
17:49:16FromGitter<alehander42> the problem is I need to pass an int, and I can use static[int], but then I can't make a loop in which I invoke the macro
17:49:35FromGitter<alehander42> but if I try to use a proc, I get request to generate code for .compileTime proc:
18:02:45def-alehander42: you can call the proc from the macro
18:02:50def-and then make the macro recurse
18:06:34FromGitter<alehander42> yeah, that's possible, but it wouldn't be a bit ugly for my usecase
18:06:40FromGitter<alehander42> it would be *
18:08:08*floppydh quit (Quit: WeeChat 2.0.1)
18:08:13FromGitter<alehander42> btw, just read your blog post, an interestint viewpoint, I've had similar fears before
18:09:27def-you have a minimal example code?
18:09:36*Araq quit (Ping timeout: 268 seconds)
18:11:20*Araq joined #nim
18:13:16FromGitter<alehander42> I created one here: https://gist.github.com/alehander42/95ec1148f3801a4b0ba102b521ea0396
18:13:48def-I mean, you can just run regular code at compile time, but that's probably not what you want: https://gist.github.com/def-/d57e784ce7578a07b3fe4b8790fc96fa
18:15:35def-no, I think you have to go through a macro here if you don't just want to return a value
18:16:11def-of course you could write a template that automatically creates the macro and compiletime-proc for you :D
18:16:34FromGitter<alehander42> yeah, I'll probably just replace the loop with manual several lines
18:16:59FromGitter<alehander42> :D ah, I'll pass
18:18:10def-a proc can't inject code, like creating a new proc
18:20:27FromGitter<alehander42> indeed, I assumed it can
18:26:25*yglukhov joined #nim
18:31:03*yglukhov quit (Ping timeout: 265 seconds)
18:43:55shashlickFor those of you not using Windows, what terminal mode are you using? echo $TERM
18:44:11Yardanicoshashlick, xterm-256color
18:44:16Yardanico(gnome-terminal)
18:44:27shashlickAnd what client? Xterm, console, ssh etc.
18:45:09FromGitter<ZarsBranchkin> Same, have xterm-256color and Xterm(tilda)
18:45:47dom96endragor: yeah, but I don't we should be exposing such a fragile API
18:45:55dom96*don't think
18:46:09Yardanicoshashlick, as I said, gnome-terminal :)
18:46:25Yardanicoalso deepin-terminal looks very good
18:46:26FromGitter<ZarsBranchkin> What about having an argument for `getBody`, instead of overriding it temporarely
18:46:35FromGitter<ZarsBranchkin> It seems that's how downloadFile works
18:47:36FromGitter<ZarsBranchkin> Aka, have `getBody` be an optional argument for `get`, so that the functionality is nicely exposed to other modules too
18:47:41*MJCaley joined #nim
18:47:47dom96I think I can make it work without this `getBody` dance
18:56:33shashlickHave been working on a quick nim editor to test small snippets
18:57:47shashlickOn the command line so trying to keep it simple without resorting to ncurses
19:00:29dom96shashlick: nice!
19:01:35FromGitter<ZarsBranchkin> Sounds pretty great, I usually go to `/tmp` make a directory and play around like that, tedious
19:02:21dom96If that can replace Aporia for me then I'll be really happy
19:02:34dom96might need a GUI for that though
19:03:21FromGitter<ZarsBranchkin> Actually, this could make a great, simple code editor plugin. Could give it a try later on
19:05:08shashlickI considered GUI but there's so many good editors
19:06:16shashlickThis is just to try quick stuff with minimal effort, not quite a repl in the traditional sense
19:06:34shashlickJust fighting with the key binding nonsense
19:07:10shashlickDocumentation on terminfo is just so bad
19:22:08*yglukhov joined #nim
19:23:25*yglukhov quit (Read error: Connection reset by peer)
19:23:59*yglukhov joined #nim
19:25:25*scriptum joined #nim
19:31:47dom96@ZarsBranchkin: PM'd you on Gitter
19:33:19*BitPuffin quit (Remote host closed the connection)
19:34:47*xkapastel joined #nim
19:41:47FromGitter<ZarsBranchkin> Oh, right, will check
19:45:55*c0ntribut0r quit (Ping timeout: 260 seconds)
19:47:08*c0ntribut0r joined #nim
19:49:24*rokups quit (Quit: Connection closed for inactivity)
19:50:26FromGitter<krux02> I got my resolveAlias wohoo it works
19:50:30FromGitter<krux02> http://ix.io/Ewf
19:51:14*yglukhov quit (Remote host closed the connection)
19:51:50*yglukhov joined #nim
19:54:52*natrys quit (Read error: Connection reset by peer)
19:55:52*yglukhov quit (Remote host closed the connection)
19:56:04*yglukhov joined #nim
19:57:56dom96@ZarsBranchkin: any luck? :)
19:58:18dom96@krux02: \o/
19:58:21dom96Sorry I wasn't able to help out
19:58:30FromGitter<ZarsBranchkin> Hah, not too sure what to put there, slightly underprepared for this
19:58:30*yglukhov quit (Remote host closed the connection)
19:59:03FromGitter<ZarsBranchkin> If I had blog on my site, would be good to post the original there and link that, but don't really have one atm
19:59:05*yglukhov joined #nim
19:59:27*Yardanico quit (Remote host closed the connection)
20:00:21dom96@ZarsBranchkin: oh well, it's okay. I'll just mention your name :)
20:00:34*miran_ quit (Remote host closed the connection)
20:00:43FromGitter<ZarsBranchkin> Yeah, I guess will do
20:03:11dom96https://nim-lang.org/blog/2018/01/22/yes-command-in-nim.html
20:03:13dom96Posted :)
20:03:21FromGitter<krux02> dom96: yes apparently it was getImpl that I needed and some manual substitutions of generic types
20:03:25FromGitter<krux02> but after all it works
20:03:27*yglukhov quit (Ping timeout: 240 seconds)
20:03:34FromGitter<ZarsBranchkin> alright, great!
20:04:01FromGitter<krux02> my resolve alias will return a sequence of defined alias types
20:04:24FromGitter<krux02> for example this: ``seq(Vec4f, Vec4[float32], Vec[4, float32])``
20:11:23*yglukhov joined #nim
20:12:35dom96cool
20:12:47dom96what are you using this for?
20:13:14FromGitter<krux02> macros
20:13:24FromGitter<krux02> dom96 macros only and getImpl
20:13:48FromGitter<krux02> getTypeIml and getImpl do very different things
20:14:04FromGitter<krux02> not very intuitive and I really forgot to use getImpl
20:15:27FromGitter<krux02> I go the hint from @jcosborn that really helped me a lot
20:18:36*PMunch joined #nim
20:20:03PMunchenthus1ast, do you have a readme for nimMime?
20:23:16*tinAndi joined #nim
20:30:04avsejis there something like ntohll in nim? I found all typical functions in nativesockets, but there is nothing for 64 bit
20:31:04*tinAndi_ joined #nim
20:31:19PMunchswapEndian64 from https://nim-lang.org/docs/endians.html probably fits the bill
20:31:36avsejthanks :)
20:31:49PMunchNo problem :)
20:32:40*beatmox quit (Ping timeout: 268 seconds)
20:32:51*beatmox joined #nim
20:33:17*tinAndi quit (Ping timeout: 268 seconds)
20:33:26*tinAndi_ is now known as tinAndi
20:34:31*allan0 quit (Ping timeout: 268 seconds)
20:35:45*yglukhov quit (Ping timeout: 268 seconds)
20:36:20*yglukhov joined #nim
20:36:39*Trustable quit (Remote host closed the connection)
20:39:27*allan0 joined #nim
20:41:57FromGitter<krux02> https://gist.github.com/krux02/b406f7f5873cebcdc6ec9146a2624c7d
20:42:23FromGitter<krux02> that is my resolveAlias
20:42:27FromGitter<krux02> I like it
20:42:52FromGitter<krux02> it does not feel like a huge hack
20:43:21FromGitter<krux02> it feels kind of elegant even though I already throw the idea away that this could have an elegant solution
20:48:36*Arrrr quit (Read error: Connection reset by peer)
20:56:25*yglukhov quit (Remote host closed the connection)
21:05:44*32NABI1CI joined #nim
21:20:26FromGitter<zetashift> @dom96 you read that you wanted a webassemly backend, but shouldn't that be already possible cause Nim compiles to C(https://forum.nim-lang.org/t/2838)?
21:22:03*32NABI1CI quit (Read error: Connection reset by peer)
21:22:38PMunchzetashift, it is indeed already possible
21:22:44*yglukhov joined #nim
21:22:48PMunchBut having a native WebAssembly backend would be neat
21:23:19*MJCaley quit (Quit: MJCaley)
21:23:37PMunchIt would allow for better optimizations along with better ease-of-use for potential new users, and another feather in Nims hat with "C, C++, JS, and WebAssembly" target backends
21:24:29*arecaceae quit (Remote host closed the connection)
21:24:48*arecaceae joined #nim
21:27:33*yglukhov quit (Ping timeout: 268 seconds)
21:28:04*fvs left #nim ("ERC (IRC client for Emacs 25.3.1)")
21:28:50*yglukhov joined #nim
21:31:35enthus1astPMunch: i was looking through the stdlib, because mime related code was spread over a few modules (httpcore, smtp, asynchttpserver) i've bundelt it and build the mime.nim. I've also patched the given modules.
21:31:49*c0ntribut0r quit (Read error: Connection reset by peer)
21:31:51PMunchOooh nice
21:31:55PMunchSounds like a good idea
21:32:02*c0ntribut0r joined #nim
21:32:07PMunchKeeping related functionality in one module the others can depend on :)
21:32:50enthus1astbut before makeing a pr i want to hear your thoughts :)
21:34:18enthus1astshould i for example deprecate the procs in the current modules?
21:34:36enthus1astor just remove them and export mime.nim
21:36:08PMunchHmm, I'd say maybe deprecate them and in a commented out block below expose the mime.nim functions so it's easy to switch? What will happen with deprecations once Nim hits 1.0 anyways? I assume they will all be wiped before then? A bit odd to have a 1.0 language with deprecations already :P
21:43:49*yglukhov quit (Read error: Connection reset by peer)
21:44:29*yglukhov joined #nim
21:48:15*Vladar quit (Quit: Leaving)
21:49:07*yglukhov_ joined #nim
21:49:08*yglukhov quit (Ping timeout: 268 seconds)
22:01:59clyybberGood night/day everyone
22:02:10*clyybber quit (Quit: good night)
22:02:47*nsf quit (Quit: WeeChat 2.0.1)
22:14:55*tinAndi quit (Ping timeout: 248 seconds)
22:15:02*PMunch quit (Quit: leaving)
22:19:14*scriptum quit (Quit: Leaving)
22:22:27*solitudesf quit (Ping timeout: 240 seconds)
22:37:53*couven92 joined #nim
22:43:07*vlad1777d joined #nim
22:46:41*marenz_ joined #nim
23:03:00*arecaceae quit (Remote host closed the connection)
23:06:19*arecaceae joined #nim
23:07:13*jxy quit (Ping timeout: 248 seconds)
23:12:38*yglukhov_ quit (Remote host closed the connection)
23:25:02*jxy joined #nim
23:27:15*RushPL quit (Remote host closed the connection)
23:29:29*RushPL joined #nim
23:30:44*thomasross_ quit (Remote host closed the connection)
23:49:58*Calinou_ joined #nim
23:50:00*Calinou quit (Ping timeout: 268 seconds)