<< 06-07-2019 >>

00:01:45*chun quit (Remote host closed the connection)
00:12:35FromGitter<Varriount> @ratiotile the combination of its parameter and return types.
00:13:22FromGitter<ratiotile> it's a bit confusing because the iterator type is the same as that of an instance, when printed out
00:14:03FromGitter<Varriount> @ratiotile Implementation-wise, a closure and a closure iterator is represented through a structure containing two pointers.
00:26:23*stefanos82 quit (Quit: Quitting for now...)
00:43:10FromGitter<ratiotile> I reimplemented my benchmark using closures, and got similar results. I think that the GC is killing perf. Now I should try removing all `ref`s.
00:57:15*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
01:15:25FromDiscord_<SychoRyn> I want to do some nim stuff but my computer just
01:15:27FromDiscord_<SychoRyn> Doesn’t work
01:40:14FromDiscord_<treeform> just throw the computer way, get new one.
01:44:40*Tanger quit (Ping timeout: 268 seconds)
01:46:15FromDiscord_<demotomohiro> SychoRyn:How about to use online Nim compiler.
01:46:16FromDiscord_<demotomohiro> https://play.nim-lang.org/
01:46:16FromDiscord_<demotomohiro> https://wandbox.org/
01:46:16FromDiscord_<demotomohiro> https://github.com/demotomohiro/nim4colab
02:08:36disruptekAraq: i setup klee and it successfully identifies the pointer error in the test case from your stream, complete with the line number in the nim source. it doesn't like nim's memory alloc though. i have to dig into what's going on there. maybe a guard is needed just to comfort the analysis.
02:08:52*Tanger joined #nim
02:45:50*laaron- joined #nim
02:47:56*leorize quit (Ping timeout: 260 seconds)
02:48:50*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
02:49:37*leorize joined #nim
03:03:29*lritter quit (Ping timeout: 248 seconds)
03:30:03FromGitter<zacharycarter> question I think I already know the answer to - would it be possible to have a module name passed as a command line arg and then import that module and use it with HCR?
03:30:17FromGitter<zacharycarter> I know I've imported modules at runtime via macros before - but that's not really at runtime
03:40:39*smitop quit (Quit: Connection closed for inactivity)
03:42:27FromGitter<awr1> what is this for
03:47:42FromGitter<zacharycarter> my game engine
03:50:26*Jesin quit (Ping timeout: 272 seconds)
04:16:14*xet7 quit (Remote host closed the connection)
04:18:36*laaron- quit (Remote host closed the connection)
04:22:31*laaron joined #nim
04:44:49*xet7 joined #nim
05:05:42*dddddd quit (Remote host closed the connection)
05:22:38*BaldEagleX02_ quit (Ping timeout: 252 seconds)
05:56:56*solitudesf joined #nim
06:01:14*nsf joined #nim
06:10:03*brakmic joined #nim
06:14:32*brakmic_ joined #nim
06:14:46*brakmic quit (Ping timeout: 268 seconds)
06:18:42*narimiran joined #nim
06:23:39*brakmic joined #nim
06:26:32*absolutejam4 joined #nim
06:27:30*brakmic_ quit (Ping timeout: 272 seconds)
06:43:52*traviss joined #nim
06:48:22travisswhen i want to run all my tests files which are in a tests directory and all start with 't' with `nimble test`, I get 'cannot open file' errors due to not being able to find nimble packages. I see that --noNimblePath is being passed to nim. How can I disable the parameter? I really like the nimble test task otherwise... could be really convenient.
06:49:18*absolutejam4 quit (Ping timeout: 268 seconds)
06:54:00travissoops, i just needed to add to the `requires` variable in my .nimble file for each package i want to use.
06:59:17*Trustable joined #nim
07:00:00*gmpreussner quit (Quit: kthxbye)
07:04:31*gmpreussner joined #nim
07:22:55*Trustable quit (Remote host closed the connection)
07:24:30*couven92 joined #nim
07:25:04*narimiran quit (Ping timeout: 268 seconds)
07:39:13*solitudesf quit (Ping timeout: 248 seconds)
07:50:07*traviss quit (Quit: Leaving)
07:50:41*dwdv joined #nim
07:58:15lqdev[m]zacharycarter: you can do this using dynamic libraries, but not HCR afaik
07:58:25lqdev[m]see the `dynlib` module
07:59:35*Perkol joined #nim
08:05:31FromDiscord_<Skaruts> hi
08:05:49FromDiscord_<Skaruts> what's a good site for sharing code snippets?
08:06:02FromDiscord_<Skaruts> (one that doesn't require an account)
08:06:32kungtottehttps://paste.rs/
08:10:00FromDiscord_<Skaruts> thanks
08:11:41FromDiscord_<Skaruts> can anyone tell me why this code isn't working as intended: https://paste.rs/uX8
08:12:32FromDiscord_<Skaruts> I pass the value of `i` to the proc, but in the end it's like I passed `9` to all of them
08:13:40FromDiscord_<Skaruts> I tested creating a button outside the loop and gave it a literal and it printed that number, as it should, it just seems to not work in the loop
08:13:56FromDiscord_<Skaruts> (an int literal)
08:13:57leorizeplay.nim-lang.org can also be used to share snippet
08:14:29FromDiscord_<Skaruts> oh nice, thanks
08:23:54Araquse closureScope
08:26:26FromDiscord_<Skaruts> you mean like `act_button.add_action( proc( code in here ) )` ?
08:27:19FromDiscord_<Skaruts> I made a small example of my code here: http://ix.io/1NPC/nim
08:29:16FromDiscord_<Skaruts> hopefully it's not confusing
08:31:27lqdev[m]also, termbin.com and ix.io
08:37:17FromDiscord_<Skaruts> hmm, if I share the address https://play.nim-lang.org/#ix=1NPE, other people can see the code and edit it?
08:40:30*nsf quit (Quit: WeeChat 2.4)
08:43:45*disruptek quit (Ping timeout: 248 seconds)
08:45:53*disruptek joined #nim
09:00:27*Perkol quit (Quit: Leaving)
09:04:24*stefanos82 joined #nim
09:09:54FromDiscord_<Travis> A solution is to use closureScope and also make a copy of the loop var `let j = i`
09:09:54FromDiscord_<Travis> https://play.nim-lang.org/#ix=1NPP
09:10:58FromDiscord_<Travis> This doesn't work unless you make a copy of the loop var.
09:14:47FromDiscord_<Skaruts> didn't know about that closureScope thing
09:15:41*tjmac joined #nim
09:16:51FromDiscord_<Skaruts> but it seems to not work in my real project because I'm initializing an object
09:17:33*alexander92 joined #nim
09:18:09FromDiscord_<Skaruts> because I have to move all the code into the closureScope, and it gives me this error:
09:18:12FromDiscord_<Skaruts> layers_panel.nim(32, 38) Error: 'result' is of type <LayersPanel> which cannot be captured as it would violate memory safety, declared here: layers_panel.nim(16, 0)
09:21:10FromDiscord_<Skaruts> wait, no actually I don't need to do that
09:21:33FromDiscord_<Skaruts> just moved the lines where I add the actions to the buttons
09:21:39FromDiscord_<Skaruts> now it's working properly
09:21:44FromDiscord_<Skaruts> thanks
09:26:23alexander92hmm
09:26:42FromDiscord_<Skaruts> out of curiosity, though, why can't it work with the loop var?
09:27:49FromDiscord_<Skaruts> (and without closureScope)
09:29:15Araqit used to work but we liked the speed and JS interop of the current model better
09:37:34*jjido joined #nim
09:38:12FromDiscord_<Travis> glad its working for you. anyone know of a shorthand for making a copy? i tried `i.deepCopy` but that didn't seem to do the trick in the closureScope example above. i thought there might be a shorthand something like `i.copy`...
09:43:49FromDiscord_<Skaruts> I see
09:45:28*narimiran joined #nim
09:46:52*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:54:14FromDiscord_<Skaruts> I suppose the copy of an int is always by value?
09:55:45*clyybber joined #nim
09:56:22lqdev[m]Travis: see the docs for shallowCopy and deepCopy in the system module
09:58:26lqdev[m]also, you can make a proc like `proc myCopy[T](x: T) = var y = x; result = y` and it will copy
09:58:58lqdev[m]Skartus: yes
09:59:20*chun joined #nim
10:04:18FromGitter<zacharycarter> lqdev[m]: thanks - yeah I know this was possible with dynamic libs but I was hoping (not expecting) I'd be able to achieve something similar for HCR
10:04:23FromGitter<zacharycarter> doh well
10:07:08federico3 the "used by" button on GH works even for elixir but not for Nim
10:16:27alexander92hmm it seems
10:16:32alexander92its because of npm
10:16:45alexander92e.g. for phoenix it shows 'npm i phoenix'
10:17:02alexander92so they dont really support mix
10:17:12alexander92they just happen to have package.json
10:35:08*Vladar joined #nim
10:37:04alexander92btw Araq, why do i get invalid type: 'KeyValuePairSeq[system.string, proc (id: int): tuple of (HttpCode, string){.locks: <unknown>.}]' for var
10:37:16alexander92what does "for var" mean here
10:38:11alexander92it happens when i initTable with a proc
10:38:16alexander92but not when i set a key
10:39:56alexander92praise the Lord, fixed my erro
10:40:05alexander92now i need to use a logging lib
10:40:17alexander92do you guys use logger mostly?
10:42:18*lf-araujo joined #nim
10:43:26alexander92hm, async errors are nice
10:43:39*absolutejam4 joined #nim
10:48:48*solitudesf joined #nim
10:49:42Zevvdom96: In case you're interested in linking to it: I feel my nim memory writup is kind of finished for now, although I might add more stuff later. The definitive location is http://zevv.nl/nim-memory/
10:49:52*drewr quit (Ping timeout: 264 seconds)
10:51:03narimiranZevv: you style-stealer! :P :D
10:51:10Zevvalexander92: I use logger but with some extensions to do color output
10:51:27Zevvnarimiran: yeah, I'm a absolute style nitwit, so stealing is usually the best option
10:51:32*dddddd joined #nim
10:51:55ZevvAnd as your docs are marked "MIT", you can whine but you can't sue me :)
10:52:00narimiranbut you chose to widen your lines.... and now they're too long ;)
10:52:08alexander92Zevv, i use chronicles, but its not a very classical logger
10:52:17Zevvnah, much better. The original was nastily narrow
10:52:41alexander92but it seems ok for now
10:52:55*narimiran puts his typography hat on and is ready to fight
10:53:34ZevvOh yeah? You kernings sucks and your ligatures are wider then yo mama!
10:53:49narimiranmy keming? :P
10:53:55ZevvGhehe
10:54:14Zevvthat made me laugh out and scare the dog off the couch
10:54:25narimiran:)
10:54:47narimirani'll count that as my win for this round.
10:54:56ZevvI'll grant you that
10:55:44alexander92oh nice blog
10:56:25narimiranZevv: on a serious note: nice topic there and i plan to read it after the lunch
10:56:29alexander92when i had a blog, finally i changed my theme and split the screen in two: in the one half i had links to prog articles in english, in the other to small stories in bulgarian
10:56:53narimiran(thankfully i can use reader mode on my browser, to have reasonable line lengths :P)
10:56:55alexander92it was great lesson in horrible UX
10:57:33alexander92do you use firefox's eader
10:57:35alexander92?
10:57:38alexander92reader
10:58:17Zevvmore and more often
10:58:24narimiranalexander92: i'm using vivaldi (i think it had it before firefox got it), it is the successor of opera, which i used back in the day and was big fan of it
10:58:26Araqalexander92: it was a regression in 0.20, fixed on devel
10:58:27ZevvI used to have extensions for that, but reader is ok
10:58:49Zevvnarimiran: please do, any comments much appreciated.
10:59:22Zevvit's pretty basic, target audience is beginners comming from higher level languages like python/JS
10:59:31enthus1astcan i force nimble to always download the newest dependency version, based on commit hash?
11:00:40FromGitter<zacharycarter> is there a good 32-bit floating point linalg library out there?
11:00:44alexander92Araq amazing, good
11:01:27alexander92narimiran, oh so .. is it a browser? interesting, a choice out of the big 3
11:01:34alexander92big 2
11:01:55leorize[m]enthus1ast: add @#head to the dep
11:02:07leorize[m]<alexander92 "narimiran, oh so .. is it a brow"> tbh, it's still chromium inside
11:02:29kungtotteVivaldi isn't that much of a choice, it's still the same engine as the Chrome family but with all the Google privacy invasion ripped out.
11:02:46enthus1astleorize[m]: the issue is than i must go through the nimble file of the module i want to install
11:02:54kungtotteIt's also closed source, if that matters to you.
11:03:28kungtotteI like it, as a fan of the old-time Opera I think they're doing a great job of bringing back the classic Opera feeling, and since the Internet is designed to cater to Chrome every webpage ever will work for you
11:03:43enthus1astleorize[m]: i thought of a thing like: ignore the tag, just download and install all dependencys again
11:03:56leorize[m]ah, then you can't do that
11:04:54alexander92love this
11:05:03alexander92my mother was a huge fan of opera, but i never really got it
11:05:09alexander92but i still meet people that love it
11:05:34alexander92i installed firefox on my android yesterday and it seemed fine, good sign
11:06:01enthus1astuntil you open the developer console alexander92; it can't even list ws frames ....
11:07:03kungtotteThere's a big difference between classic Opera and the current Opera. I forget which version it was but it was around v13 or something that Opera became essentially a reskinned Chrome. They had their own in-house engine and the GUI was fairly unique as well, they also had a lot of features prior to everyone else.
11:07:07alexander92there was an expandmacros switch, right ..?
11:07:57kungtotteIt was a kitchen sink kind of browser and included an IRC client, email client, etc. and they had a "MDI" interface which allowed for tabs before anyone else had even considered tabs, mouse gestures were built in etc. before anyone else had them.
11:09:17*lf-araujo quit (Ping timeout: 250 seconds)
11:12:14leorize[m]doesn't mozilla internet suite also a kitchen sink?
11:12:21leorize[m]not sure if before or after opera
11:13:32kungtotteIt came after Opera, but yeah it was the same way
11:13:46narimiranopera was ahead of its time in lots of things, others were copying it
11:13:52kungtotteA lot of people refused to switch to Firefox (or Phoenix as it was called then) because it lacked an e-mail client or IRC
11:14:14kungtotteThen came Thunderbird and a bunch of people switched over
11:21:48alexander92oh God good
11:21:59alexander92yeah sounds like a normal development
11:22:21alexander92i wonder if people are able to write a good new renderer these days from zero
11:22:47alexander92after all chromium/firefox are open source iirc (are they? is firefox's renderer actually open)
11:23:29enthus1astafaik yes its called gecko
11:27:44enthus1asti must say, i to often find myself helping nimble to work, or try and error on the pkg structure, or copy pasting pkg examples in an editor, it would be super nice if it would be more idk. "less magical"
11:28:09enthus1astor deleting pkgs from the pkg directory
11:30:17enthus1astit all breaks down if one forgets to inc the version number
11:34:10enthus1astmpd
11:34:25enthus1astncm
11:34:52enthus1astlol sorry
11:37:04clyybbersomeone wanted to open ncmpcpp :)
11:37:32enthus1astidk what happend but terminator just writes to all terminals at once...
11:37:42clyybberhuh, thats weird
11:38:45enthus1astah its a feature called broadcast ;)
11:45:42Araqclyybber:
11:46:58*absolutejam4 quit (Ping timeout: 258 seconds)
11:50:51dom96Zevv, nice, we should add it to our tutorials list
11:51:02dom96narimiran tweet about it :)
11:51:07dom96and submit to HN/Reddit
11:51:27narimirandom96: will do, but first i'll send Zevv some my remarks about typos and similar things ;)
11:56:08clyybberAraq: Hmm?
12:06:03alexander92glory to the Father
12:06:17alexander92oh man, i really need to research more on validation libs
12:06:48alexander92i've used those maybe years ago , no idea how people do this these days
12:07:22alexander92or where do they even put that (in orm declarative defs? as middleware? as form-dsls?)
12:07:53alexander92so hot here today
12:08:57FromDiscord_<Generic> Zevv: ARM is not big endian. It's configurable pre ARMv8 and little endian on ARMv8
12:09:41FromDiscord_<Generic> maybe you confused it with PowerPC which is big endian
12:17:49federico3urgh, parseJson is being slower than Python
12:21:24Zevvyeah i know, but I cant tell it all can I :)
12:21:44Zevvin practice, its nearly always BE
12:22:51Zevv"gross simplifications ahead" is my ticket out
12:27:13*brakmic quit (Ping timeout: 258 seconds)
12:30:13*brakmic joined #nim
12:35:17*laaron quit (Remote host closed the connection)
12:37:34*laaron joined #nim
12:37:43FromDiscord_<Generic> really? From what I know the opposite is true
12:43:53clyybberAraq: Fixed some bugs, tySink by address works now, but move calls generate this: "eqmove__jRxUrAfjudolXPsxKTlFXg(result, rawNewString(((NI) 32)))"
12:44:07clyybbershould the rawNewString be first assigned to a temporary?
12:44:58clyybberBecause in the CPP backend the above doesn't work, since =move's var parameters compile to references and not pointers
12:45:08stefanos82partial off-topic, but hilarity ensues: when I first heard the term "big endian", I thought it was the name of an Indian tribal Chief and that was the name of a project...I was so exhausted that day because I was studying the C code base of Hiawatha web server, meh...you get the idea LOL!
12:45:42stefanos82sometimes our minds play funny jokes with us
12:45:47alexander92hehe
12:46:00alexander92big endian and little endian still confuse me
12:47:38stefanos82yeah, I always have to look for it
12:47:41stefanos82which one is which
12:49:26*absolutejam4 joined #nim
12:51:42*laaron quit (Remote host closed the connection)
12:54:25*laaron joined #nim
12:55:25*abm joined #nim
12:55:30*jjido joined #nim
13:04:29*Snircle joined #nim
13:07:55Araqclyybber: yes, via temp
13:09:45alexander92can i require devel in my nimble?
13:09:51alexander92how do i say that i depend on devel
13:09:58alexander92because probably my lib doesnt work with 0.20
13:10:17alexander92e.g. certian commit
13:10:22narimiranalexander92: does it work with the HEAD of `version-0-20` branch?
13:10:32alexander92i think so
13:10:41alexander92i mean, if this is devel?
13:10:45alexander92which it is not
13:10:49alexander92so probably no?
13:10:52*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:11:15narimiranthat branch is currently 98% the same as devel
13:11:37alexander92but does it have backported fixes?
13:11:38narimiranthe only differences are some features in devel which are not backported
13:11:45alexander92ah ok
13:11:48narimiranyeah, fixes are backported
13:11:50alexander92i forgot fixes are there
13:12:03narimiranback to the original question, i think then that `>= 0.20.2` should be enough
13:12:05*abm quit (Quit: Leaving)
13:13:09narimiran(devel is 0.20.99, and the current version of `version-0-20` branch is 0.20.1)
13:13:37*absolutejam4 quit (Ping timeout: 248 seconds)
13:15:25alexander92btw Araq, i get got: <T>
13:15:28alexander92but expected: <T>
13:15:39alexander92in devel trying to build tools (and my own project)
13:15:48alexander92in asyncfuture's newFuture def
13:16:19Araqbootstrap to get a Nim that can compile newFuture
13:17:18alexander92ah so i need build_all.sh ? ok
13:24:02*jjido joined #nim
13:27:41*tjmac left #nim ("-bye")
13:28:23*zyklon quit (Ping timeout: 245 seconds)
13:38:38alexander92works
13:38:42alexander92thankk
13:39:34alexander92github .. "Great repository names are short and memorable. Need inspiration? How about fantastic-system?"
13:39:49alexander92i just imagine people using such a project
13:41:03alexander92https://github.com/alehander42/http
13:41:11alexander92i need a better name
13:41:28*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:45:31Araqclyybber: you need to bind a temporary/lvalue to a 'sink' parameter, read the spec...
13:50:23*jjido joined #nim
13:50:55stefanos82alexander92: what is supposed to do? is it a web framework?
13:51:24alexander92yea, but its like just a first dump
13:51:31alexander92of small code
13:51:52stefanos82give it a goofy, memorable name
13:51:58stefanos82it does not have to match its usage
13:52:44alexander92yeah, but i am just lazy at names
13:53:09alexander92so i just think somebody will come up with a ok name and thats it
13:53:39stefanos82how about wool?
13:54:23*eterps joined #nim
13:54:55alexander92not bad, is it just random
13:55:35stefanos82well, it's textile fiber from sheep, so...you know, fibers
13:55:55stefanos82web crawlers are also known as spiders
13:56:02stefanos82they crawl the "net"
13:56:30*solitudesf- joined #nim
13:57:05alexander92wow interesting connection :P and i like the sheep connection as well
13:59:04*solitudesf quit (Ping timeout: 272 seconds)
13:59:09*jmiven quit (Quit: reboot)
13:59:56*jmiven joined #nim
14:00:57*solitudesf joined #nim
14:02:38stefanos82alexander92: and for logo you could use a sheep with dark glasses
14:02:48stefanos82like Men in Black kind of look lol
14:03:02lqdev[m]alexander: your readme is badly formatted, links in markdown go the other way around `[some link text](http://example.com)`
14:03:16*solitudesf- quit (Ping timeout: 246 seconds)
14:06:11alexander92go figure..
14:06:14*vegax87 left #nim ("Leaving")
14:06:46alexander92how could i confuse that
14:08:16*laaron quit (Remote host closed the connection)
14:08:48alexander92stefanos82 sounds very wool
14:09:12alexander92ill think about it :P but still not convinced , i also like flock
14:09:42stefanos82so each project out of it could be considered a hand-made sweater hahaha ^_^
14:10:19stefanos82you could get some people confused
14:10:20stefanos82https://en.wikipedia.org/wiki/Flock_(messaging_service)
14:10:30*laaron joined #nim
14:11:41alexander92sounds too nice to call a framework like that :P
14:14:52alexander92ill think about it today, but thanks :P
14:16:21*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:17:13stefanos82you could also use "ines"
14:17:23stefanos82it's a Greek word for fibers
14:17:37stefanos82you have so many options, really
14:21:04*chun quit (Remote host closed the connection)
14:21:25*chun joined #nim
14:21:39clyybberAraq: Sure, but =move doesn't have a sink parametere
14:22:18Araqwell obviously you need a 'var' for a 'var T' parameter
14:22:30Araqthat's where the name comes from...
14:24:49*nsf joined #nim
14:30:04*chun quit (Remote host closed the connection)
14:30:25*chun joined #nim
14:44:29*eterps quit (Quit: WeeChat 2.5)
14:45:32*eterps joined #nim
14:45:47disruptekyou're blowing my mind right now.
14:47:12clyybberbbl
14:47:13*clyybber quit (Quit: WeeChat 2.5)
14:47:16disruptekspawn passes refs across threads? threadsafe newruntime?
14:53:50*lritter joined #nim
15:00:15FromGitter<ratiotile> How do I initialize a generic array member to all nil? `data: array[S, T]`
15:04:16FromGitter<ratiotile> noInit seems like the right approach, but it's invalid in this place `data {.noInit.}: array[S, T]`
15:17:00*eterps quit (Ping timeout: 252 seconds)
15:17:16*uvegbot joined #nim
15:18:42*laaron quit (Remote host closed the connection)
15:19:39*laaron joined #nim
15:23:59ZevvGeneric: you were right and I was wrong
15:26:49*smitop joined #nim
15:32:59Araqratiotile: the array is inited to all-nil for you automatically
15:36:06FromGitter<ratiotile> I must be doing something wrong with my generic array maker: `proc makeArrays:int (): array[s, int]`
15:37:19Zevvwhat is `s`?
15:37:41*natrys joined #nim
15:37:52FromGitter<ratiotile> used as follows: `var a = makeArraymax_size ()`
15:38:02FromGitter<ratiotile> max_size is const int
15:40:14FromGitter<ratiotile> Nim accepts it, the cpp compiler chokes:
15:40:28FromGitter<ratiotile> `error C2070: 'tyArray_IuQRNEzLUjCusHJOTGH5xQ': illegal sizeof operand`
15:41:30*brakmic_ joined #nim
15:41:30*brakmic quit (Read error: Connection reset by peer)
15:43:16*brakmic_ quit (Read error: Connection reset by peer)
15:43:22*brakmic joined #nim
15:44:24FromGitter<ratiotile> seems to make a massive array:`typedef NI tyArray_IuQRNEzLUjCusHJOTGH5xQ[4294967296];`
15:45:10FromGitter<arnetheduck> araq ping https://github.com/nim-lang/Nim/pull/11623 (compile fails unrelated)
15:47:04*chun quit (Remote host closed the connection)
15:47:11Araqcan you please rebase anyway? just yesterday I changed the posix module for OSX/BSD
15:47:25*chun joined #nim
15:47:51FromGitter<ratiotile> see here: jdoodle.com/a/1kVu
15:48:27FromGitter<arnetheduck> sure, though it still applies clean
15:48:27Araqdon't create array types that have 4 billion elements, use a seq instead
15:48:36FromGitter<ratiotile> size should be 3
15:49:14Araqratiotile: use 'static int' for the generic indexing type (known compiler bug)
15:50:06FromGitter<arnetheduck> done
15:50:13FromGitter<kaushalmodi> anybody who also does "here debug"? https://play.nim-lang.org/#ix=1NRm
15:51:44disruptekcool idea, thanks.
15:51:52Araqwhen declaredInScope()
15:52:09*nsf quit (Quit: WeeChat 2.4)
15:52:24disrupteknice.
15:52:24FromGitter<ratiotile> @Araq, cool that works
15:53:17disruptekAraq: did you get my comment about klee? i lost link.
15:53:52Araqprobably not, we discussed klee after my "nil checker" online course
15:53:58FromGitter<kaushalmodi> Araq: thanks.. so replace `compiles` with `declaredInScope`?
15:54:17Araqkaushalmodi: yeah but no guarantee it works
15:54:25FromGitter<kaushalmodi> I still need to use the `{.dirty.}` pragma right.. to "leak" the declaration out of the template
15:54:30FromGitter<kaushalmodi> yep, that works
15:54:43FromGitter<kaushalmodi> https://play.nim-lang.org/#ix=1NRn
15:55:30disruptekyour nil checker test fails under klee and it reports the nim source line number. so it could be a good way to measure nim and nim's dfa as it is developed. but there's a catch:
15:56:34disrupteknim code old oldruntime (and default gc) fails, so may need to find and guard/fix whatever memory alloc stuff is causing klee to error.
15:59:16Araqwhat's the error message?
16:08:04*chun quit (Remote host closed the connection)
16:08:25*chun joined #nim
16:11:40disruptekit's from system/alloc line 460; says the result.next=nil is an oob ptr read.
16:11:49disruptekiirc
16:14:44Araq"oob"?
16:14:58Araqby construction 'result' cannot be nil here
16:15:48disruptekright.
16:15:53disruptekout-of-bounds
16:17:17disruptekhere's a gist that could be helpful if you decide you want to try it. or i can try to guard some stuff and submit it as a pr if you think that's useful. https://gist.github.com/disruptek/bb875a27a1024e642bfc8e4827c67015
16:18:17disruptekError: target STRING not available
16:18:56disrupteki swear as soon as i think alacritty might've learned how to paste from my clipboard, it pukes on me.
16:19:18disruptekit's truly unbelievable.
16:19:29*Perkol joined #nim
16:24:09disruptekapparently, a known issue.
16:29:45*xace joined #nim
16:33:05Zevvratiotile: you found your problem?
16:33:49FromGitter<ratiotile> @Zevv which one?
16:34:05ZevvtyArray_IuQRNEzLUjCusHJOTGH5xQ[4294967296] :)
16:34:27FromGitter<ratiotile> @Zevv, yeah that was missing `static int`
16:34:32Zevvright :)
16:38:27*xace quit (Quit: leaving)
16:41:09*xace joined #nim
16:45:18*nsf joined #nim
16:45:58*xace quit (Client Quit)
16:47:48*ofelas joined #nim
16:48:29*xace joined #nim
16:58:18*lf-araujo joined #nim
17:13:34*stefanos82 quit (Quit: Quitting for now...)
17:13:44*jjido joined #nim
17:16:49*lf-araujo quit (Ping timeout: 246 seconds)
17:36:15*Perkol quit (Quit: Leaving)
17:46:20*smitop quit (Quit: Connection closed for inactivity)
17:51:05*oprypin quit (Quit: No Ping reply in 180 seconds.)
17:52:31*oprypin joined #nim
17:56:56*absolutejam4 joined #nim
18:08:09FromGitter<zacharycarter> Araq: is it possible atm to add support for loading modules with hcr support at runtime? Would it ever be feasible if the answer is no?
18:08:32Araqwhat do you mean?
18:09:35FromGitter<zacharycarter> Like passing a path to the program as an argument and loading that module and then reloading it with hotcode reloading
18:09:50FromGitter<zacharycarter> Path to a nim module*
18:10:48FromGitter<zacharycarter> I've loaded modules dynamically with macros before but obviously that's at compile time
18:12:10*arecaceae quit (Remote host closed the connection)
18:12:29*arecaceae joined #nim
18:14:09narimiranhow do i put `-d:nimCallDepthLimit=4000` in my `foo.nim.cfg`? whatever i tried, it gave me some error....
18:14:34Araqonly possible with config.nims I guess
18:14:44narimiranbleh, ok
18:14:47Araqzacharycarter: I think it would be very hard
18:15:36*gangstacat quit (Ping timeout: 252 seconds)
18:17:45FromGitter<zacharycarter> Gotcha, I thought that might be the case. I can use configuration to specify a path anyway I think. Thanks for the answer!
18:20:55FromDiscord_<GooseFairy> Completely new to nim here and I'm getting an exception when trying to run `finish.exe`
18:20:55FromDiscord_<GooseFairy> ```
18:20:55FromDiscord_<GooseFairy> \Desktop\Code\nim\nim-0.20.0>finish.exe -help
18:20:56FromDiscord_<GooseFairy> \build\nim-lang\nightlies\nim\e7471cebae2a404f3e4239f199f5a0c422484aac\tools\finish.nim(311) finish
18:20:56FromDiscord_<GooseFairy> \build\nim-lang\nightlies\nim\e7471cebae2a404f3e4239f199f5a0c422484aac\tools\finish.nim(206) main
18:20:58FromDiscord_<GooseFairy> \build\nim-lang\nightlies\nim\e7471cebae2a404f3e4239f199f5a0c422484aac\lib\pure\os.nim(1851) expandFilename
18:21:00FromDiscord_<GooseFairy> Error: unhandled exception: file .nimble\bin' does not exist [OSError]
18:21:00FromDiscord_<GooseFairy> ```
18:21:02FromDiscord_<GooseFairy> I tried adding the bin folder to path without any luck.
18:21:11FromDiscord_<GooseFairy> couldn't find anything online about it either
18:36:54AraqGooseFairy: never heard of this error before, congrats
18:37:45Araqhowever, finish.exe doesn't support '-help', just double click on it
18:44:07FromGitter<kaushalmodi> Araq: 7's in nim file names get parsed to `/` during compilation
18:44:23FromGitter<kaushalmodi> with t7975.nim , I see: ⏎ ⏎ > CC: t/9/5.nim
18:44:54Araqso what
18:45:11FromGitter<kaushalmodi> checking if that is intended
18:45:53FromGitter<kaushalmodi> that CC: message looks confusing
18:47:09Araqthat's actually impossible. what you mean is "I'm confused" and since that's the usual state of mind of a programmer ... I know.
18:47:53lqdev[m]@kaushalmodi this is a recent change made to the compiler, older versions (0.19.4) used `__` iirc
18:48:10lqdev[m]not sure if it's `__` or `_`
18:48:49*absolutejam4 quit (Ping timeout: 244 seconds)
18:50:22FromGitter<kaushalmodi> lqdev: yes, I am aware of that change.. though I thought that that was to convert `/` to 7's and _'s in some combination to allow compilation of same named nim modules
18:50:45FromGitter<kaushalmodi> looks like the displays always convert all 7's in file/dir names to `/`
18:51:25FromGitter<kaushalmodi> there should have been some escape mechanism to differentiate between a literal 7 and the one introduced by the compiler
18:52:51FromDiscord_<GooseFairy> @Araq yeah I tried running it with -help after running it normally just to see if there was any more info
19:06:32*junland quit (Quit: %ZNC Disconnected%)
19:07:22*absolutejam4 joined #nim
19:08:11*junland joined #nim
19:08:57*gangstacat joined #nim
19:18:08kungtotteMan I love working with Nim. If there was ever a language I wanted to use the word 'ergonomic' about it's Nim. Everything just clicks in my brain and most of the time things just work the way I think they will. It's also trivial to build solutions from the ground up instead of shoehorning your ideas into the given mold of the language/framework like so many other languages force you to do.
19:22:13Araqwe're collecting quotes about Nim.
19:22:18Araqcan I use yours?
19:22:35kungtotteAbsolutely
19:22:57lqdev[m]GooseFairy: the Unix standard is `--help` not `-help` anyway
19:23:11Araqkungtotte: PM me your real name then please
19:24:10FromDiscord_<GooseFairy> ignoring my attempt to self-help, and ideas on the cause of the error? haven't been able to use nim yet
19:24:18FromDiscord_<GooseFairy> ignoring my attempt to self-help, any ideas on the cause of the error? haven't been able to use nim yet
19:24:23FromDiscord_<GooseFairy> any*
19:24:37kungtottelqdev[m]: actually long options are a GNU extension if you want to get technical about it :P POSIX only has short options
19:24:52FromGitter<kayabaNerve> ... why does Nim have a module name conflict issue?
19:25:15FromGitter<kayabaNerve> I understand the issue with importing two modules with the same name into the same file without `as` but for the entire project?
19:26:43*ibutra joined #nim
19:28:13AraqGooseFairy: what does finish.exe say?
19:28:43Araqbefore the " Error: unhandled exception: file .nimble\bin' does not exist [OSError]"
19:28:47Araqwhat step does fail?
19:30:19FromDiscord_<GooseFairy> expandFilename
19:30:38FromDiscord_<GooseFairy> `\build\nim-lang\nightlies\nim\e7471cebae2a404f3e4239f199f5a0c422484aac\lib\pure\os.nim(1851) expandFilename`
19:30:45FromGitter<arnetheduck> Araq, there's a bug when `.nimble` doesn't exist
19:31:12Araqfinish doesn't deal with nimble
19:32:06FromGitter<arnetheduck> well, I tried running finish recently and couldn't because I didn't have it there..
19:32:47FromGitter<arnetheduck> but I didn't really dig into it
19:33:48FromDiscord_<GooseFairy> I don't see a .nimble in anything I extracted from the download
19:37:56*ibutra quit (Quit: Textual IRC Client: www.textualapp.com)
19:40:53lqdev[m]try creating a folder called `.nimble` in your home directory
19:41:02lqdev[m]I had the same issue when I tried installing Nim on Windows, btw
19:44:28*absolutejam1 joined #nim
19:45:44FromDiscord_<GooseFairy> that worked
19:45:55FromDiscord_<GooseFairy> a bit annoying that nim can only be installed there but oh well
19:46:17FromDiscord_<GooseFairy> where's the "standard location" for mingw64?
19:46:53FromGitter<ratiotile> didn't Nim used to have a windows installer?
19:47:19*absolutejam4 quit (Ping timeout: 246 seconds)
20:00:05*chun quit (Remote host closed the connection)
20:00:26*chun joined #nim
20:10:37FromGitter<zetashift> I thin it had a self extracting archive but not a full installer
20:11:27federico3https://github.com/nim-lang/Nim/pull/6664 any hint on the errors ?
20:11:32*moigagoo quit (Quit: Connection closed for inactivity)
20:11:53federico3somebody who understands shared libraries under osx and windows could help :)
20:14:15FromGitter<phrmoy> Hey guys, any plan to support OpenACC with Nim?
20:14:30FromGitter<phrmoy> Btw, super excited about the prospect of v1.0 coming out soon!
20:16:10*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:27:21Araqlqdev[m]: that's bad, please report it properly
20:28:11FromGitter<ratiotile> Does Nim have typedef/ type alias? I'm getting tired of typing out generic parameters
20:28:51Araqtype Alias = Foo[int, string]
20:30:44FromGitter<zetashift> still the easiest way imho to install Nim on Windows is using choosenim + those DLLs
20:30:52*brakmic quit (Read error: Connection reset by peer)
20:33:53Araqphrmoy: OpenACC can be done with a template that uses some .emit, I think
20:34:48Araqoh finish.exe got Nimble support, that's why :-(
20:35:14FromGitter<phrmoy> thanks, that's good to hear
20:38:02*kuon joined #nim
20:38:45kuonhello, is there a way to specify the compiler command that is run when doing "nimble install" in a project directory with a myproject.nimble file?
20:40:52FromDiscord_<GooseFairy> So I'm trying to compile my first program but I've run into a lot of issues. At first it was because even with my bin in PATH I could not call nim.exe, after renaming the `.nimble` folder to `nimble and changing my path the system was able to find it, but now it can't find the compiler since it still expects it to be in `.nimble` despite my path being correct
20:41:38FromDiscord_<GooseFairy> I think none of this would have been an issue if `finish.exe` didn't require nim to be installed in C:/users/user/.nimble
20:41:55FromGitter<zetashift> @GooseFairy maybe try installing nim using choosenim?
20:42:59FromGitter<zetashift> or follow along these instructions: https://github.com/nim-lang/Nim#compiling
20:44:37FromGitter<ratiotile> you can also modify the nim/config/nim.cfg's `cc =` line to force compiler
20:45:02FromDiscord_<GooseFairy> oh I'll try that then
20:46:47FromGitter<ratiotile> @GooseFairy: I was referring to @kuon 's question
20:47:00FromDiscord_<GooseFairy> hah well I think it'll work for me too
20:47:46*brakmic joined #nim
20:48:01FromDiscord_<GooseFairy> yeah haha it did
20:49:05Araqit's a regression, will be fixed in 0.20.2
20:49:52Araqsorry this passed my review :-/
20:55:54kuonratiotile I mean the nim command, not the underlining compiler
20:57:10kuonI want to call nim cc with --passL argument but only in my project
20:58:03FromGitter<ratiotile> @kuon: you can add a nim.cfg in the root of your project then, which will override the system nim.cfg
21:01:36kuonok
21:01:40kuonthanks
21:11:00FromGitter<ratiotile> Using the nim profiler --stacktrace:on breaks asyncdispatch. It exits my program after only 1 loop
21:11:45FromGitter<ratiotile> with --profiler:on, but no stacktrace, it works normally, but I don't get any useful profile results.
21:14:38*Vladar quit (Remote host closed the connection)
21:14:40FromGitter<ratiotile> nevermind, that only happened once, now it's working
21:16:48*nsf quit (Quit: WeeChat 2.4)
21:19:39kuonI added a nim.cfg to my project, and it is used, but I tried to add options, like --define:foo but the nim compiler is not passed those options
21:20:06kuonit says it "used config file" with the correct path
21:20:09FromGitter<ratiotile> try `d=foo`
21:21:36kuonnop
21:22:38*jjido joined #nim
21:23:03FromGitter<ratiotile> are you calling nim, or nimble?
21:23:33kuonnimble build
21:24:54FromGitter<ratiotile> I'm pretty sure the global nim.cfg would work, I suppose the project one doesn't
21:25:28*narimiran quit (Remote host closed the connection)
21:28:36kuonaaaah it works, but it's nim compiler reading the config, not nimble
21:29:00kuonI was seeing Command: "/usr/bin/nim" c --noBabelPath ..... in the nimble output, without my configuration
21:29:23kuonbut the compiler was actually reading the cfg and applying it, it's just not verbose
21:35:55rayman22201I am tempted to argue with sixte on the forum, but I'm tired of arguing about new runtime. I need to do more productive things lol.... :/
21:48:59*laaron- joined #nim
21:49:20*laaron quit (Remote host closed the connection)
21:50:11*brakmic_ joined #nim
21:50:21*brakmic_ quit (Read error: Connection reset by peer)
21:50:51*brakmic_ joined #nim
21:51:05kuonI am trying to use sizeof, http://dpaste.com/29MZNSE
21:51:15*brakmic quit (Read error: Connection reset by peer)
21:51:35kuonbut I get this error Error: type mismatch: got <int literal(0)> but expected 'NimNode = ref NimNodeObj'
22:00:55*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:03:45*solitudesf quit (Ping timeout: 258 seconds)
22:06:07Araqlearn the basics of Nim's macro system?
22:06:21rayman22201Macros don't take values as arguments they take AST nodes.
22:06:29FromGitter<kayabaNerve> ```code paste, see link``` ⏎ ⏎ Is this my fault or part of the new GC? [https://gitter.im/nim-lang/Nim?at=5d211b65ed8ed058b596a3ab]
22:06:49FromGitter<kayabaNerve> *a bug from the GC; I'm not using the new GC.
22:07:18FromGitter<kayabaNerve> Since I have a working example already and I don't have a line number for FileB, my guess is it may be a GC bug.
22:08:01kuonI am trying to use https://github.com/zacharycarter/nuklear-nim/blob/master/nuklear.nim
22:08:18kuonAnd it uses this syntax, I guess it's deprecated
22:08:21FromGitter<ratiotile> I've done that to myself with arrays @kayabaNerve
22:09:07kuonBut I found out about the quote thing for AST
22:09:38kuonNow I have another problem is that nuklear has circular references for types, and it seems nim cannot find types declared later in the file
22:09:45rayman22201@kuon, yell at @zacharycarter. I think that is a bug in his code. He is on irc often though, so he can help.
22:10:03FromGitter<kayabaNerve> Yeah, I'm setting to an uninitiated ref.
22:10:18FromGitter<kayabaNerve> Weird error message though. The line before newB is called, but nothing in newB is called.
22:10:27FromGitter<kayabaNerve> I'd assume newB would execute before crashing.
22:10:43kuonok rayman, I will try to catch him
22:11:26kuonat line 811, window references the table type defined at line 926
22:11:55AraqI don't understand how this macro ever compiled, must be really old code
22:12:20kuonAaah no I guess that's because I split the type definition to put my macro at a different place
22:14:45kuonThe C code is (((NK_MAX(sizeof(struct nk_window),sizeof(struct nk_panel)) / sizeof(nk_uint))) / 2)
22:14:58kuonI don't really understand his nim macro logic
22:18:06FromGitter<ratiotile> Not sure what RootObj does, but my code doesnt use inheritance and gets slightly faster without it
22:19:59*natrys quit (Quit: natrys)
22:23:07lqdev[m]kuon: your macro task can be achieved with templates, no need for quote do
22:24:07lqdev[m]always use the simplest construct that can do the task, proc being the simplest, template being in the middle, and macro being the most complex
22:24:22kuonyeah it seems template is what I need
22:39:07*brakmic_ quit ()
22:51:43*absolutejam1 quit (Ping timeout: 245 seconds)
22:54:27*noonien quit (Quit: Connection closed for inactivity)
23:03:50*dwdv quit (Quit: quit)
23:08:00*couven92 quit (Quit: Client Disconnecting)
23:38:51*dddddd quit (Remote host closed the connection)