<< 10-02-2017 >>

00:04:59shashlickBasically I wanted 0.8.4 since it fixes a bug which was causing errors installing winregistry. See: https://github.com/miere43/nim-registry/issues/3. Curious why koch nimble doesn't get latest from github.
00:22:28stisaI think koch only gets the latest if you built Nim from git, looks like it checks for a `.git` directory and pulls from github if it's found
00:42:20*gokr quit (Ping timeout: 258 seconds)
00:59:31*PMunch quit (Quit: leaving)
01:00:10FromGitter<Varriount> shashlick: `nimble install nimble`
01:01:30FromGitter<Varriount> Though, that only gets stable releases
01:01:56FromGitter<Varriount> I can't remember the syntax for checking out from HEAD
01:14:14*jinshil joined #nim
01:16:27demi-hmmm, I seem to be having a problem with a c-style context object being GC'd before i can do anything with it :( i've tried inserting `GC_ref()` calls but that doesn't seem to change anything.
01:21:59*yay joined #nim
01:25:21carterzahttp://imgur.com/a/GZq3b
01:36:01cheatfatedemi-, i can't help you because i need more information
01:36:07cheatfatebut you can use `ptr`
01:36:14cheatfateand not `ref`
01:37:29demi-ok let me push up this code so you can see what i am doing
01:46:00demi-cheatfate: here is my compile log: https://gist.github.com/samdmarshall/3f6f54de311e6b57b04684ebe57dd416 and here is my code: https://github.com/samdmarshall/nimbus/blob/master/src/parser.nim
01:47:03*brson quit (Quit: leaving)
01:47:43demi-the problem i'm having is that as i'm parsing the AST provided by libclang, i'm trying to add things to this c-style context object pointer as i go(https://github.com/samdmarshall/nimbus/blob/master/src/parser.nim#L71) but when the code goes to print out everything it has collected, it says there is nothing in the array
01:48:01demi-however, if i make it echo after the `.add()`s i see the values in the arrays
02:01:05*NimBot joined #nim
02:01:41*NimBot joined #nim
02:02:10*NimBot joined #nim
02:06:09*chemist69 quit (Ping timeout: 240 seconds)
02:20:14*chemist69 joined #nim
02:20:31*yay quit (Quit: yay)
02:25:19*brson joined #nim
02:29:23cheatfatewhere is `ParserContext` declaration?
02:30:16demi-https://github.com/samdmarshall/nimbus/blob/master/src/language.nim, `ParseCursor` had `{.union.}` on it but that also seemed to be causing GC problems.
02:31:27cheatfateits interesting because GC must not touch stack objects
02:31:38cheatfateuntil function exits
02:31:53cheatfateis libclang.visitChildren(cursor, visitChildrenCallback, client_data) blocking operation?
02:32:55cheatfatei dont see any GC problems
02:34:33demi-it should be, it is a c function
02:36:59demi-yeah here is the log of it running, i put an `echo(context.cursor.s)` on line 111 (after the .add()) and the output looks like this: https://gist.github.com/9681ff2ae458d2b342fa359975707391
02:38:54cheatfateand log is wrong
02:39:09demi-hmm?
02:39:28cheatfatebecause it must be something like @[version], @[version, lockOnSleep], @[version, lockOnSleep, useLockInterval]
02:39:50cheatfateits must increase with every added member
02:39:53cheatfateam i right?
02:39:53demi-right, that is what i would expect, but it isn't
02:40:07demi-yeah
02:40:32demi-but it seems like the array gets emptied, or i lose the refs to the strings that got added or something
02:42:25*rauss joined #nim
02:44:09raussHas anyone here embedded a JavaScript runtime in nim? Chakracore, v8, SpiderMonkey, Duktape, etc.
02:46:28cheatfatedemi-, array can be reinitialized too
02:46:49demi-yeah but based on the code flow that shouldn't happen
02:47:17demi-because the name would reset as well, and it doesn't
02:51:03*ibk joined #nim
02:51:10cheatfatedemi-, could you please add `echo name` at like 48
02:51:17cheatfateand show me the log
02:51:20demi-sure, sec
02:51:37*rosshadden joined #nim
02:52:04demi-https://gist.github.com/samdmarshall/f63dafb6afe3b42cf40fd0f1463e36f8
02:52:31*rauss quit (Quit: WeeChat 1.7)
02:52:41*rauss joined #nim
02:52:53cheatfateline 37: `var context = cast[ptr ParserContext](clientData)`
02:53:00cheatfateremove `[]` from the end
02:53:27cheatfateand try again
02:56:28demi-yeah it is working now, what does that change?
02:57:59*brson quit (Quit: leaving)
03:07:07cheatfate[] is manual dereference of the object, but for some reason it creates a copy of object in `context` not the original one
03:08:11cheatfatebut there also presents automatic dereference
03:08:26cheatfatei will ask Araq about this case tomorrow
03:12:40demi-ok thanks
03:20:13*yglukhov joined #nim
03:25:11*yglukhov quit (Ping timeout: 240 seconds)
03:40:13carterzastarting on 3d - http://imgur.com/a/QBEOA
04:01:19*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
04:07:51*ftsf quit (Remote host closed the connection)
04:17:12FromGitter<barcharcraz> nice
04:17:45FromGitter<barcharcraz> the triangle of death
04:26:02carterza:D
04:46:06*def-pri-pub quit (Quit: leaving)
04:47:43shashlickis there a proc in Nim to quote URLs? Like urllib.quote in Python
04:48:38shashlickencodeUrl() found it
04:59:53raussI'm having issues trying to use c2nim to wrap ChakraCore. Anyone with relevant experience with c2nim here?
05:01:10*carterza quit (Ping timeout: 245 seconds)
05:03:30*abruanese quit (Quit: All your IRC are belong to ZNC)
05:04:50*carterza joined #nim
05:06:25FromGitter<Varriount> I do
05:06:29*abruanese joined #nim
05:06:51FromGitter<Varriount> rauss: What trouble are you having?
05:08:37raussVarriount: I'm getting an error from c2nim that I just don't really know how to debug
05:09:21FromGitter<Varriount> rauss: Can you show me the error and the file you're trying to translate?
05:09:36raussYes
05:09:40*derlafff quit (Remote host closed the connection)
05:10:49raussVarriount: https://github.com/Microsoft/ChakraCore/blob/master/lib/Jsrt/ChakraCore.h
05:11:14raussVarriount: tmp/aoeu/ChakraCore.h(58, 38) Error: ')' expected
05:11:17*derlafff joined #nim
05:13:03FromGitter<Varriount> rauss: C2Nim provides an extra define macro, `#def`
05:14:20FromGitter<Varriount> You use it to define macros that C2Nim actually expands, rather than tries to translate
05:14:20raussVarriount: I have the c2nim docs up, but don't understand how I need to use the #def
05:14:29FromGitter<Varriount> Into a template
05:15:23raussVarriount: So I would add a `def` for each `typedef`?
05:16:41FromGitter<Varriount> No, no.
05:17:02FromGitter<Varriount> Here, let me give an example, using the ChakraCore code.
05:17:31FromGitter<Varriount> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=589d4ceaf045df0a222ba3b1]
05:19:25raussVarriount: Okay, I'm with you. Line 109
05:22:51FromGitter<Varriount> rauss: One moment, writing up gist
05:24:29shashlickhow do you get file stat()?
05:25:37*gokr joined #nim
05:25:48shashlickugh, never mind - getFileInfo()
05:27:53FromGitter<Varriount> shashlick: Hey, don't knock getFileInfo, I wrote it. :D
05:28:00rauss:D
05:29:16shashlickVarriount: hat tip :) just that I keep looking for procs and find them exactly after posting here!
05:30:23shashlickre"[url|URL]=(.*?)\"" <== why isn't that compiling? Error: closing " expected
05:31:00raussYou have .*?
05:31:12raussdo you mean `(.*)?` ?
05:31:44shashlickno that works, looking for shortest match
05:31:53shashlickit doesn't like the " inside a regular expression
05:31:58raussOh I see
05:32:08raussCheat!
05:32:09rauss["]
05:32:11rausstry that
05:33:32*gokr quit (Ping timeout: 255 seconds)
05:33:58shashlickdoesn't like it
05:34:09shashlickcan get around it with a """ string
05:38:36FromGitter<Varriount> rauss: Still there?
05:38:46raussVarriount: Yep
05:38:49FromGitter<Varriount> https://gist.github.com/Varriount/42643edc4e817f767251bd4c75d58c22
05:39:34FromGitter<Varriount> raus: There, a crash-course in C2Nim
05:39:39raussVarriount: Thanks!
05:40:32FromGitter<jacobdufault> Can someone with edit permissions on issue tracker tag https://github.com/nim-lang/Nim/issues/5342 and https://github.com/nim-lang/Nim/issues/5366 with the destructor (https://github.com/nim-lang/Nim/labels/Destructor) label?
05:41:19FromGitter<Varriount> @jacobdufault Done.
05:41:25FromGitter<jacobdufault> Thanks! :)
05:42:06FromGitter<Varriount> rauss: I should have included an example of C2Nim translating a macro, but I couldn't think of one.
05:47:35FromGitter<Varriount> rauss: Any questions?
05:47:59raussVarriount: I probably will have some, but trying to experiment first
05:48:29FromGitter<Varriount> rauss: For really large projects, there's an additional technique you can use.
05:50:45FromGitter<Varriount> You can write a script/use a tool to "comment" out all preprocessor macros (replace `#` with `comment#`), then 'selectively' re-enable the macros using regular expressions. Feed the resulting file through VCC/GCC/Clang's preprocessor-only mode, uncomment macros, then feed the partially-preprocessed file to C2Nim
05:51:29FromGitter<Varriount> This technique has the benefit of expanding `#include` directives, if you keep them uncommented.
05:53:08raussThat's interesting. So you can just worry about translating what you need, rather than have to fix everything throwing errors
05:53:54FromGitter<Varriount> Well, C2Nim will still throw errors - It's not able to parse all valid C/C++ constructs - but it definitely helps.
05:55:53FromGitter<Varriount> rauss: Again, it helps for very large projects that use a large amount of macros.
05:56:11FromGitter<rosshadden> @Varriount This is my attempt: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=589d55fa00c00c3d4f1c767f]
05:56:11FromGitter<Varriount> I used it very well on a past attempt to wrap the entire Windows SDK
05:56:43FromGitter<rosshadden> Which did not solve the error. Does anything stick out?
05:57:35FromGitter<rosshadden> @Varriount It's worth noting that the file this includes, `ChakraCommon.h`, defines these. Maybe that's part of the problem.
05:58:12FromGitter<Varriount> @rosshadden Hm, CHAKRA_CALLBACK is defined as `#define CHAKRA_CALLBACK CALLBACK`
05:58:31FromGitter<rosshadden> Yeah I was trying `void` to see if that would help
05:58:39FromGitter<Varriount> and in the Windows SDK, CALLBACK is defined as `#define CALLBACK __stdcall`
05:58:56FromGitter<rosshadden> Callbackception
05:58:59FromGitter<Varriount> My example may have been off, I was writing quickly.
05:59:56FromGitter<rosshadden> I was assuming you were writing the general idea, not the solution. So I was adapting the idea to this `JsErrorCode` line
06:00:24FromGitter<rosshadden> @Varriount I normally don't require hand-holding, I promise! :wink: Just out of my element here, and new to this
06:00:41FromGitter<Varriount> @rosshadden No problem. C2Nim is not kind to newcomers.
06:02:56FromGitter<Varriount> It's a very powerful tool though.
06:04:09FromGitter<rosshadden> @Varriount Thanks, setting it to `__stdcall` worked perfectly
06:04:16*aedigix quit (Remote host closed the connection)
06:04:42*aedigix joined #nim
06:05:02FromGitter<rosshadden> @Varriount To what extend are the included files parsed? I thought I read c2nim parses them by default.
06:05:41FromGitter<rosshadden> But the `_In_` and the other macro are defined in one of the included files, yet it doesn't work without me defining them here.
06:06:12*xet7 joined #nim
06:07:04FromGitter<Varriount> C2Nim doesn't look in include files
06:07:23FromGitter<Varriount> It simply translates includes into import statements
06:07:37FromGitter<Varriount> Nothing more.
06:10:31FromGitter<rosshadden> Oh! Okay
06:10:53FromGitter<rosshadden> @Varriount Thanks again. With your help I was able to do that entire file very quickly
06:15:02*brain5ide joined #nim
06:15:22*brain5ide quit (Quit: Leaving)
06:18:13shashlickwhy is extractFilename() adding a leading \ to the resulting filename?
06:22:03FromGitter<Varriount> shashlick: What path are you passing to it?
06:22:20shashlickhttps://www.autohotkey.com/download/1.1/AutoHotkey_1.1.24.05_setup.exe
06:22:29shashlickand in return I get \AutoHotkey_1.1.24.05_setup.exe
06:23:29FromGitter<Varriount> shashlick: Well, aside from the fact that extractFilename was meant for filesystem paths, looks like a bug.
06:24:01FromGitter<Varriount> shashlick: Are you preprocessing the string at all?
06:24:34FromGitter<Varriount> `extractFilename` just gets the last part of the tuple returned by `splitPath`: https://github.com/nim-lang/Nim/blob/fe0291f12708edd0c85ac53b3bd84a3411b8dfae/lib/pure/ospaths.nim#L230
06:25:25shashlicknope no preprocessing
06:26:49FromGitter<Varriount> shashlick: What OS are you on?
06:27:03shashlickWindows 10, Nim 0.16.0 x64
06:27:14shashlickhttps://github.com/nim-lang/Nim/blob/master/lib/pure/ospaths.nim#L231 - nothing magical happening in splitpath()
06:28:38shashlickwhat's worse is I don't know how to get rid of the \, strip doesn't work, a[0] == '\\' also doesn't match it
06:31:39*nsf joined #nim
06:32:04shashlickokay back all of that, my mistake, it's working fine
06:32:43FromGitter<Varriount> shashlick: I was about to say, https://glot.io/snippets/emzsdtml45 works fine.
06:32:58FromGitter<Varriount> shashlick: Again, I wouldn't use extractFilename on a URL
06:33:03shashlickshould be more careful before posting dumb questions here, sorry to waste your time!
06:41:12shashlickbrilliant though - ported my python script into Nim line by line with minimal effort, it just works, still some 100 lines left but great learning experience
06:41:40*gokr joined #nim
06:44:56shashlickhas anyone written unzip in pure Nim?
06:56:51FromGitter<Varriount> shashlick: Nope
07:08:45stisashashlick there's nimPNG that is written in pure nim without depending on zlib, so you could probably reuse the deflate implementation, I think.
07:10:04*rauss quit (Quit: WeeChat 1.7)
07:12:14shashlickstisa: very nice, will check out
07:20:12*gokr quit (Read error: No route to host)
07:31:35*filcuc joined #nim
07:33:53shashlickcan you create an OrderedTable with a macro at compile time?
07:36:22*tankfeeder joined #nim
07:45:53Araqwith nim devel that has some chance of working, yes :-)
07:48:07FromGitter<vegansk> @Araq, hi. Could you check https://github.com/nim-lang/Nim/pull/5355 again please.
07:50:04shashlickAraq: wow that will be interesting - so it's safe to say right now we can only do strings, ints, and not data structures
07:50:41Araqshashlick: no, I used the VM to perform DFA optimization passes
07:50:58AraqI know it's not nearly as stable for others, but for me it worked
07:51:54Araqexcept that it was way too slow and so I used a temp Nim program and staticExec to speed it up by an order of magnitude
07:52:31Araqit's safe to say that the VM hates global variables and 'ref T'
07:53:38*rokups joined #nim
07:55:41*yglukhov joined #nim
07:55:54*Andris_zbx joined #nim
07:58:42*yglukhov quit (Read error: Connection reset by peer)
07:59:04*yglukhov joined #nim
08:00:13*bjz joined #nim
08:00:35*yglukhov quit (Remote host closed the connection)
08:00:50*yglukhov joined #nim
08:13:27Araqwhoever gave use intdefine and strdefine, great job :-)
08:13:34Araqthese need to be the index though
08:13:39Araq*in the
08:17:20*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
08:21:23*tankfeeder quit (Quit: Leaving)
08:26:54*xet7 quit (Quit: Leaving)
08:28:03Araqvegansk: er, sorry, this is horrible code
08:28:18Araqwill fix it and you watch and learn ;-)
08:33:33*bjz joined #nim
08:37:08FromGitter<vegansk> Ok, then show me :-)
08:41:56FromGitter<konqoro> Would there be any problems (performance, errors?) with this approach to create an object (the macro): https://gist.github.com/konqoro/18039606f5dc2c3997ced8563c612410
08:45:12*xet7 joined #nim
08:46:28Araqkonqoro seems slow, you copy into a temp and then copy the temp to the final dest, right?
08:46:56FromGitter<konqoro> yes
08:47:07FromGitter<konqoro> thought so
08:47:22FromGitter<konqoro> any better ways?
08:50:13AraqI don't know what you're trying to accomplish, Nim initializes these fields for you
08:50:52Araqyou could have a macro that uses a 'typed' parameter and 'getType' to see if it's a seq or string and then emit 'x.field = @[]' only for these
08:55:10FromGitter<konqoro> I thought to use varargs, not to have to type all these parameters in the init proc
08:56:11Araqno, you give it the object to init via 'var'
08:56:19Araqand it checks via getType() its fields
08:56:50Araqno varargs, a single macro init(x: typed)
08:57:15FromGitter<konqoro> ok thanks Araq
09:01:52*yglukhov quit (Remote host closed the connection)
09:06:08*gokr joined #nim
09:14:27*gangstacat joined #nim
09:17:31*yglukhov joined #nim
09:20:26*Matthias247 joined #nim
09:22:15*jinshil quit (Quit: Good-bye!)
09:38:14*chemist69 quit (Ping timeout: 258 seconds)
09:40:58*chemist69 joined #nim
09:45:10Araqso ... no feedback about 0.16.1 on Windows?
09:46:52*couven92 joined #nim
09:49:22*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
09:50:50*Ven joined #nim
09:55:30*Arrrr joined #nim
09:55:46*Arrrr quit (Changing host)
09:55:46*Arrrr joined #nim
09:57:29FromGitter<andreaferretti> any news on https://github.com/nim-lang/website ?
10:00:22FromGitter<andreaferretti> I see the jekyll prototype has progressed considerably
10:00:40FromGitter<andreaferretti> I'd just find a better tagline than "efficient concise programming"
10:01:55Araqefficient, expressive, elegant always was our tagline
10:02:09Araqand it's an alliteration so it's good
10:02:45FromGitter<andreaferretti> yeah, "efficient, expressive, elegant " sounds better
10:03:57*yglukhov quit (Remote host closed the connection)
10:04:46*yglukhov joined #nim
10:09:06*yglukhov quit (Ping timeout: 240 seconds)
10:15:27euantorI'll test on Windows later on
10:17:37rokupsnim's tagline is EEE? now that triggers some people hehe
10:20:52*yglukhov joined #nim
10:21:42*bjz joined #nim
10:21:55Araqrokups: I don't understand.
10:22:18rokupsembrace - extend - extinguish ;)
10:24:59*arnetheduck joined #nim
10:35:59*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:37:23*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
10:48:23*sz0 joined #nim
10:54:22FromGitter<Varriount> Araq: Ich habe ein Kommentar zu finish.exe
10:55:34FromGitter<Varriount> It works on a Windows 10 system without MinGW, and downloads everything appropriate
10:56:32FromGitter<Varriount> My only criticism is that if the user moves the mingw zip to the wrong location, it doesn't give them another chance.
10:57:27FromGitter<Varriount> You can't even rerun the tool and have it install mingw without downloading again.
10:57:34Araqvarriount: it uses curl to download to the right directory
10:57:54Araqbut if you lack curl it uses your browser instead
10:58:02Araqseems like you lack curl. :-)
10:58:38Araqbut yes, thanks for the feedback, I can improve this further
10:58:39FromGitter<Varriount> Araq: 99% of Windows systems lack curl
10:58:49Araqcurl ships with git ;-)
10:59:08Araqat least some "git for Windows" distributions ship with curl
10:59:27FromGitter<Varriount> I know there's a builtin way to download a file - if nothing else, powershell provides such a procedure
11:04:29*gokr quit (Ping timeout: 258 seconds)
11:07:38Araqpowershell might not be available and it may not give any progress bar indicator
11:08:03FromGitter<Varriount> Araq: https://msdn.microsoft.com/en-us/library/windows/desktop/aa385098(v=vs.85).aspx
11:10:09FromGitter<Varriount> Or, since that doesn't appear to provide progress directly, https://msdn.microsoft.com/en-us/library/ms775123(v=vs.85).aspx
11:11:51FromGitter<Varriount> Although, the use of COM is required for the second, if you want progress callbacks.
11:14:24AraqA pointer to the IBindStatusCallback interface of the caller
11:14:34Araqyeah right, no idea how to get one of these
11:15:25FromGitter<Varriount> You create an object/type that fulfills the interface.
11:15:42Araqthat needs a GUID and shit :P
11:16:35AraqI'd rather work on Nim instead of this little finish.nim thing ;-) so be my guest and make it work better
11:16:41FromGitter<Varriount> No, that's for registration.
11:16:58FromGitter<Varriount> Araq: It's the source code updated?
11:17:28Araqdevel contains latest tools/finish.nim, yes
11:20:37cheatfateAraq, but `unix` also not always has `curl` or `wget`
11:21:08Araqcheatfate: finish tool is Windows only
11:22:06cheatfateAraq, then bundle mingw inside
11:22:18cheatfateand make everybody happy because it will work from box
11:23:45Araqwe used to do that, it produced really huge files that I need to upload for every new release and it also it's not modular
11:24:07Araqright now I have win32 and win64 zips. with mingw that's 4 different zips
11:24:24Araqwith optional aporia that's then 6 or 8 different zips
11:26:34cheatfateAraq, then you can ask Varriount to make reliable downloader for you :)
11:26:55Araqand it doesn't stop there, we need an easy way to download DLLs in general, this "nimble install and then search the web for DLLs" needs to stop
11:27:01cheatfatebecause using `curl` on windows is looks much worse, then one big zip
11:27:23Araqcheatfate: that's what I just did :P
11:29:18*carterza quit (Quit: carterza)
11:33:34FromGitter<Varriount> Hm. https://msdn.microsoft.com/en-us/library/windows/desktop/ms693449(v=vs.85).aspx
11:34:34FromGitter<Varriount> In this case, using that download would neither be from a server nor a container
11:34:47FromGitter<Varriount> *download function
11:42:39*PMunch joined #nim
12:02:06*Snircle joined #nim
12:06:32*Vladar joined #nim
12:10:13*Arrrr quit (Ping timeout: 240 seconds)
12:16:15*Ven joined #nim
12:18:43*Arrrr joined #nim
12:20:31cheatfateVarriount could not understand your latest posts... Using COM components from internet requires microsoft signed com component, and admin rights
12:26:29FromGitter<Varriount> Araq: Well, if you want a way to download things... we do have an asyn networking framework. ;P
12:27:34ArrrrWhat is the thing that you keep writting in nim over and over again and you wish there would be a macro/feature for it?
12:28:06*Ven quit (Ping timeout: 240 seconds)
12:29:11ArrrrIf you don't have at least one, you are not a real nimmer
12:30:51FromGitter<Varriount> Arrr: A macro for writing macros?
12:31:20Arrrrlol
12:31:24cheatfateVarriount: it not works because you need openssl for it
12:31:47FromGitter<Varriount> cheatfate: Registering COM components requires admin rights. Supplying your own components to an in-server process does not.
12:32:26FromGitter<Varriount> Otherwise, how would C#, VB, and Powershell manage to interface with COM?
12:33:07cheatfateUntil you not registered com component you can instantiate it
12:33:24cheatfateyou can't instantiate it
12:33:40Araqthe reason why I don't use httpclient is that it doesn't support "download to file" in a sane matter
12:33:48cheatfateif you are creating com components inside your process you don't need to register it to use it
12:34:01Araqfor experimental installation stuff, we have downloader.nim tool
12:34:12Araqbut finish needs to be rock solid stable
12:35:48*yglukhov quit (Remote host closed the connection)
12:37:23*Kingsquee joined #nim
12:42:14*carterza joined #nim
12:49:46*yglukhov joined #nim
12:57:03*tankfeeder joined #nim
13:04:14*sz0 quit (Quit: Connection closed for inactivity)
13:10:34*filcuc quit (Read error: Connection reset by peer)
13:13:47*filcuc joined #nim
13:18:30yglukhovAraq: is it possible to fix #5370 easily?
13:19:16Araqimport ... as ... ?
13:19:23Araqthat's not even a bug.
13:19:36yglukhovouch
13:22:07yglukhovAraq: as a side-node. were there any improvements made to allow same-name modules within a single package?
13:22:14*krux02 joined #nim
13:22:31Araqnope, it's not gonna be supported.
13:22:40Araqlearn to name your file properly you hippie.
13:23:28Araq;-)
13:23:41yglukhovhuh. why so? any language design concerns?
13:24:24krux02not important I would say
13:24:50yglukhov"not important" != "not gonna be supported"
13:24:52AraqI like nimblepkg.module to be unique
13:25:22yglukhovin big projects it may be difficult
13:25:32Araqwell it's enforced by the compiler
13:25:43Araqhard to argue with a compiler
13:26:14yglukhovok
13:26:59krux02yes thank you, that is a much better answer for me
13:27:38flyxany chance that #4802 will be fixed? I would really like to have NimYAML compile to JS, but I lack knowledge and time to tackle it myself
13:27:46krux02Worst case scenario would be the java world with different class loaders and that mess
13:29:29krux02flyx: I think that is a NimYAML issue, not a Nim issue.
13:29:34FromGitter<andreaferretti> @Araq I have tried tackling https://github.com/nim-lang/Nim/issues/5087 but I have not been able to make progress
13:29:53FromGitter<andreaferretti> I am sorry I will not have time right now to work on that
13:29:56FromGitter<andreaferretti> :-(
13:31:45flyxkrux02: care to elaborate?
13:34:45krux02that bug? not really, I personally don't care about the JavaScript backend at all. But when I have my own bugs, I always try to boil them down as deep as I can, so that I know it is a compiler problem before posting them
13:35:58krux02because there are many more isses opened, than closed, I would just prefer when people put a bit more effort in their issues instead of just pasting huge problem files.
13:36:26FromGitter<andreaferretti> it is not always easy to do though
13:36:51flyxkrux02: I put a lot of effort in it, but was not able to reproduce a smaller example.
13:37:00FromGitter<andreaferretti> better submit something and leave a trace of the problem than just avoid to submit
13:37:46krux02Maybe, but then one should also accept, that it might just get low priority, because it is not really specific
13:38:05carterzakrux02 : I’m noticing in nim-glm the methods to cast a quaternion to a mat4x4 and back are missing? Would you mind if I created a pull request to nim-glm?
13:38:24carterzaor at least I’m not seeing them present
13:38:59Araqtype Chain[R, A] = TableRef[seq[A], R]
13:39:07flyxkrux02: and you are implying I am not accepting that?
13:39:27krux02carterza: I am sure there is something to convert them
13:39:33Araqandreaferretti: I think it's a general problem with sigmatch.nim and this part needs to be changed quite a bit
13:39:52Araqsigmatch.nim throws away instantiation information only to "recover" it later
13:39:58FromGitter<andreaferretti> I see
13:40:04krux02you just have to use mat3 afaik
13:40:14FromGitter<andreaferretti> I tried to follow the logic but at the I got lost
13:40:39FromGitter<andreaferretti> and lately I just had no time to try working on that
13:41:36AraqI don't dare to touch it because of regressions
13:41:58Araqsubmitted nimble packages that need to be kept green would help
13:42:34carterzaah okay thanks
13:42:48FromGitter<andreaferretti> yes, having a a community build infrastructure would really help
13:43:09FromGitter<andreaferretti> one would be able to see which commit breaks which library
13:43:40FromGitter<andreaferretti> but it is not a small task to build it (and make it secure)
13:43:46krux02flyx: I can tell you what I do when I have a bug that I can't isolate. I create a project where it occurs. Then I remove everything that is not necessary to keep the bug visible. And then i iterate even more on it really boil it down to just a few lines that you can pase in the issue (max 20 lines of code). Then this is your issue
13:44:09carterzakrux02 : https://github.com/g-truc/glm/blob/c8ddeea744d6ea7fc3deda06bba0d1f0d2a31f6a/glm/gtc/quaternion.inl#L621 was what I was looking for but it just uses mat3 like you said
13:45:41*yglukhov quit (Remote host closed the connection)
13:45:50flyxkrux02: I am well aware of the process of creating a minimal example. it just didn't work for my issue. I gave up when I had 100 lines and still wasn't able to reproduce the issue
13:46:16krux02carterza: https://github.com/krux02/nim-glm/blob/master/glm/quat.nim#L81
13:46:42carterzasaw that but the other way around is what’s catching me up
13:46:49flyxanyway, Araq used to say that he doesn't care much about minimal examples
13:47:01krux02carterza: https://github.com/krux02/nim-glm/blob/master/glm/quat.nim#L169
13:47:14carterzaah thanks
13:47:29krux02just set v to 0
13:47:47carterzagotcha
13:47:57krux02I think I could make it default thogh
13:48:12carterzayeah that’s what was confusing me
13:48:36Araqflyx: yes, minimal examples are not that important, but "here is some git repo, it doesn't work" is the last resort because then I cannot make a test case out of it
13:49:06krux02wait, that is not entirely correct it should be vec4(0,0,0,1) by default
13:52:13carterzathank you for that
13:52:46flyxAraq: yes, the problem here is that I don't really understand the nature of the problem and hoped that I could get at least some hint in which direction to look in order to generate a better example
13:52:56carterzableh off to work :( opengl fun will have to wait till tonight
13:53:17krux02I just pushed an update
13:53:36FromGitter<andreaferretti> @Araq would it make sense to you to use some hosted CI tool like Gitlab CI or Jenkins tu run library tests whenever someone commits to devel?
13:53:44krux02honestly I just updated on github, there is no way there could go anything wrong with that :P
13:55:17krux02andreaferetti: for it would make sense, because nim 0.16 introduced a bug that made nim-glm not compile anymore
13:57:04FromGitter<dom96> @andreaferretti that would be awesome, but I don't think it should happen on every commit. Maybe once per day.
13:57:06krux02there is a "me" missing
13:57:15FromGitter<barcharcraz> yeah once per day could be good
13:57:26FromGitter<barcharcraz> and also maybe simple CI tests on em
13:57:33FromGitter<dom96> We already use GitLab CI actually, and in my experience it's been a PITA.
13:57:43FromGitter<barcharcraz> on all nimble libs?
13:57:54FromGitter<andreaferretti> well, every commit may be heavy, but it would pinpoint the exact point where something goes wrong
13:57:58FromGitter<dom96> What we need is a resurrection of NimBuild.
13:58:00*carterza quit (Quit: carterza)
13:58:18FromGitter<andreaferretti> but are you using gitlab CI on libraries as well?
13:58:21FromGitter<barcharcraz> welp I wish I was unemployed Dom
13:58:29FromGitter<dom96> @barcharcraz same :)
13:58:35FromGitter<dom96> @andreaferretti nope.
13:58:36FromGitter<barcharcraz> lol yeah
13:58:45FromGitter<andreaferretti> well, this is the point :-)
13:59:00FromGitter<andreaferretti> there should be an instance of CI open for registration (but moderated)
13:59:06FromGitter<barcharcraz> bright side my work may end up using unreal engine and nim is the only language with a good binding to it!
13:59:09*yglukhov joined #nim
13:59:14FromGitter<barcharcraz> thanks {.importcpp.}
13:59:16FromGitter<andreaferretti> so that library authors can directly write the commands to test their libraries
13:59:26FromGitter<dom96> I know, my point is that it was a PITA to use GitLab CI just to run tests and generate Windows installers.
13:59:36FromGitter<dom96> Testing all Nimble libraries would be even harder.
13:59:39FromGitter<barcharcraz> oh and speaking of which has anyone heard of the Calypso project for D
13:59:44FromGitter<andreaferretti> and compiler devs get the peace of mind that they do not break major sutf
13:59:46FromGitter<andreaferretti> stuff
13:59:52FromGitter<andreaferretti> why would it?
13:59:54Araqflyx: one uses ReadIOEffect, the formal param doesn't allow it
13:59:59*Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif)
14:00:02FromGitter<andreaferretti> I don't see how that would be hard
14:00:21FromGitter<andreaferretti> library authors would write the tasks themselves
14:00:32FromGitter<dom96> Because you need to sandbox it
14:00:39FromGitter<barcharcraz> well just making sure the libs in nimble always build is good
14:00:42FromGitter<barcharcraz> but yeah
14:00:51FromGitter<andreaferretti> this is the reason why it should be moderated :-)
14:00:59Araqflyx: not that it makes any sense ;-)
14:01:01FromGitter<andreaferretti> just let in people you trust
14:01:14FromGitter<dom96> Sure, we could do that.
14:01:18FromGitter<barcharcraz> well I mean namespaces are a thing
14:01:47FromGitter<dom96> I think federico already tests installation of all nimble packages somewhere
14:01:47FromGitter<barcharcraz> except on mac maybe
14:01:57FromGitter<andreaferretti> as I said often
14:02:02FromGitter<andreaferretti> that does not make sense at all
14:02:09FromGitter<barcharcraz> yeah like some of my old nim packages probably don't work anymore
14:02:13FromGitter<andreaferretti> nimble install on all my libraries is just cp
14:02:23FromGitter<andreaferretti> there is nothing to do on install
14:02:28FromGitter<dom96> I know, but it's a natural step for him to extend it to also perform tests.
14:02:40FromGitter<barcharcraz> but like at least it makes sure your code still parsers
14:02:42FromGitter<barcharcraz> *parses
14:02:45FromGitter<andreaferretti> I have seen failures, and they were all due to network issues
14:02:46FromGitter<barcharcraz> less of a problem now
14:02:57FromGitter<andreaferretti> still does not make much sense
14:03:10FromGitter<andreaferretti> because there is noone to contact when something goes wrong
14:03:23FromGitter<andreaferretti> I think the right way to go is to have an actual registration
14:03:56FromGitter<andreaferretti> it takes some work to make all this, and glitlab CI already has users, tasks and so on
14:04:16*shashlick quit (Ping timeout: 258 seconds)
14:04:33FromGitter<andreaferretti> I am pretty sure that the code is not even parsed on nimble install
14:04:39FromGitter<andreaferretti> really, it just copies files
14:04:40FromGitter<dom96> Indeed, it isn't.
14:04:46FromGitter<andreaferretti> because there is not an entry point
14:04:52FromGitter<andreaferretti> for libraries
14:05:24*shashlick joined #nim
14:05:44FromGitter<dom96> But please, make it happen.
14:06:06FromGitter<andreaferretti> you already have a gitlab instance hosted somewhere?
14:06:26FromGitter<dom96> nope. Is hosting it ourselves necessary?
14:06:41FromGitter<andreaferretti> actually not
14:07:09FromGitter<andreaferretti> but you told "We already use GitLab CI actually,"
14:07:10FromGitter<dom96> I can give you (and anyone else that needs a server for Nim infra projects) access to a DO droplet.
14:07:26FromGitter<dom96> I still have to set up this droplet though
14:07:37FromGitter<andreaferretti> :-)
14:07:38FromGitter<dom96> In fact, I still need to move the forum/IRC bot to another instance
14:07:42FromGitter<andreaferretti> it would be nice
14:07:48FromGitter<andreaferretti> I am not sure I will have time
14:07:52FromGitter<andreaferretti> but I can see what I cand o
14:07:53FromGitter<dom96> we do, but we use the one public instance
14:07:59FromGitter<andreaferretti> ah ok
14:08:06FromGitter<andreaferretti> I misunderstood
14:08:53FromGitter<dom96> I also have access to the gcc server farm
14:09:04FromGitter<dom96> Which is why I need a new and reliable CI service.
14:09:10FromGitter<dom96> That I can deploy on custom machines.
14:09:15FromGitter<andreaferretti> :-)
14:09:20FromGitter<dom96> I thought GitLab CI would work well for that, but now I'm not so sure.
14:11:38Araqwould also be nice if NimBot could announce git commits here again
14:14:52federico3dom96: yes, there's a CircleCI instance building Nim and doing nimble install on packages
14:16:28federico3running real tests would be an interesting improvement but we need packages to ship some smoke tests with them
14:17:45FromGitter<dom96> Also, I think ci.nim-lang.org should show a dashboard of all our CI tools i.e. a list of links with some short description.
14:20:05FromGitter<andreaferretti> btw @dom96 any chance you had a look at https://github.com/nim-lang/nimble/issues/329 ?
14:20:25federico3dom96: a wiki page might be easier to maintain
14:20:54FromGitter<andreaferretti> right now that and https://github.com/nim-lang/nimble/issues/305 make it really hard to use nimble to write custom tasks
14:21:15FromGitter<dom96> federico: a wiki page is also much harder to find
14:21:21*_yee quit (Remote host closed the connection)
14:21:40federico3dom96: ci.nim-lang.org would link to that page :)
14:22:37FromGitter<dom96> federico: better yet show the wiki page.
14:23:18FromGitter<dom96> @andreaferretti haven't had a chance yet, maybe you could try that fix you suggested?
14:23:38*Ven joined #nim
14:24:00federico3dom96: show it?
14:24:13FromGitter<andreaferretti> I could try, but I have never touched nimble
14:24:24FromGitter<andreaferretti> are there tests to make sure I don't break stuff?
14:25:07Araqflyx: my patched compiler produces
14:25:11Araq Error: type mismatch: got (proc (lex: YamlLexer): bool{.gcsafe, locks: 0.}) but expected 'LexerState = proc (lex: YamlLexer): bool{.closure, gcsafe, locks: 0.}'
14:25:11Araq.raises effects differ
14:25:18Araqdoes that help?
14:26:11flyxAraq: yes, thanks. if .raises effects differ, I can probably figure out which one it is
14:26:19FromGitter<dom96> federico3: embed the wiki page instead of giving a link
14:26:31FromGitter<dom96> @andreaferretti yes
14:27:19flyxAraq: the documentation pages are generated for one specific target, right? so we won't see different raises sets for JS vs C or Windows vs OSX rooting from `when` block, right?
14:27:34Araqyup :-)
14:27:51flyxwell I see space for improvement there ^^
14:28:53FromGitter<dom96> Yeah, ideally the doc gen should detect differences between define's and show them.
14:29:15FromGitter<dom96> This would also mean that defines can be more easily discovered.
14:29:33Araqwhat's a "define"?
14:29:58FromGitter<dom96> ``-d:foobar``
14:30:09Araqit's actually easy enough to do 'nim doc2 --os:windows' vs 'nim doc2 --os:linux' vs 'nim doc2 -d:js'
14:30:11FromGitter<dom96> isn't that what the ``d`` stands for?
14:30:17Araqand diff the generated docs :P
14:30:47FromGitter<dom96> Araq: that doesn't cover the possibility of arbitrary defines ;P
14:32:43FromGitter<dom96> For example: -d:ssl
14:33:43FromGitter<andreaferretti> well, the library author can add whatever defines they like
14:33:48FromGitter<andreaferretti> for instance https://github.com/unicredit/linear-algebra/blob/master/linalg.nimble#L74-L77
14:35:16*Princess17b29a joined #nim
14:35:39Araqflyx: {.push raises: YamlLexerError, gcSafe, locks: 0.} # this simply doesn't work
14:35:55Araqwhen I add that to the generic proc headers it compiles
14:36:13AraqconstructingJson.nim(18, 24) Error: undeclared identifier: 'newStringStream'
14:36:17flyxAraq: interesting. but it seems to work for the C backend
14:36:20Araqwell it then fails with that one then.
14:36:40flyxAraq: yeah, there may be other JS-related errors. that's expected
14:37:05Araqalso SourceProvider is a concept but you use streams too
14:37:10Araqwhat's the point in that?
14:37:27Araqeverything is generic thanks to that one afaict
14:38:25flyxthe reason is that stream are not available for JS
14:38:31Araqthat means I can get multiple instantiations of thousands of lines, meh
14:38:31flyx*streams
14:38:49flyxat least, StringStream isn't because it uses memcpy or something
14:38:52Araqso implement streams for JS
14:38:59flyxI tried and failed
14:39:11Araqo.O
14:39:25flyxyglukhov showed me an implementation but it was clustered with emits
14:40:22Araqshouldn't StringStream be trivial to do with the JS backend?
14:41:22FromGitter<dom96> isn't the problem the fact that the stream procs take a ``pointer``?
14:41:37rokupsguess who got coroutines working with fibers on windows \o/
14:41:47flyxwell I had problems, I cannot really remember the details
14:43:16flyxanother reason for having SourceProvider is that when backed by a simple string, it is able to always provide the source line where an error occurred. Stream cannot since the parser may already be at the next line and thus, the line in question may not be buffered anymore
14:44:20*Vladar quit (Quit: Leaving)
14:44:37cheatfaterokups, congratulations
14:44:56rokupsthank you :)
14:44:58flyxtypically, I would guess that only one of the two possible incarnations (Stream vs string backend) are instantiated
14:45:29rokupsnow if we could come up with a way to swap stack pointer without assembly involved we could get rid of any platform-specific code
14:45:38yglukhovflyx: i can't see why anyone would not like emits =)
14:45:46flyxwell, I'm off attending a lecture.
14:45:57cheatfaterokups, what the problem with getcontext/setcontext?
14:46:31Araqwhy do we need fibers when we have nice inline assembler?
14:46:55cheatfateAraq, to support all architectures
14:47:02rokupsoh yeah that, well as long as mr-know-it-all-Araq approves.. i do not fancy ucontext being deprecated, that is all.
14:47:19rokupsAraq: reading on the internets it seems they might be doing more behind the scenes. they seem to be safer approach
14:47:38rokupsbesides like cheatfate said easy support for other architectures because someone else is maintaining platform-specific stuff
14:48:01Araqthere are only x86, x86_64 and ARM left, all other CPUs are dead. :P
14:48:20rokupsthen get rid of that dead code in compiler :p and dead compiler support too :p
14:49:35rokupsim talking about this stuff: elif defined(hppa) or defined(hp9000) or defined(hp9000s300) or defined(hp9000s700) or defined(hp9000s800) or defined(hp9000s820):
14:49:39cheatfateAraq, risc is not dead
14:49:44rokupsi dont even know what those machines are heh
14:51:11*carterza joined #nim
14:52:55cheatfaterokups, `ucontext` deprecation you have found only for macos
14:53:03FromGitter<dom96> Yeah, RISC is good. https://www.youtube.com/watch?v=wPrUmViN_5c
14:53:18cheatfateas i mentioned earlier its deprecated into _XOPEN_SOURCE branch
14:53:20rokupscheatfate: i think i read its deprecated from posix
14:53:47demi-cheatfate: were you able to find out more about the behavior i was encountering last night?
14:54:59*tankfeeder quit (Quit: Leaving)
14:56:52cheatfatedemi-, it yours and mine mistake
14:57:23cheatfatedemi-, you must not dereference pointer by yourself, because it will create new variable for you which will be `copy`.
14:57:46demi-ahh, so i guess the example i was following was bad
14:58:30demi-iirc, the original code sample i looked at was using an `int`, thus there was no bad side-effect to making it get copied
15:00:02cheatfatedemi-, right
15:00:36demi-i see, thanks for the explanation and for helping me debug that.
15:01:46cheatfatedemi-, i'm waiting your `osxheaders.nim` to start cross-platform nim gui project :)
15:01:57demi-heh
15:02:54demi-well hopefully not too much longer, i've got most of the code sketched out for generating headers for any c/objc code, and it will be able to support c++ too, but i don't know enough c++ to properly write the nim interfaces for that
15:03:08demi-should have a prototype done this weekend i think
15:03:53*Arrrr quit (Ping timeout: 240 seconds)
15:05:30cheatfaterokups, i think we can still use `getcontext/setcontext` even if deprecated from posix, because i dont see any deprecation warnings on BSD/Linux
15:06:51Araqdon't remove that beautiful inline asm :-(
15:07:15Araqwhat if I don't have an OS but like nim's coroutines to work?
15:08:11Araqrokups: defined(hppa) is some hitachi microcontroller that my mindstorm uses iirc
15:08:38rokupsAraq: if you want to support that i guess it does not hurt to keep copy of setjmp/longjmp, but im not maintaining that :p
15:09:22Araqwell it's enough when you don't mindlessly remove stuff
15:09:23rokupsespecially for non-x86 platforms
15:10:27cheatfateAraq, but we dont have any pieces of ARM specific assembly...
15:10:38cheatfateAraq, here only intel assembler
15:10:52Araqyeah, somebody should write that :-)
15:11:46rokupsmusl libc has setjmp/longjmp, someone needs to write func for switching stack. and gc support for arm stacks
15:23:22FromGitter<dom96> ooh, Nim is now called Nim on GitHub!
15:23:31*Arrrr joined #nim
15:23:39*elrood joined #nim
15:23:41Araqcan it highlight 13'u16 now?
15:24:42*rauss joined #nim
15:24:48*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:27:09*daekano quit (Quit: ZNC - http://znc.in)
15:33:59*yglukhov quit (Remote host closed the connection)
15:34:17*yglukhov joined #nim
15:34:34*nsf quit (Quit: WeeChat 1.7)
15:38:50*gokr joined #nim
15:41:00*vlad1777d joined #nim
15:41:11FromGitter<dom96> probably not, but that's something we need to fix
15:52:32*Ven joined #nim
15:57:20*yglukhov quit (Remote host closed the connection)
15:58:15cheatfateAraq, https://gist.github.com/cheatfate/1b22e9edfa7cc4ae1b9d264b138a472c
15:59:31cheatfateit can highlight 13'u16 but fails on 0x16'u16
15:59:44*yglukhov joined #nim
16:00:11cheatfateor maybe for 0xFF'u16 only
16:00:16FromGitter<andreaferretti> @dom96 I made a quick PR to fix the repeated flags issue
16:00:21FromGitter<andreaferretti> seems to work fine
16:00:26FromGitter<andreaferretti> (at least tests pass)
16:00:29*yglukhov quit (Read error: Connection reset by peer)
16:00:59*yglukhov joined #nim
16:01:18FromGitter<andreaferretti> Do you have any suggestions for https://github.com/nim-lang/nimble/issues/305 ?
16:05:20*yglukhov quit (Ping timeout: 245 seconds)
16:07:02*PMunch quit (Quit: leaving)
16:10:47*PMunch joined #nim
16:11:36*yeeve joined #nim
16:15:45*Ven quit (Ping timeout: 258 seconds)
16:18:15carterzakrux02 - can you help me with another question? I’m trying to rotate a vec3f by a quatf? Simply multiplying the vec3f by the quatf isn’t working - no proc seems to exist that takes both of those types
16:19:19krux02it's best when you transform the quat into a mat3 and them multiply the matrix
16:19:34carterzaokay I’ll do that thank you
16:20:01krux02there is a way to rotate a vector by a quaternion, but I keep forgetting how it is acutally done
16:20:46krux02and when you have a lot to rotate, a mat3*vec3 is faster than some rotate(quat4,vec3)
16:21:20carterzagotcha
16:21:25carterzathank you for the explanation
16:22:40*Ven joined #nim
16:23:12krux02You really should read the theory behind quaternions, it is tough, I can't wrap it up here, because with quaternions it is not just multiplication anymore
16:23:21krux02it's a but more complicated
16:23:58krux02it's best when you know what you want, then you look up the function, and then check again that the function actually does what you want, and does not some other weird things that you do not want.
16:30:02krux02Araq: Concerning the PR about linenoise: gcc already compiles c/c++ according to the filetype it just does not link the c++stdlib. So puttingg gcc as the default compiler for the {.compile.} is I think a bit smarter than using g++
16:30:05dom96andreaferretti: looks good, thanks!
16:30:36Araqkrux02: ok
16:30:54dom96dunno about #305.
16:31:15FromGitter<andreaferretti> I suppose you are buffering output somewhere
16:31:35FromGitter<andreaferretti> it would just take to print it out directly, according to a flag
16:32:55dom96sure, but like I said it should be contextual.
16:33:34rokupsgot to work ucontext coroutines as well and made it so we can switch on unixes between setjmp or ucontext. ucontext does not require any assembly code at all. setjmp requires minimal assembly
16:34:13rokupsnot sure which one should be default though
16:37:35FromGitter<andreaferretti> even a non contextual thing, hidden behind a flag, would be enough for me
16:37:40FromGitter<andreaferretti> ``--raw-output`
16:39:11*Trustable joined #nim
16:43:46dom96andreaferretti: okay, feel free to implement that.
16:45:09FromGitter<andreaferretti> any hint where you do the buffering?
16:49:04dom96https://github.com/nim-lang/nimble/blob/master/src/nimblepkg/tools.nim#L14
16:51:06dom96in fact I see a todo in there to make it live by default
16:51:21dom96implementing that is a bit tricky though
16:58:56*PMunch quit (Quit: leaving)
17:00:07FromGitter<andreaferretti> thanks!
17:07:12*yglukhov joined #nim
17:07:14*devted joined #nim
17:08:42*Arrrr quit (Disconnected by services)
17:08:42*Arrrr1 joined #nim
17:08:45*yglukhov quit (Remote host closed the connection)
17:08:57*yglukhov joined #nim
17:09:02*nsf joined #nim
17:17:11*Ven quit (Ping timeout: 240 seconds)
17:18:04*Andris_zbx quit (Remote host closed the connection)
17:23:11*filcuc quit (Ping timeout: 240 seconds)
17:35:27FromGitter<andreaferretti> @dom96 I would just change this lines https://github.com/nim-lang/nimble/blob/master/src/nimblepkg/tools.nim#L24-L30
17:35:36FromGitter<andreaferretti> to this
17:35:41*Arrrr1 quit (Quit: Leaving.)
17:35:41FromGitter<andreaferretti> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=589df9ec872fc8ce621b8be0]
17:36:10FromGitter<andreaferretti> (you have to be on gitter to see the code example)
17:36:48FromGitter<andreaferretti> https://gist.github.com/andreaferretti/e888b754d5ca55a64cd501a932dea1fe
17:37:43FromGitter<andreaferretti> then somewhere someone has to call `doCmd` with `showOutput = true`
17:38:25FromGitter<andreaferretti> anyway, I have to go
17:38:32FromGitter<andreaferretti> have a nice weekend!
17:39:51*pregressive joined #nim
17:42:03*pregressive quit (Read error: Connection reset by peer)
17:42:28*pregressive joined #nim
17:45:51FromGitter<timeyyy> Did nim applu for gsoc this year?
17:46:53*pregressive quit (Read error: Connection reset by peer)
17:46:57*pregress_ joined #nim
17:51:31dom96shit, completely forgot about that
17:51:53dom96But meh, we don't have time for that anyway.
17:52:40*cjbest joined #nim
17:52:41dom96andreaferretti: something like that, but I would rather have it behind a new flag.
17:53:11dom96Displaying the output raw will look off because it won't align with the rest of Nimble's output
17:54:05*jh32 quit (Ping timeout: 245 seconds)
18:09:00krux02Araq: is there any specific reason, why in the compiler there is TLinkedList used, and not just seq[string]?
18:16:11*cjbest quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:16:42*cjbest joined #nim
18:17:02*cjbest quit (Client Quit)
18:17:27*cjbest joined #nim
18:17:49*cjbest quit (Client Quit)
18:18:32*cjbest joined #nim
18:18:37*cjbest quit (Client Quit)
18:19:16*cjbest joined #nim
18:19:25*cjbest quit (Client Quit)
18:20:02*cjbest joined #nim
18:20:13*cjbest quit (Client Quit)
18:20:52*cjbest joined #nim
18:21:01*cjbest quit (Client Quit)
18:21:42*cjbest joined #nim
18:21:49*cjbest quit (Client Quit)
18:22:29*cjbest joined #nim
18:22:37*cjbest quit (Client Quit)
18:23:09*carterza quit (Ping timeout: 276 seconds)
18:23:14*cjbest joined #nim
18:23:25*cjbest quit (Client Quit)
18:24:04*cjbest joined #nim
18:24:13*cjbest quit (Client Quit)
18:24:54*cjbest joined #nim
18:25:01*cjbest quit (Client Quit)
18:25:39*cjbest joined #nim
18:25:49*cjbest quit (Client Quit)
18:26:29*cjbest joined #nim
18:26:37*cjbest quit (Client Quit)
18:27:14*cjbest joined #nim
18:27:25*cjbest quit (Client Quit)
18:27:34*GustavoLapasta joined #nim
18:28:04*cjbest joined #nim
18:28:13*cjbest quit (Client Quit)
18:28:39*cjbest joined #nim
18:29:01*cjbest quit (Client Quit)
18:29:39*cjbest joined #nim
18:29:49*cjbest quit (Client Quit)
18:30:04elroodto ease this list of connect and deconnect messages.. have you tested whether the documentation is generated correctly and completely for you yet, dom96?
18:30:29*cjbest joined #nim
18:30:34dom96elrood: not yet
18:30:37*cjbest quit (Client Quit)
18:31:00Xeelrood: you can ignore those in your client fwiw
18:35:50*qwertfisch is now known as verstecktfisch
18:36:07*ibk quit (Quit: Connection closed for inactivity)
18:56:57Araqkrux02: legacy.
18:59:55*yglukhov quit (Remote host closed the connection)
19:05:03krux02any problem to get rid of legacy?
19:06:22Araqnah
19:06:54*yglukhov joined #nim
19:14:13*couven92 quit (Quit: Client disconnecting)
19:20:19*GustavoLapasta quit (Quit: Leaving)
19:21:50*Demos joined #nim
19:41:03*cjbest joined #nim
19:49:06dom96Interesting. Github has a new dark nav bar.
19:49:39demi-it might be a bug?
19:49:46Araq:O
19:49:46demi-that is the default theme for GH enterprise
19:57:51DemosI saw that for me too
19:58:30Demosanyone know what timezone filcuc is in?
20:18:11*bjz joined #nim
20:35:51*verstecktfisch is now known as qwertfisch
20:36:10*cjbest quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:48:15*cjbest joined #nim
20:48:52*brson joined #nim
21:02:00*chemist69 quit (Ping timeout: 245 seconds)
21:02:25Araqgokr: ping
21:02:37gokrpong
21:03:01*chemist69 joined #nim
21:06:06*brson quit (Ping timeout: 240 seconds)
21:07:49*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:12:08*rokups quit (Quit: Connection closed for inactivity)
21:14:14Araqgokr: hey, the mailing list is down, maybe because we moved to https. any ideas?
21:14:34gokroh
21:19:37gokrAraq: Looking at the settings etc, but.... not sure
21:22:24*brson joined #nim
21:24:38*elrood quit (Quit: Leaving)
21:25:39gokrAraq: Ok, so me mailing the list seemed to go through.
21:25:41*yglukhov quit (Remote host closed the connection)
21:26:39gokrSo I am guessing you changed something with the forum on... say 29/1?
21:29:37federico3uh?
21:33:29federico3issues with SNMP maybe? dom96 ?
21:34:22federico3ahem, SMTP. I'm seeing a bounce msg from jan 28 and one from 9:23 and nothing in between, so the mailer was not attempting to deliver any emails
21:36:19*yglukhov joined #nim
21:39:11Araqgokr: no idea, dom96 knows more
21:49:45krux02Araq: is there an easy access to the last element of a seq?
21:50:11krux02something like `back` for std::vector in c++
21:51:28krux02I implemented back for my code on my own, but I miss it whenever I write some other code
21:51:46krux02And it could have made things nicer in the pull request I just published
21:52:04Araqx[^1]
21:52:15krux02hmm
21:52:17krux02yea
21:52:20krux02sounds reasonable
21:52:30krux02didn't know
21:58:53*carterza joined #nim
22:00:41*yglukhov quit (Remote host closed the connection)
22:00:44*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
22:03:49*yglukhov joined #nim
22:09:05*rauss quit (Quit: WeeChat 1.7)
22:10:29*bjz joined #nim
22:13:24*gokr quit (Ping timeout: 258 seconds)
22:13:34cheatfatedo we have appveyor gurus here?
22:14:52*Matthias247 quit (Read error: Connection reset by peer)
22:20:04*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:27:06federico3no way to convert TimeInterval to milliseconds?
22:35:57*bjz joined #nim
22:38:30*cjbest quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:39:25*Kingsquee joined #nim
22:39:53*cjbest joined #nim
22:40:39*Demos quit (Quit: Leaving)
22:43:14*yglukhov quit (Remote host closed the connection)
22:44:30*cjbest quit (Client Quit)
22:53:30*Trustable quit (Remote host closed the connection)
22:55:07Araqkrux02: sorry, I cannot accept your PR and I misunderstood you
22:55:22Araqit breaks every client of the compiler API...
22:55:42AraqI thought you only wanted to replace some internal linked list in extccomp
22:57:11*yglukhov joined #nim
23:06:09*yglukhov quit (Ping timeout: 256 seconds)
23:07:20krux02well how many clients are there to the compiler api?
23:13:44krux02the module that I wrote is lists, it is called already the same as the lists package from the standard library. I don't think that anybody uses it who wasn't forced to use it in the first place and would be happy to have it replaced with something better.
23:19:11*yay joined #nim
23:23:04*pregress_ quit (Remote host closed the connection)
23:23:05*carterza quit (Quit: carterza)
23:23:37*pregressive joined #nim
23:25:09Araqkrux02: nimsuggest, nimble and nimedit use the compiler API
23:25:26Araqand maybe some other projects out there
23:25:45*pregressive quit (Read error: Connection reset by peer)
23:25:56krux02 nimsuggest, nimble and nimedit I can patch on my own
23:25:59*pregressive joined #nim
23:26:09krux02and when there is another project out there, I can patch that, too
23:26:19krux02becauese I doubt that it is heavily used
23:26:55*pregressive quit (Read error: Connection reset by peer)
23:27:01krux02and the conversion is quite smooth
23:27:19krux02I just need to replace the function names from the list with their equivalent on seq
23:27:22*pregressive joined #nim
23:29:02*pregressive quit (Read error: Connection reset by peer)
23:29:09*pregressive joined #nim
23:29:32krux02I just wonder, how do I get nimble
23:29:52krux02I remember humbly it got removed from the official distribution and the readded
23:30:12krux02and ./koch nimble just does the same as ./koch -h
23:33:59*pregressive quit (Ping timeout: 255 seconds)
23:34:12*mounty quit (Quit: Konversation terminated!)
23:38:21*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
23:48:07Araqthe problem is that nimble depends on the compiler and the compiler build depends on nimble
23:48:20Araqthere is no way to make PRs and have things green
23:49:46krux02so you want to be stuck with legacy forever?
23:50:15Araqno, but I know how to do compiler API updates and you don't :P
23:51:46AraqI also think Nim v0.16.0 should be able to compile Nimble
23:54:22shashlickHow do you pm folks on Gitter?
23:57:41*Jesin quit (Quit: Leaving)