<< 11-11-2016 >>

00:02:36*PMunch joined #nim
00:03:23*Matthias247 quit (Read error: Connection reset by peer)
00:12:38*yglukhov quit (Ping timeout: 268 seconds)
00:21:09*stisa quit (Quit: Leaving)
00:24:08*chemist69 joined #nim
00:31:16*brechtm quit ()
00:46:18*dddddd quit (Remote host closed the connection)
00:57:00FromGitter<GraydenH> I see that typew of type declaration is a common pattern in nim but I don't get why it is not ⏎ `type Node = object ⏎ le, ri: Node`
00:59:07*PMunch quit (Quit: leaving)
01:09:35FromGitter<ephja> because it's a recursive type, and so it can't be a value type because then it would be infinitely big
01:23:55FromGitter<ephja> oh he left
01:24:02*libman quit (Ping timeout: 250 seconds)
01:26:23*libman joined #nim
01:27:06*pregressive quit (Remote host closed the connection)
01:27:40*pregressive joined #nim
01:32:08*pregressive quit (Ping timeout: 245 seconds)
01:53:41*libman quit (Remote host closed the connection)
02:09:36*yglukhov joined #nim
02:14:12*yglukhov quit (Ping timeout: 256 seconds)
02:30:45*chemist69 quit (Ping timeout: 256 seconds)
02:43:47*chemist69 joined #nim
03:12:19*ibk joined #nim
03:19:29*ephja quit (Ping timeout: 268 seconds)
04:11:19*yglukhov joined #nim
04:15:28*yglukhov quit (Ping timeout: 245 seconds)
04:40:03*Dankrad quit (Ping timeout: 245 seconds)
04:45:21FromGitter<GraydenH> to return
04:52:52*vendethiel quit (Ping timeout: 256 seconds)
04:53:40*vendethiel joined #nim
05:02:07*Dankrad joined #nim
05:48:47*brson quit (Quit: leaving)
05:52:54*jh32 joined #nim
05:58:07FromGitter<GraydenH> why does
05:58:09FromGitter<GraydenH> var modelview = [ ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=58255df1df5ae96645417792]
05:58:20FromGitter<GraydenH> not work
05:58:31FromGitter<GraydenH> I mean compile
05:59:33FromGitter<GraydenH> proc glLoadMatrixf(m: ptr GLfloat)
06:00:25FromGitter<GraydenH> that function doesn't compile but I don't get why it takes a glfloat
06:02:16FromGitter<GraydenH> it doesn't look like glfloat is am alias for a pointer
06:02:24FromGitter<GraydenH> might be wrong about that
06:02:52FromGitter<GraydenH> I would think a `ptr array[0..15, float64]` would be proper
06:02:59FromGitter<GraydenH> considering
06:04:36FromGitter<GraydenH> same thing for
06:04:40FromGitter<GraydenH> glGetDoublev(pname: GLenum, params: ptr GLdouble)
06:04:53FromGitter<GraydenH> ptr GLdouble
06:10:44FromGitter<GraydenH> castptr GLfloat (modelview.addr)[] doesn't fix anything either
06:11:02FromGitter<GraydenH> doesn't fix anything either
06:11:23FromGitter<GraydenH> how is this supposed to work
06:12:52*yglukhov joined #nim
06:17:25*yglukhov quit (Ping timeout: 256 seconds)
06:17:36FromGitter<GraydenH> glLoadMatrixf(castptr GLFloat (modelview.addr))
06:17:42FromGitter<GraydenH> that compiles
06:17:52FromGitter<GraydenH> kind of verbose :/
06:18:20FromGitter<GraydenH> opengl.nim(898) glMatrixMode ⏎ SIGSEGV: Illegal storage access. (Attempt to read from nil?)
06:18:40FromGitter<GraydenH> what does tha even mean
06:18:58FromGitter<GraydenH> how can
06:19:02FromGitter<GraydenH> glMatrixMode(GL_MODEL_VIEW)
06:19:05FromGitter<GraydenH> fail
06:19:44FromGitter<GraydenH> also is there going to be multi line comments?
06:22:04*desophos joined #nim
06:32:52*nsf joined #nim
06:48:41*pecan left #nim ("WeeChat 1.5")
07:29:24*vendethiel- joined #nim
07:30:10*vendethiel quit (Ping timeout: 265 seconds)
07:45:01*ephja joined #nim
07:46:11flyxGraydenH: there are. http://nim-lang.org/docs/manual.html#lexical-analysis-multiline-comments
07:47:22flyxGraydenH: you should use glLoadMatrixf with something like `var mat: array[0..3, GLfloat]` and then `glLoadMatrixf(addr mat[0])`
07:48:35flyxerr, wait. matrix has 16 elements, not 4
07:49:08flyxso, array[0..15, GLfloat]
07:49:44flyxthis may probably be enhanced in the opengl module
07:50:23flyxcan someone over at Gitter tell me if he's even still there?
08:00:47*bjz joined #nim
08:12:35*yglukhov joined #nim
08:13:31*gokr joined #nim
08:16:10*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
08:16:54*yglukhov quit (Ping timeout: 258 seconds)
08:28:41*Trustable joined #nim
08:31:32*bjz joined #nim
08:47:55*perturbation joined #nim
08:54:23*PMunch joined #nim
08:57:17*yglukhov joined #nim
08:58:03*yglukhov quit (Read error: Connection reset by peer)
08:58:06*yglukhov_ joined #nim
09:02:46*yglukhov_ quit (Ping timeout: 256 seconds)
09:03:28*desophos quit (Read error: Connection reset by peer)
09:06:12*jh32 quit (Ping timeout: 260 seconds)
09:08:45FromGitter<GraydenH> im here
09:08:58FromGitter<GraydenH> but its night now
09:12:12*bjz_ joined #nim
09:12:17*bjz quit (Ping timeout: 244 seconds)
09:14:09*yglukhov joined #nim
09:15:04*chemist69 quit (Ping timeout: 260 seconds)
09:21:19*chemist69 joined #nim
09:24:44*couven92 joined #nim
09:40:58*flyx needs some advice on how to workaround https://github.com/nim-lang/Nim/issues/5015
09:41:33flyxI believe the conversion to Mutator is the problem, but I cannot get this to compile without it because apparently the proc type is not automatically equal
09:51:49flyxAraq, can you give advice on how to avoid the explicit conversion?
10:24:36*tankfeeder joined #nim
10:25:14*tankfeeder left #nim (#nim)
10:32:42PMunchflyx, you can write a converter
10:34:42flyxPMunch: yes, but I think the problem is that the value needs to be converted in the first place. why would it?
10:35:12flyxits signature matches with Mutator, so it should automatically match
10:35:44flyxalso, even if I replace the use of Mutator in putMutated with `proc(matched: string): string`, it still doesn't match
10:39:31PMunchHmm, didn't see that you supplied an error as well
10:39:46PMunchNot actually sure
10:53:25FromGitter<ephja> is "import foo.bar as foo_bar ... import baz.bar as baz_bar" broken atm?
10:56:42FromGitter<ephja> I'll just rename the modules
11:23:25*chemist69 quit (Ping timeout: 256 seconds)
11:25:00*perturbation quit (Ping timeout: 256 seconds)
11:27:56*chemist69 joined #nim
11:46:44*bjz_ quit (Ping timeout: 260 seconds)
11:47:09*bjz joined #nim
11:47:31FromGitter<nigredo-tori> @flyx, mark mutator0 and Mutator as `{.noconv.}` and it works. ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5825afd265485ebc6780b73b]
12:00:10*elrood joined #nim
12:01:56*Snircle joined #nim
12:08:50flyxnigredo-tori: wow, nice. where did you dig that up?
12:15:21FromGitter<nigredo-tori> I just thought that, seeing how `static` is not mature enough, and how closures often lead to bugs, passing a closure proc in a `static` array was just asking for it. ^_^
12:15:23*byte512 joined #nim
12:23:32*gokr quit (Ping timeout: 260 seconds)
12:26:43*dmi0 joined #nim
12:32:29*chemist69 quit (Quit: WeeChat 1.6)
12:32:51*chemist69 joined #nim
12:43:16*arnetheduck joined #nim
13:28:39*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
13:30:35*gokr joined #nim
13:39:20*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
13:40:46*Snircle joined #nim
13:54:05*jh32 joined #nim
14:06:05flyxinteresting. I wrote some basic lexer generator (because I can) and I test it a bit with some JSON input. so far, it's about half as fast as using json.parse, which I think is a good factor to start with
14:06:31flyxI wonder if staying with transition tables may eventually be faster than generating code close to how json.parse looks
14:12:17*gokr quit (Ping timeout: 240 seconds)
14:16:38*PMunch quit (Read error: Connection reset by peer)
14:16:57*PMunch joined #nim
14:24:30*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
14:27:32*Snircle joined #nim
14:46:10*libman joined #nim
14:46:32*dddddd joined #nim
15:04:38*vendethiel- quit (Ping timeout: 245 seconds)
15:11:18*[CBR]Unspoken quit (Ping timeout: 245 seconds)
15:27:59*[CBR]Unspoken joined #nim
15:28:55*perturbation joined #nim
15:35:02*shodan45 joined #nim
15:39:05*pregressive joined #nim
15:45:57*perturbation quit (Ping timeout: 260 seconds)
15:50:19FromGitter<gogolxdong> how to handle `Error: sdl2.init(INIT_VIDEO): No available video device ` of nimx
15:52:25*arnetheduck quit (Remote host closed the connection)
15:56:00*Jesin quit (Quit: Leaving)
16:00:03*chemist69 quit (Ping timeout: 245 seconds)
16:02:27*Jesin joined #nim
16:21:29*perturbation joined #nim
16:22:08zevlg`hey, is it possible to get dinamic dispatch on iterators?
16:22:11*zevlg` is now known as zevlg
16:22:23zevlghere is code: http://pastebin.com/DXHbnkrE
16:22:41zevlgI was expecting it to print somithng, but got "to override!" instead
16:27:09*chemist69 joined #nim
16:31:10yglukhovgogolxdong: maybe something is wrong with your system? e.g. http://askubuntu.com/questions/443053/could-not-initialize-sdl-no-available-video-device-dont-move
16:33:29*gokr joined #nim
16:49:41*gokr quit (Ping timeout: 248 seconds)
16:58:11*nsf quit (Quit: WeeChat 1.6)
17:00:34*PMunch quit (Quit: leaving)
17:08:24*ibk quit (Quit: Connection closed for inactivity)
17:09:40*perturbation quit (Ping timeout: 260 seconds)
17:23:34*perturbation joined #nim
17:24:25*yglukhov_ joined #nim
17:27:40*yglukhov quit (Ping timeout: 256 seconds)
17:29:12*yglukhov_ quit (Ping timeout: 260 seconds)
17:34:27*couven92 quit (Quit: Client disconnecting)
17:42:26*elrood quit (Quit: Leaving)
17:44:14*perturbation quit (Ping timeout: 250 seconds)
18:09:46*Trustable quit (Remote host closed the connection)
18:17:51*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
18:20:26*shodan45 quit (Quit: Konversation terminated!)
18:30:06*nsf joined #nim
18:32:24*kier quit (Read error: Connection reset by peer)
18:33:51*yglukhov joined #nim
18:35:02*brson joined #nim
18:35:38*yglukhov quit (Read error: Connection reset by peer)
18:35:50*yglukhov joined #nim
18:37:57*yglukhov quit (Remote host closed the connection)
18:38:09*yglukhov joined #nim
18:43:59*yglukhov quit (Remote host closed the connection)
18:47:45*kier joined #nim
18:53:52*UNIcodeX_Work joined #nim
18:57:09*UNIcodeX quit (Ping timeout: 244 seconds)
18:59:41*kier quit (Remote host closed the connection)
19:00:15*kier joined #nim
19:15:14*vlad1777d joined #nim
19:19:21FromGitter<GraydenH> `c:\users\grayden\.nimble\pkgs\nimx-0.1\nimx\context.nim(2, 8) Error: cannot open 'opengl'`
19:20:25*yglukhov joined #nim
19:22:14*bjz joined #nim
19:23:46*UNIcodeX_Work quit (Read error: Connection reset by peer)
19:23:56*UNIcodeX joined #nim
19:25:27FromGitter<GraydenH> right this is the problem with `nimble c`, `nim c` works
19:25:45*yglukhov quit (Remote host closed the connection)
19:25:45*UNIcodeX_Work joined #nim
19:26:00*yglukhov joined #nim
19:29:14*Trustable joined #nim
19:29:40*UNIcodeX quit (Ping timeout: 260 seconds)
19:31:12Araqzelg: that's not supported since the compiler wants to be able to inline the iterator
19:31:16*dmi0 quit (Ping timeout: 250 seconds)
19:36:56*Gonzih quit (Ping timeout: 244 seconds)
19:43:03FromGitter<GraydenH> where would I put the sdl2.dll so gcc can find it
19:44:07*zevlg quit (Read error: Connection reset by peer)
19:45:05FromGitter<GraydenH> nvm got it
19:59:44*Gonzih joined #nim
20:00:01*nsf quit (Quit: WeeChat 1.6)
20:01:06FromGitter<GraydenH> nimx requires sdl 2.0.4
20:01:25FromGitter<GraydenH> which isn't in wide circulation
20:02:03FromGitter<GraydenH> win-builds only gives me 2.0.3
20:02:48FromGitter<GraydenH> downloaded the sdl 2.0.5 and put it in the sdl 2 nimble dir and change the lib name to the full path there
20:03:05FromGitter<GraydenH> now it says `could not load: C:\Users\Grayden\.nimble\pkgs\sdl2-1.1\SDL2.dll`
20:03:22FromGitter<GraydenH> but when i go to run it :/
20:03:33FromGitter<GraydenH> it seems to think it compiled fine
20:09:33Xewhere are you getting the SDL DLL from?
20:10:14Xe@GraydenH
20:12:14FromGitter<GraydenH> the website
20:12:24FromGitter<GraydenH> https://www.libsdl.org/download-2.0.php
20:14:20AraqGraydenH: 32 vs 64 bit issue?
20:14:30FromGitter<GraydenH> maybe
20:14:45FromGitter<GraydenH> would it say "cannot open" it that were the case?
20:15:09FromGitter<GraydenH> I was more used to getting a big gcc dump when that was the problem
20:16:44FromGitter<GraydenH> oh, how did i miss the x64 version :/ oops
20:24:18*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
20:38:25*brson quit (Ping timeout: 244 seconds)
20:53:49FromGitter<GraydenH> how do you just draw a rect in nimx
20:54:46FromGitter<GraydenH> i see theres a drawRect in abstract_window, but I don't know how to get a GraphicsContext to call it
21:04:32*brson joined #nim
21:09:45FromGitter<GraydenH> `proc newGraphicsContext(canvas: ref RootObj = nil): GraphicsContext`
21:10:08FromGitter<GraydenH> but what is the canvas supposed to be?
21:18:00*gokr joined #nim
21:19:31FromGitter<GraydenH> var c = currentContext() ⏎ c.drawRect(newRect(20, 20, 150, 20))
21:19:50FromGitter<GraydenH> `test.nim(21) test ⏎ test.nim(12) startApp ⏎ portable_gl.nim(319) drawRect ⏎ portable_gl.nim(342) uniformMatrix4fv ⏎ opengl.nim(1756) glUniformMatrix4fv ... [https://gitter.im/nim-lang/Nim?at=582635f645c9e3eb43286146]
21:20:38FromGitter<GraydenH> the draw rect is line 21
21:20:48FromGitter<GraydenH> no idea what is wrong
21:21:33FromGitter<GraydenH> i mean its line 12
21:21:49FromGitter<GraydenH> not sure why an opengl error is happening
21:24:02FromGitter<GraydenH> how is custom drawing done in nimx
21:25:42FromGitter<yglukhov> @GraydenH, did you have a look at the samples?
21:25:45*desophos joined #nim
21:25:48*Dankrad quit (Ping timeout: 260 seconds)
21:26:06FromGitter<GraydenH> yeah can't find any that cover this
21:27:12FromGitter<yglukhov> well how about sample01_welcome.nim?
21:27:15FromGitter<GraydenH> oh
21:27:19FromGitter<GraydenH> just saw it
21:28:08FromGitter<GraydenH> dunno what's different
21:28:48FromGitter<GraydenH> do you need to make a view subclass to do it
21:31:59FromGitter<yglukhov> yup. unless youre drawing to texture, you have to do your drawing at specific points in time. view.draw method is called specifically when you want to do your drawing.
21:34:51FromGitter<yglukhov> think of this from another perspective. you can draw only within some window/view. if you've got more than one window, then which window are you drawing to?
21:36:30FromGitter<GraydenH> it's kind of hard to follow what's going on after registersample is called
21:36:53FromGitter<GraydenH> can I make my custom view the main window?
21:36:55FromGitter<yglukhov> > but what is the canvas supposed to be? ⏎ ⏎ ⏎ for native target you can get away with canvas = nil. for js it has to be your canvas dom element. but normally you dont have to create your own context [https://gitter.im/nim-lang/Nim?at=582639f76cb7207630660207]
21:38:02FromGitter<GraydenH> but I got a runtime error when I left it null
21:38:21FromGitter<GraydenH> I guess it was supposed to me in some view method?
21:39:49FromGitter<yglukhov> youve got error, because you kinda misused it. internally window prepares the context on every frame by setting up viewports/transformations, etc.
21:40:12*tinAndi joined #nim
21:40:28FromGitter<yglukhov> just do the drawing in the draw method of your View/Window subclass, and you should be good.
21:42:35FromGitter<yglukhov> if you're doing a View subclass, you should add your view to some window for it to be displayed. if you're doing Window subclass, you just create your window as a normal window and thats it.
21:43:43*Dankrad joined #nim
21:45:13FromGitter<GraydenH> right
21:46:37FromGitter<GraydenH> method draw(v: CustomView) {.base.} = ⏎ var c = currentContext() ⏎ c.fillColor = newColor(0.2, 0.2, 0.2) ⏎ c.drawRect(newRect(0, 0, 150, 20)) ⏎ ... [https://gitter.im/nim-lang/Nim?at=58263c3c6cb7207630660bb6]
21:46:52*libman quit (Remote host closed the connection)
21:47:03FromGitter<GraydenH> but there no rect on the screen
21:48:00FromGitter<yglukhov> var c = CustomView.new(newRect(10, 10, 300, 300))
21:48:58*nsf joined #nim
21:50:41FromGitter<GraydenH> still nothing :/
21:52:12FromGitter<yglukhov> oh, wrong draw signature. override the one in view.nim: method draw(v: CustomView, r: Rect)
21:53:45FromGitter<GraydenH> oook
21:53:58FromGitter<yglukhov> any good?
21:53:59FromGitter<GraydenH> so the bounds of the view is passed in?
21:54:09FromGitter<GraydenH> yes it worked
21:55:36FromGitter<yglukhov> the frame of the view is set on view creation. can be changed later on. but in most cases you just set autoresizing mask for it to be resized automatically when its superview is resized
21:56:22FromGitter<yglukhov> c.autoresizingMask = {afFlexibleWidth, afFlexibleHeight}
21:57:35FromGitter<yglukhov> or a bit less verbose: c.resizingMask = "wh"
21:58:24FromGitter<GraydenH> ah
22:03:10FromGitter<GraydenH> a window is just a view?
22:03:43FromGitter<GraydenH> so can you do the same thing to it?
22:04:12FromGitter<GraydenH> does not seem to work
22:04:55FromGitter<GraydenH> method draw(w: CustomWindow, r: Rect) = ⏎ var c = currentContext() ⏎ c.fillColor = newColor(0.0, 0.2, 1.2) ⏎ c.drawRect(r) ⏎ ... [https://gitter.im/nim-lang/Nim?at=5826408631c5cbef43e52677]
22:06:03*gokr quit (Ping timeout: 258 seconds)
22:07:17FromGitter<yglukhov> full gist pls
22:07:23*Matthias247 joined #nim
22:07:42FromGitter<GraydenH> import nimx.window ⏎ import nimx.text_field ⏎ import nimx.system_logger # Required because of Nim bug (#4433) ⏎ import nimx.context ⏎ import nimx.view ... [https://gitter.im/nim-lang/Nim?at=5826412e6cb7207630662326]
22:07:48*pregressive quit (Remote host closed the connection)
22:08:21*pregressive joined #nim
22:11:02*pregressive quit (Read error: Connection reset by peer)
22:11:19*pregressive joined #nim
22:12:43*pregressive quit (Read error: Connection reset by peer)
22:13:15*pregressive joined #nim
22:14:16FromGitter<yglukhov> ok sorry, i lied. you can't actually subclass Window.
22:14:35FromGitter<yglukhov> at least not for your purpose
22:15:55*bjz joined #nim
22:17:41*pregressive quit (Ping timeout: 248 seconds)
22:32:51FromGitter<GraydenH> so, just a view the same size?
22:33:51FromGitter<GraydenH> also, isn't this comment `# First create a window. Window is the root of view hierarchy.` untrue
22:34:17FromGitter<GraydenH> doesn't window extend view
22:34:35FromGitter<GraydenH> unless you are talking about the rest of the view hierarchy
22:45:21FromGitter<yglukhov> > so, just a view the same size? ⏎ ⏎ ⏎ yep. let myView = MyView.new(myWindow.bounds) [https://gitter.im/nim-lang/Nim?at=58264a01df5ae966454641d3]
22:46:26FromGitter<yglukhov> window is subclass of view in terms of OOP. but window is the root view in the view hierarchy in terms of layout.
22:48:31ephjawill this architecture allow for the creation of multiple windows?
22:49:29FromGitter<yglukhov> sure does.
23:04:37*chemist69 quit (Ping timeout: 240 seconds)
23:18:10*mal`` quit (Ping timeout: 250 seconds)
23:18:40*Trustable quit (Remote host closed the connection)
23:20:01*Xe quit (Ping timeout: 260 seconds)
23:21:14FromGitter<GraydenH> does window not call draw
23:22:01*Xe joined #nim
23:23:15*mal`` joined #nim
23:27:29*gangstacat quit (Ping timeout: 260 seconds)
23:31:58*chemist69 joined #nim
23:33:58federico3a C function needs a callback a pointer to a proc, however "addr myproc" returns Error: expression has no address - any hint?
23:35:06FromGitter<yglukhov> just myproc.
23:35:09*nsf quit (Quit: WeeChat 1.6)
23:35:59FromGitter<yglukhov> proc myCFunction(myCallback: proc() {.cdecl.}) {.importc.}
23:36:09FromGitter<yglukhov> proc cb = echo "hi"
23:36:15FromGitter<yglukhov> myCFunction(cb)
23:38:32FromGitter<yglukhov> @GraydenH window does call draw, but the problem is different. Window is actually pretty abstract because it knows nothing about the platform its beeing run on. on the other hand SdlWindow, JSCanvasWindow, EmscriptenWindow and AppKitWindow are subclasses of Window and know how to handle on different platforms. newWindow actually creates one of those.
23:48:23*byte512 quit (Ping timeout: 246 seconds)
23:49:21federico3thanks yglukhov
23:50:31*cheatfate quit (Read error: Connection reset by peer)
23:57:21FromGitter<GraydenH> ah