<< 16-07-2016 >>

00:03:45*cheatfate quit (Ping timeout: 276 seconds)
00:09:33*kssreeram joined #nim
00:14:12*kssreeram quit (Ping timeout: 246 seconds)
00:20:04*yglukhov joined #nim
00:25:12*yglukhov quit (Ping timeout: 276 seconds)
00:26:04*ephja joined #nim
00:31:30*icebattle quit (Quit: leaving)
00:31:50*elrood quit (Quit: Leaving)
00:32:02*cheatfate joined #nim
00:43:53*yglukhov joined #nim
00:46:12*cheatfate quit (Ping timeout: 272 seconds)
00:48:24*yglukhov quit (Ping timeout: 250 seconds)
01:05:42*shodan45 joined #nim
01:08:19*yglukhov joined #nim
01:13:07*yglukhov quit (Ping timeout: 260 seconds)
01:20:15*chemist69 quit (Ping timeout: 264 seconds)
01:33:27*chemist69 joined #nim
01:44:27*yglukhov joined #nim
01:49:32*yglukhov quit (Ping timeout: 272 seconds)
01:59:39*brechtm_ quit (Read error: Connection reset by peer)
01:59:45*brechtm joined #nim
02:08:39*btbytes quit (Quit: My Mac has gone to sleep. ZZZzzz…)
02:11:34*btbytes joined #nim
02:12:16*btbytes quit (Client Quit)
02:14:11*ephja quit (Read error: Connection reset by peer)
02:14:57ftsfwhat does "could not resolve" mean?
02:20:29*Varriount quit (Read error: Connection reset by peer)
02:22:09*Varriount joined #nim
02:30:58*Varriount quit (Read error: Connection reset by peer)
02:31:23*brson quit (Quit: leaving)
02:31:55*Varriount joined #nim
03:20:12*brechtm quit (Read error: Connection reset by peer)
03:20:32*kulelu88 quit (Quit: Leaving)
03:20:50*brechtm joined #nim
03:22:00*chemist69 quit (Ping timeout: 272 seconds)
03:24:04*chemist69 joined #nim
03:28:54*kssreeram joined #nim
03:33:44*der-landgraf quit (Quit: WeeChat 1.5)
03:33:50*kssreeram quit (Ping timeout: 244 seconds)
05:03:18*kssreeram joined #nim
05:11:07*brechtm quit (Read error: Connection reset by peer)
05:13:00*brechtm joined #nim
05:22:11*kssreeram quit (Ping timeout: 240 seconds)
05:29:31*kssreeram joined #nim
05:42:27*kssreeram quit (Quit: My Mac has gone to sleep. ZZZzzz…)
05:42:51ftsfhmm how do i do bitwise operators in nim?
05:49:46reactormonkThere's already a few in there
05:50:11ftsfahh i figured it out
05:50:19ftsfit was confused by the precedence
05:50:32ftsfneeded to wrap the bitwise op in parens
05:54:06*kssreeram joined #nim
06:24:26*kssreeram quit (Read error: Connection reset by peer)
06:40:36*kssreeram joined #nim
06:42:14*cheatfate joined #nim
06:49:41ftsfis it possible to inc/dec an enum but make it wrap?
06:56:59*kssreeram quit (Quit: My Mac has gone to sleep. ZZZzzz…)
06:57:37*kssreeram joined #nim
06:59:51*yglukhov joined #nim
07:09:32*brechtm quit (Read error: No route to host)
07:09:55*brechtm joined #nim
07:10:15*kssreeram quit (Read error: Connection reset by peer)
07:13:51*cheatfate quit (Ping timeout: 246 seconds)
07:18:34*kssreeram joined #nim
07:20:29*Trustable joined #nim
07:27:53*yglukhov quit (Remote host closed the connection)
07:41:20*kssreeram quit (Quit: My Mac has gone to sleep. ZZZzzz…)
07:41:31*yglukhov joined #nim
07:43:16*Trustable quit (Remote host closed the connection)
07:52:07*kunev quit (Ping timeout: 260 seconds)
07:53:11*kunev joined #nim
08:02:50*kssreeram joined #nim
08:12:15*yglukhov quit (Remote host closed the connection)
08:15:17*yglukhov joined #nim
08:18:53*zodiak joined #nim
08:21:11*zodiak_ quit (Ping timeout: 240 seconds)
08:21:30*Matthias247 joined #nim
08:29:06*kssreeram quit (Read error: Connection reset by peer)
08:44:44*pafmaf joined #nim
08:55:42*yglukhov quit (Remote host closed the connection)
09:01:51*Ven joined #nim
09:23:30*brechtm quit (Read error: Connection reset by peer)
09:23:35*brechtm_ joined #nim
09:37:17*elrood joined #nim
09:38:05*kssreeram joined #nim
09:44:04*kssreeram quit (Ping timeout: 252 seconds)
09:45:07*yglukhov joined #nim
09:45:20*Demon_Fox quit (Quit: Leaving)
09:47:28*yglukhov quit (Remote host closed the connection)
10:00:37zielmichaftsf: you can overload inc and dec functions with something like "proc inc(a: var MyEnum) = a = ((a.int + 1) % MyEnum.high).MyEnum"
10:06:31ftsfzielmicha, thanks!
10:15:55*fredrik92 joined #nim
10:16:29*chemist69 quit (Ping timeout: 250 seconds)
10:18:40*chemist69 joined #nim
11:03:30*Trustable joined #nim
11:12:27*Matthias247 quit (Read error: Connection reset by peer)
11:30:33minusis it normal that this doesn't compile? https://pastebin.mozilla.org/8884361 says `)` expected
11:30:55minusif i put the or on the second line instead of the third one it works
11:39:44Araqyes.
11:40:12Araqbinary operators as line continuations need to be on the proper line to be continuations
11:40:49minusah, so () isn't used as indicator for that
11:42:41Araqno, that doesn't work when you like multi-line lambdas ;-)
11:42:55minusfair
11:43:23minusthe common thing would be to put a \ at the end of the line, but that isn't accepted either
11:43:53Araq\ is just another valid operator in Nim that you can use whenever you feel like it.
11:44:37minusoh right you can pretty much define arbitrary operators
11:59:24Araqoh btw we have an uptodate todo.txt
11:59:32Araqwith a battle plan for v1
12:06:31*euantor joined #nim
12:09:22*ephja joined #nim
12:22:56*chemist69 quit (Ping timeout: 258 seconds)
12:30:21*euantor quit (Remote host closed the connection)
12:32:43*euantor joined #nim
12:49:54*chemist69 joined #nim
13:03:10*andrewo91 joined #nim
13:03:28*euantor quit (Remote host closed the connection)
13:03:30andrewo91hi all!
13:04:08andrewo91I'm trying to do some baremetal programming with Nim
13:04:33*desophos quit (Read error: Connection reset by peer)
13:04:53andrewo91I managed to compile the nimkernel by dom96 so that's all good
13:05:25andrewo91however, because of the --gc:none flag I can't use any of the dynamic features, i.e. sequences
13:06:17andrewo91I read somewhere that there is an undocumented --gc:stack flag designed for this purpose
13:06:52andrewo91however, compiling with that leads to an error: <string.h> can't be found
13:07:11andrewo91obviously, because gcc is freestanding
13:07:44andrewo91is there a way to supply my own implementation of the mem* functions and make this work?
13:07:53andrewo91anything else I should know about gc:stack?
13:10:07andrewo91also, is there a way to define a custom garbage collection system without forking nim?
13:12:02*endragor joined #nim
13:19:08*vnc joined #nim
13:31:24*andrewo91 quit (Remote host closed the connection)
13:33:14*andrewo91 joined #nim
13:34:19*cheatfate joined #nim
13:35:52*brechtm_ quit (Read error: Connection reset by peer)
13:36:56*brechtm joined #nim
13:44:51*fredrik92 quit (Ping timeout: 240 seconds)
14:08:54*euantor joined #nim
14:09:50*euantor quit (Client Quit)
14:18:13*cheatfate_ joined #nim
14:21:56*cheatfate quit (Ping timeout: 272 seconds)
14:34:50*Trustable quit (Remote host closed the connection)
14:42:49*endragor quit (Remote host closed the connection)
14:43:04*endragor joined #nim
14:46:27*mtj_ quit (Ping timeout: 276 seconds)
14:49:05*mtj_ joined #nim
14:50:31*cheatfate_ quit (Ping timeout: 258 seconds)
14:54:51*Ven quit (Read error: Connection reset by peer)
14:55:19*Ven joined #nim
15:06:40*yglukhov joined #nim
15:09:41*Ven quit (Read error: Connection reset by peer)
15:11:13*yglukhov quit (Ping timeout: 258 seconds)
15:12:54*Ven joined #nim
15:23:21*yglukhov joined #nim
15:23:22*ephja quit (Ping timeout: 272 seconds)
15:24:12*Ven quit (Read error: Connection reset by peer)
15:26:10*Ven joined #nim
15:40:49*brechtm quit (Read error: Connection reset by peer)
15:40:55*brechtm_ joined #nim
16:01:11*Matthias247 joined #nim
16:08:57*ephja joined #nim
16:10:07*afrigginelf joined #nim
16:30:57*chemist69 quit (Ping timeout: 258 seconds)
16:32:03*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:35:08*chemist69 joined #nim
16:40:01ephjavscode with nim and vim plugins. neat
16:46:54*afriginelf joined #nim
16:48:13*afrigginelf quit (Ping timeout: 250 seconds)
16:56:42*Trustable joined #nim
17:17:26*andrewo91 quit (Remote host closed the connection)
17:20:31*cheatfate_ joined #nim
17:26:32*andrewo91 joined #nim
17:27:13*afrigginelf joined #nim
17:29:04*andrewo91 quit (Remote host closed the connection)
17:30:02*afriginelf quit (Ping timeout: 272 seconds)
17:31:37*andrewo91 joined #nim
17:33:24*afriginelf joined #nim
17:35:53*afrigginelf quit (Ping timeout: 250 seconds)
17:36:25*afrigginelf joined #nim
17:38:03*afriginelf quit (Ping timeout: 250 seconds)
17:44:22Araqandrewo91: yes, it's possible with the new patchFile mechanism
17:44:29ephjadom96: The one issue that I'm aware of regarding the cmd files generated for packages containing executables is that CreateProcess on Windows will not execute such files.
17:45:32andrewo91Araq: can you elaborate on that?
17:46:13Araqlater
17:46:15Araqbbs
17:46:18andrewo91no problem!
17:46:33andrewo91thanks for your awesome work btw :)
17:58:11ephjadom96: Actually, the convention in Windows is to place executables in a directory named after the given application
17:59:20ephjaIn which case I should just modify the PATH environment variable
17:59:36ephjais there anything about symbolic links in windows that makes them unsuitable?
17:59:43dom96ephja: It's indeed a hack, better ideas are always welcome but please write an issue on Github for it.
18:00:43*yglukhov quit (Remote host closed the connection)
18:07:56ephjaI don't consider it a hack actually, and windows shortcuts are limited and might not offer any benefits
18:12:33*yglukhov joined #nim
18:14:35*afriginelf joined #nim
18:16:41ephjahas nimsuggest ever offered suggestions for "foo.bar" calls?
18:17:13*yglukhov quit (Ping timeout: 252 seconds)
18:17:29*afrigginelf quit (Ping timeout: 250 seconds)
18:18:18Araqephja: works for me
18:20:45ephjait only suggests a proc where the first parameter is generic in this case, so at least it does *something*
18:21:27Araqrun the --stdin mode and look at the errors
18:21:54Araqusually the setup is wrong so the compiler cannot find some module and guesses "error type" for stuff :p
18:24:33*afrigginelf joined #nim
18:25:18Araqandrewo91: so ... for kernel development instead of an outdated foo.cfg file create a foo.nims file
18:25:52Araqand in the .nims file you can do something like: patchFile("stdlib", "gc", "mygc")
18:27:10*brson joined #nim
18:27:17Araqalso I don't know why GCC pretends memset and memcpy require OS support when it clearly only requires a CPU
18:27:34*liori joined #nim
18:28:19*afriginelf quit (Ping timeout: 250 seconds)
18:29:34*fastrom joined #nim
18:29:54ephjait works for integers and strings (both from strutils and system), but not osproc.Process (it does know which type the variable is)
18:31:24ephjamodule.foo works
18:38:51*andrewo91 quit (Remote host closed the connection)
18:40:20*andrewo91 joined #nim
18:41:16*andrewo91 quit (Remote host closed the connection)
18:43:05*yglukhov joined #nim
18:47:13*kier quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
18:47:41*kier joined #nim
18:48:15*yglukhov quit (Ping timeout: 276 seconds)
18:50:21*afriginelf joined #nim
18:53:01*afrigginelf quit (Ping timeout: 250 seconds)
18:55:29*endragor quit (Remote host closed the connection)
18:55:58*afrigginelf joined #nim
18:56:07*endragor joined #nim
18:59:31*afriginelf quit (Ping timeout: 250 seconds)
19:00:09*endragor quit (Ping timeout: 246 seconds)
19:00:23*afrigginelf quit (Ping timeout: 250 seconds)
19:10:27*yglukhov joined #nim
19:12:06*Salewski joined #nim
19:12:09Salewskiephja it works for integers and strings
19:12:43Salewskiephja: "it works for integers and strings"
19:15:12*yglukhov quit (Ping timeout: 260 seconds)
19:15:20SalewskiSound like you are testing NEd? 1.2. worked indeed, I got min and other suggestions. But indeed my impression was that is was not always working. But I have not investigated it, maybe there is something wrong in my code, sorry...
19:16:17*Salewski quit (Client Quit)
19:19:58ephjasalewski: the Nim plugin for vscode, actually. I was not aware of your editor
19:20:19*nsf joined #nim
19:23:44ephjaI'll try it out some time
19:23:49*Salewski joined #nim
19:24:36*cheatfate_ quit (Ping timeout: 258 seconds)
19:24:50SalewskiTHat is interesting, so maybe my code is not that wrong.
19:25:09ephjaare the numbers in the suggestion list keyboard shortcuts?
19:27:02SalewskiSorry, do not understand your question.
19:27:14*cheatfate joined #nim
19:28:03ephjaSalewski: the numbers that appear beside each entry in the list of suggestions in your editor
19:30:07SalewskiI have never watched these numbers -- I used cursor keys to go to the desired string and pressed RETURN to get it.
19:31:00ephjaok. maybe they are shortcuts provided by gtk by default
19:32:37SalewskiCurrently some code is very similar to to the GtkSourceView examples, I have still to check carefully what is really useful...
19:33:44SalewskiUnfortunately all the related gtk mailing lists are very death currently, it makes no sense to ask there...
19:34:06SalewskiBye...
19:34:10*Salewski quit ()
19:37:19*Salewski joined #nim
19:38:07SalewskiYou are right! Type 1.2. and Ctrl Space and ALT 3
19:40:54SalewskiI have never used such types of suggestions before. Plain word suggestions are also available, you can type the beginning of a word and then Ctrl Space. But that is provided not by nimsuggest but by GtkSourceView.
19:41:57*Salewski quit (Client Quit)
19:44:28*afrigginelf joined #nim
19:46:56*yglukhov joined #nim
19:51:27*yglukhov quit (Ping timeout: 264 seconds)
19:58:11*cheatfate quit (Ping timeout: 240 seconds)
20:07:36*fastrom quit (Quit: Leaving.)
20:10:58*yglukhov joined #nim
20:13:21AraqSalewski: It's easier to answer when you stick around for a while
20:15:40*Jesin quit (Quit: Leaving)
20:16:00*yglukhov quit (Ping timeout: 276 seconds)
20:16:20*Salewski joined #nim
20:17:21SalewskiAraq: Yes, but what was the question?
20:17:57Araqthe question was: does nimsuggest sometimes not produce nice results?
20:18:07Araqand the answer is: yes.
20:18:26Araqit would be nice if somebody would create issues for this, or test cases
20:21:55SalewskiOK, that is interesting. I had the feeling that I just used nimsuggest wrong. And generally I hesitate to create new issues, because there are still more than 700, which may be more important than issues from me.
20:24:31*mcc joined #nim
20:25:18mcchey, I'm working on making some javascript bindings in nim... i notice the dom.nim library uses the .importcpp. pragma on a bunch of procs. what does .importcpp. mean in js?
20:25:44SalewskiAraq, may I create an issue for this: http://forum.nim-lang.org/t/2356 # I still have the feeling there is something wrong, and from my understanding LeuGim seems to agree partly.
20:29:12AraqSalewski: nimsuggest has it's own bug tracker :-)
20:29:30Araqhttps://github.com/nim-lang/nimsuggest/issues
20:30:08Araqmcc: "import pattern"
20:30:47Araqhardly documented, but here is the idea:
20:30:59Araq# -- replace by first/next argument
20:31:11Araq@ -- replace by all remaining arguments, separated by comma
20:31:55Araqproc jsAdd(x, y: int): int {.importcpp: "# + #".}
20:32:15AraqjsAdd(3, 4) generates 3 + 4 then in the JS outpud
20:32:17Araq*put
20:32:47mccok. so the dom.js example contains plain importcpp, no pattern listed , for functions like proc blur*(w: Window) that have no overloads. is that just to indicate "this is a method, not a function"?
20:33:11Araqexactly
20:33:22mccok. cool, thanks
20:33:41Araqnow it's your job to create a PR and improve the docs
20:33:52mcci'll look into that
20:34:12Salewskimcc: importcpp pragma for javascript is described in Dom's book, page 299, 300. Have not read it yet.
20:34:20mcci should read that book
20:35:10mccone other question-- is there any good way to interact with an "untyped" javascript object when using the nim bindings? can i treat them like a dictionary and just yank out string keys?
20:36:16mcctypescript has this thing where you can type a variable as "any" and if you say like function idk(x: any) { x.someFunction() } the "someFunction" call is just totally untyped and it passes that through into generated js
20:39:24*chemist69 quit (Ping timeout: 272 seconds)
20:40:26*brechtm joined #nim
20:40:28*brechtm_ quit (Read error: Connection reset by peer)
20:45:21*chemist69 joined #nim
20:46:55*yglukhov joined #nim
20:47:26Araqmcc: nim pretty much does the same, except that 'any' hides what's really happening
20:47:41Araqproc foo[T](x: T) {.importcpp: "foo".}
20:48:44mccAh. Interesting.
20:50:03mccSo the only awkward thing there is if there's an object I want to interact with, I have to predeclare a stub like that for every method on the object?
20:50:58mccHm. I guess I could maybe do something like proc foo[T](x:T) = foo.iCanCallAnythingIWantHereLol(3,4,5) \n foo(someMysteryObject)
20:51:18*yglukhov quit (Ping timeout: 244 seconds)
20:53:39mccanyway the "actual problem" I'm having right now is i want to use webgl, but the webgl object has gobs of methods and is not in dom.js
20:54:00mccthe way i'm getting around this is i'm actually writing a binding script to translate TypeScript declaration files to Nim
20:54:07mccit is actually going more or less ok
20:55:15Araqyay, nice.
20:55:55mcci will report back if i meet with any success
20:57:55AraqSalewski: http://forum.nim-lang.org/t/2356 is not a bug. generic matches are preferred over subtype matches
20:58:21Araqthough perhaps we can reconsider that 'untyped' is a "generic match", but it certainly has some logic behind it.
20:58:50SalewskiOK, thanks.
21:02:30ephjanot sure if re.replace is really slow or if it's stuck in an infinite loop. I'll try pegs again
21:02:34*afrigginelf quit (Ping timeout: 250 seconds)
21:03:54ephjaI'm trying to automate bindings generation with the nim toolchain only
21:07:10SalewskiFor glib/gtk related libs that is hard. It may become easier when compiler can better work with forward declarations (like secret noforward pragma )
21:08:46ephjaI gave up on gstreamer
21:09:54SalewskiFor what task do you need it?
21:10:53ephjado those libs contain cyclic dependencies?
21:11:28*yglukhov joined #nim
21:11:48ephjaGLFW. I only need symbols that were added in the last 2 minor versions, but c2nim chokes on a macro
21:14:02ephja"#if defined(_WIN32) && defined(_GLFW_BUILD_DLL).....#endif" is what I'm trying to remove
21:16:08*yglukhov quit (Ping timeout: 272 seconds)
21:17:02SalewskiI have used Ruby and Perl scripts to remove such macros -- and for performing a lot of other task. Result was a bash script which processed all the header files and gave the nim wrapper, without manual intervention. But it was a lot work.
21:21:16SalewskiAnd no, gtk libs have no cyclic dependencies, but data types are often used before they are declared in the code, so reordering is necessary with current compiler.
21:23:02ephjahow tedious
21:27:16*irrequietus joined #nim
21:28:21*Demos joined #nim
21:32:32*Matthias247 quit (Read error: Connection reset by peer)
21:33:48*Salewski quit ()
21:34:36ephjaAraq: how do I specify a PEG pattern that consumes until "#endif"?
21:35:01Araqrtfm
21:35:19Araq:-) sorry, couldn't resist
21:35:42*yglukhov joined #nim
21:38:08ephjalol. I'll take a break and read it again. it's better to construct patterns incrementally
21:40:16*yglukhov quit (Ping timeout: 250 seconds)
21:45:17dom96So guys, I decided to make this using Nim for fun and profit https://pokemongostatus.org/
21:52:38*Mat4 joined #nim
21:54:00*Trustable quit (Remote host closed the connection)
21:55:19*Mat4 left #nim (#nim)
22:07:01mcctruly a public service
22:07:44*Varriount quit (Read error: Connection reset by peer)
22:07:59*Varriount joined #nim
22:08:21*pafmaf quit (Read error: Connection reset by peer)
22:11:57*yglukhov joined #nim
22:16:09*yglukhov quit (Ping timeout: 246 seconds)
22:45:40*regtools quit (Quit: leaving)
22:48:10*yglukhov joined #nim
22:53:18*yglukhov quit (Ping timeout: 276 seconds)
22:56:47*desophos joined #nim
23:07:36*irrequietus quit ()
23:09:07liorihi, if i declare an object with just a single field and no base class, does it have any overhead over a type alias?
23:12:31*yglukhov joined #nim
23:13:49*brechtm quit (Read error: Connection reset by peer)
23:14:47*brechtm joined #nim
23:15:40*irrequietus joined #nim
23:17:21*yglukhov quit (Ping timeout: 276 seconds)
23:22:05Araqliori: not really, but often a 'distinct' type is more useful then
23:26:46lioriAraq: i actually wanted to use `distinct string`, but then trying to {.borrow.} string's `[]=` operator ends up with compiler error (https://github.com/nim-lang/Nim/issues/4491)
23:27:44lioriso, just wanted to check how bad it would be to define this type as a full object
23:27:52lioritemporarily while the bug is there
23:32:39Araq.borrow is just broken sugar for one-liners
23:33:09Araqhmm, I could reimplement as a macro
23:42:48*der-landgraf joined #nim
23:48:43*yglukhov joined #nim
23:49:46*Varriount quit (Disconnected by services)
23:49:46*Varriount_ joined #nim
23:53:45*yglukhov quit (Ping timeout: 276 seconds)
23:59:20*elrood quit (Quit: Leaving)