<< 30-11-2016 >>

00:08:50*Demos joined #nim
00:10:18*yglukhov joined #nim
00:10:42*[ui] joined #nim
00:11:33*rynsin joined #nim
00:13:11*rynsin quit (Client Quit)
00:14:44*yglukhov quit (Ping timeout: 265 seconds)
00:35:23*Varriount|Mobile quit (Read error: Connection reset by peer)
00:35:28*Varriount|Phone joined #nim
00:40:21*Matthias247 quit (Read error: Connection reset by peer)
00:42:39*rynsin joined #nim
00:42:57*vendethiel quit (Ping timeout: 246 seconds)
00:43:09*vendethiel joined #nim
00:43:19*rynsin quit (Client Quit)
00:45:39*PMunch quit (Quit: leaving)
00:47:16*dmi00 quit (Ping timeout: 250 seconds)
00:52:58*yglukhov joined #nim
00:53:02*saml_ joined #nim
00:57:38*yglukhov quit (Ping timeout: 258 seconds)
00:58:01*wuehlmaus quit (Quit: Aus, die Maus)
00:59:01*chemist69 quit (Ping timeout: 260 seconds)
01:01:41*chemist69 joined #nim
01:11:46*themagician quit ()
01:18:07*Demos_ joined #nim
01:21:01*Demos quit (Ping timeout: 258 seconds)
01:21:19*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
01:23:09*joshbaptiste_ is now known as joshbaptiste
01:30:28*arnetheduck joined #nim
01:34:55*Varriount|Phone quit (Read error: Connection reset by peer)
01:35:23*yglukhov joined #nim
01:37:01*Varriount|Phone joined #nim
01:40:05*yglukhov quit (Ping timeout: 260 seconds)
01:41:44*cheatfate quit (Quit: Leaving)
01:42:16*space-wizard quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:43:30*space-wizard joined #nim
01:43:49*space-wizard quit (Client Quit)
01:44:18*space-wizard joined #nim
01:44:37*space-wizard quit (Client Quit)
01:45:06*space-wizard joined #nim
01:47:16*Varriount|Phone quit (Read error: Connection reset by peer)
01:50:27*Varriount|Phone joined #nim
01:56:24*libman quit (Remote host closed the connection)
02:05:28*Varriount|Phone quit (Ping timeout: 245 seconds)
02:09:58*brson joined #nim
02:17:41*yglukhov joined #nim
02:20:53*brson quit (Ping timeout: 265 seconds)
02:21:32*[ui] quit (Quit: Connection closed for inactivity)
02:22:10*yglukhov quit (Ping timeout: 250 seconds)
02:24:11*brson joined #nim
02:24:45*Varriount|Phone joined #nim
02:36:22*cheatfate joined #nim
02:40:05*Varriount|Phone quit (Read error: Connection reset by peer)
02:40:35*brson quit (Read error: Connection reset by peer)
02:45:23*brson joined #nim
02:45:48*Varriount|Phone joined #nim
03:00:03*yglukhov joined #nim
03:02:52*chemist69 quit (Ping timeout: 260 seconds)
03:04:26*yglukhov quit (Ping timeout: 256 seconds)
03:08:44*shubhaml quit (Ping timeout: 265 seconds)
03:12:39*shubhaml joined #nim
03:16:38*chemist69 joined #nim
03:27:14*Varriount|Phone quit (Read error: Connection reset by peer)
03:28:19*shubhaml quit (Ping timeout: 244 seconds)
03:37:22*brson_ joined #nim
03:39:28*brson quit (Ping timeout: 250 seconds)
03:41:31*saml_ quit (Remote host closed the connection)
03:42:27*yglukhov joined #nim
03:45:59*Demos joined #nim
03:47:30*yglukhov quit (Ping timeout: 268 seconds)
03:48:27*Varriount|Phone joined #nim
03:49:04*Demos_ quit (Ping timeout: 260 seconds)
04:03:34*brson_ quit (Read error: Connection reset by peer)
04:04:02*brson joined #nim
04:05:16*yglukhov joined #nim
04:10:36*yglukhov quit (Ping timeout: 252 seconds)
04:17:25*brson quit (Read error: Connection reset by peer)
04:17:32*Varriount|Phone quit (Ping timeout: 256 seconds)
04:18:29*brson joined #nim
04:19:01*brson quit (Read error: Connection reset by peer)
04:23:32*brson joined #nim
04:29:41*brson quit (Quit: Lost terminal)
04:32:37*avsej quit (Ping timeout: 250 seconds)
04:32:51*brson joined #nim
04:33:52*kulelu88 quit (Ping timeout: 260 seconds)
04:34:49*avsej joined #nim
04:34:50*avsej quit (Changing host)
04:34:50*avsej joined #nim
04:35:40*kulelu88 joined #nim
04:39:38*Varriount|Phone joined #nim
04:43:59*kulelu88 quit (Quit: Leaving)
04:46:06*yglukhov joined #nim
04:50:12*brson quit (Read error: Connection reset by peer)
04:50:37*brson joined #nim
04:50:40*yglukhov quit (Ping timeout: 260 seconds)
05:06:56*brson quit (Read error: Connection reset by peer)
05:12:17*brson joined #nim
05:28:25*yglukhov joined #nim
05:32:15*Demos_ joined #nim
05:34:44*yglukhov quit (Ping timeout: 250 seconds)
05:34:47*Demos quit (Ping timeout: 258 seconds)
06:20:44*nsf joined #nim
06:23:14*shodan45 quit (Quit: Konversation terminated!)
06:43:35*brson quit (Quit: leaving)
06:44:14*dmi00 joined #nim
06:45:23*brson joined #nim
06:53:00Varriount|PhoneAraq: Do you know of a master list of pubic Windows SDK header files? The ones that are meant to be directly included by programs?
06:56:05*dmi00 quit (Ping timeout: 248 seconds)
06:57:26*Demos_ quit (Ping timeout: 268 seconds)
06:58:54*rynsin joined #nim
07:01:24*rynsin quit (Client Quit)
07:13:01*Varriount|Phone quit (Read error: Connection reset by peer)
07:16:17*cheatfate quit (Ping timeout: 240 seconds)
07:22:19*bjz joined #nim
07:30:34*space-wizard quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:31:59*space-wizard joined #nim
07:36:37*space-wizard quit (Ping timeout: 260 seconds)
07:37:49*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
07:38:10*Varriount|Phone joined #nim
07:43:02chemist69pubic windows? LOL :D
07:47:00*yglukhov joined #nim
07:47:01*yglukhov quit (Read error: Connection reset by peer)
07:49:39*yglukhov joined #nim
07:52:55*bjz joined #nim
07:59:50*cheatfate joined #nim
08:15:56Varriount|Phonechemist69: public in the programming sense
08:16:43Varriount|Phonechemist69: I have a script which processes the entire Windows sdk to make it relatively suitable for c2nim
08:17:29Varriount|PhoneHowever if I use c2nim, I need to know which modules should be exposed
08:18:47*rokups joined #nim
08:22:55cheatfateVarriount|Phone, i know its a tough work, but why you are doing it?
08:23:56cheatfatenobody uses so hard platform sdk
08:24:13cheatfatesome guids, some structure declarations
08:26:15Varriount|Phonecheatfate: "so hard platform sdk"?
08:27:11cheatfatei mean if you don't plan to make MFC you don't need whole windows sdk
08:28:13*rynsin joined #nim
08:31:10*rynsin quit (Client Quit)
08:31:55*rynsin joined #nim
08:31:58*rynsin quit (Client Quit)
08:32:55Varriount|Phonecheatfate: I'm not including the foundation classes
08:33:12Varriount|PhoneI still need a sane module structure though
08:35:06*rynsin joined #nim
08:35:10*rynsin quit (Client Quit)
08:35:57*rynsin joined #nim
08:35:59*rynsin quit (Client Quit)
08:40:18*cheatfate quit (Ping timeout: 265 seconds)
08:42:28*Arrrr joined #nim
08:43:51*nikolay-turpitko joined #nim
08:45:00*Andris_zbx joined #nim
08:45:39*brechtm joined #nim
08:48:03*nikolay-turpitko left #nim ("WeeChat 1.4")
08:48:42*brechtm_ quit (Ping timeout: 250 seconds)
08:56:30*bjz_ joined #nim
08:57:28*bjz quit (Ping timeout: 256 seconds)
09:05:44*brson quit (Quit: leaving)
09:10:04*yglukhov_ joined #nim
09:12:58*yglukhov quit (Ping timeout: 250 seconds)
09:13:34*yglukhov_ quit (Remote host closed the connection)
09:15:55*ibk joined #nim
09:16:48*brechtm quit (Remote host closed the connection)
09:17:23*brechtm joined #nim
09:27:16*djellemah quit (Ping timeout: 250 seconds)
09:27:55chemist69Varriount|Phone: I know you meant public, but you wrote `pubic`. Sorry, lame joke.
09:33:15*yglukhov joined #nim
09:33:42*vlad1777d joined #nim
09:39:57*EastByte quit (Quit: WeeChat 1.6)
09:41:43*EastByte joined #nim
09:44:27*[ui] joined #nim
09:53:22ibkit seems the only way to add query params to http request is modify the url string directly, CMIIW
10:03:02FromGitter<vegansk> Hi to all. It was a long road back to Nim :-) I have a question about generic-concepts branch (https://github.com/nim-lang/Nim/tree/generic-concepts). Is it dead? GitHub says "836 commits behind devel".
10:04:00AraqI reviewed it once and it seemed merge-able
10:04:28AraqI know zahary never stops developing nim, so it's not dead either
10:04:42Araqbut progress is SLOW ;-)
10:05:36ArrrrWelcome my friend.
10:08:49AraqArrrr: fixed your ModuleName bug
10:08:56*elrood joined #nim
10:09:47ArrrrReally? but that's great! I'll confirm it to you next week, i don't have linux right now
10:10:30Araqit's a Windows specific bug
10:10:46Araqif you have a Linux issue, then it's perhaps some different bug?
10:11:03Araqhttps://github.com/nim-lang/Nim/issues/5076
10:13:11ArrrrWell, lowecasing everything would have been more convenient, but i guess it would lead to less issues if it is strict with the path
10:13:39*Demos joined #nim
10:17:13*yglukhov quit (Remote host closed the connection)
10:17:16*Demos_ joined #nim
10:18:37*erwana[m]1 joined #nim
10:19:11*askatasuna quit (Ping timeout: 258 seconds)
10:19:18*erwana[m] quit (Ping timeout: 258 seconds)
10:19:19*Demos quit (Ping timeout: 258 seconds)
10:19:19*joebo quit (Ping timeout: 258 seconds)
10:19:20*javax quit (Ping timeout: 258 seconds)
10:19:23*pleiosaur quit (Ping timeout: 258 seconds)
10:19:24*yglukhov joined #nim
10:19:30ArrrrBut i think this will break a lot of stuff. If someone else like me uses the same name for module and type, nim will complain. I don't know how popular this convention is.
10:19:38*SirCmpwn quit (Ping timeout: 258 seconds)
10:19:40*cnu- quit (Ping timeout: 258 seconds)
10:19:40*subsetpark quit (Ping timeout: 258 seconds)
10:19:40*zama quit (Ping timeout: 258 seconds)
10:20:18Arrrr"Expected type, got module". Can't nim discern when you actually need one over the other?
10:20:39*javax joined #nim
10:20:41Araqcan do that, yes
10:20:49Araqbut that's a feature request, not a bugfix
10:20:56Araqhi javax welcome
10:21:02*pleiosaur joined #nim
10:21:06*zama joined #nim
10:23:03*subsetpark joined #nim
10:23:21*Demos joined #nim
10:23:28ArrrrI says this because, coming from java and c#, you get used to name file and type the same. And i think that's good but in case it isn't, there should be a note on module naming convention, because i think there isn't
10:23:35Arrrr*say
10:25:12*askatasuna joined #nim
10:25:44*flyx quit (Ping timeout: 258 seconds)
10:26:11*SirCmpwn joined #nim
10:26:12*Demos_ quit (Ping timeout: 260 seconds)
10:26:30*Demos_ joined #nim
10:28:47*djellemah joined #nim
10:29:22*derlafff quit (Remote host closed the connection)
10:29:28*Demos quit (Ping timeout: 260 seconds)
10:30:45*cnu- joined #nim
10:30:50*derlafff joined #nim
10:31:11*cnu- quit (*.net *.split)
10:31:13*flyx joined #nim
10:31:16*joebo joined #nim
10:36:30*cnu- joined #nim
10:36:36FromGitter<vegansk> Arrrr, https://github.com/nim-lang/Nim/issues/3333
11:03:13*cheatfate joined #nim
11:15:19*PMunch joined #nim
11:26:18*Demos_ quit (Ping timeout: 245 seconds)
11:29:06*Demos joined #nim
11:32:17*chemist69 quit (Ping timeout: 260 seconds)
11:37:02*chemist69 joined #nim
11:41:00*zevlg quit (Remote host closed the connection)
11:48:09*vlad1777d quit (Remote host closed the connection)
11:51:33*[ui] quit (Quit: Connection closed for inactivity)
11:56:45*bjz joined #nim
11:56:57*bjz_ quit (Ping timeout: 240 seconds)
12:02:10*Snircle joined #nim
12:05:37*dmi00 joined #nim
12:08:01*vlad1777d joined #nim
12:15:34*Demos_ joined #nim
12:18:49*Demos quit (Ping timeout: 258 seconds)
12:30:51*couven92 joined #nim
12:33:44*Demos_ quit (Remote host closed the connection)
12:34:27*Demos joined #nim
12:42:57*vlad1777d quit (Remote host closed the connection)
13:00:11*themagician joined #nim
13:02:44*dddddd joined #nim
13:09:34*brechtm quit (Ping timeout: 250 seconds)
13:12:47*brechtm joined #nim
13:15:10*Demos quit (Ping timeout: 258 seconds)
13:20:03*couven92 quit (Quit: Client disconnecting)
13:41:10*byte512 joined #nim
13:43:15*Demos joined #nim
13:44:48*cheatfate quit (Ping timeout: 265 seconds)
13:46:18*Demos quit (Read error: Connection reset by peer)
13:48:11*dmi0 joined #nim
13:49:00*dmi00 quit (Remote host closed the connection)
14:01:12*brechtm quit (Remote host closed the connection)
14:01:48*brechtm joined #nim
14:07:58*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
14:08:44*vendethiel quit (Ping timeout: 260 seconds)
14:33:37vktecWhat's the best way to raise a compile time error? I'd like to raise an error if someone tries to compile something on an unsupported OS, for example
14:35:55Araq{.error: "your computer lacks a CPU and your GPU cannot run the OS".}
14:37:16vktec:D
14:38:23vktecHmm.. what's the difference between that and the fatal pragma? ie, when would compilation _not_ abort?
14:39:19Araq"nim check" doesn't stop after the first error
14:42:00vktecAh, of course
14:58:35*ibk quit (Quit: Connection closed for inactivity)
14:59:50*vendethiel joined #nim
15:00:42*arnetheduck quit (Ping timeout: 256 seconds)
15:26:00vktecI've noticed there aren't many Nim video tutorials. If I were to make some, would it be possible to add them to the "Standards & Guides" section on the documentation page? Or perhaps a new category should be created for unofficial tutorials and guides
15:31:30*cheatfate joined #nim
15:34:09*pregressive joined #nim
15:35:05PMunchvktec, not speaking on behalf of Araq but if they were good enough I guess he'd add them
15:36:24vktecCool! I'm working on a preliminary plan. Anything I should include?
15:37:04PMunchHmm, you could always start of with a basic introduction/primer video?
15:37:15vktecYeah, I was thinking of doing that
15:37:34Varriount|PhoneMake sure to explain how sequences and strings copy on assignment
15:37:42vktecI might separate metaprogramming into a separate series, since that's a whole other topic
15:37:46vktecVarriount|Phone: Will do
15:43:37*dmi0 quit (Ping timeout: 240 seconds)
15:43:43yglukhovAraq, dom96: pls review https://github.com/nim-lang/Nim/pull/5069
15:43:50*dmi0 joined #nim
15:43:50chemist69vktec: very good initiative! If I might add: explain the difference between object and ref object and between newObject() and initObject()
15:44:26vktecchemist69: Gotcha. Any good resources to just check my own understanding of it?
15:44:43vktecI'm pretty sure I understand it, but I'm not 100% sure
16:00:56*Matthias247 joined #nim
16:02:37*Arrrr quit (Quit: WeeChat 1.5)
16:04:24chemist69well, nothing special, the two tutorials on the site and dom96's book, if you have it.
16:11:01Araqyglukhov: looks clean enough, I can merge it if you need it today
16:17:10*Demos joined #nim
16:21:32*pregressive quit (Remote host closed the connection)
16:23:31yglukhovAraq: would be cool. but why only if i need? any concerns?
16:24:02Araqno, but it's dom96's business
16:27:05yglukhovAraq: ok, i can wait for him. hopefully it wont take long =)
16:28:03*pregressive joined #nim
16:37:17*pregressive quit (Remote host closed the connection)
16:38:02athiehmm... getting out of memory error when using a property assignment style proc together with a Table... https://gist.github.com/Athaudia/c74ce48487152a6763dc298fc6e28f69
16:43:03athienot sure if misunderstanding from my side, or compiler error
16:49:35yglukhovathie: that should definitely go to the issue tracker.
16:50:05athienods will do so (just wanted to pre check if i missed something obvious)
16:51:29AraqI get illegal storage access instead
16:52:43yglukhovi suspect stringcopy tries to copy the string from some wrong address, so its more of an undefined behavior
16:54:02yglukhovi'm getting a long alloc+zeromem, and then SIGSEGV
16:54:52Araqthis is the most puzzling bug I've ever seen
16:55:13Araqno sys assertions trigger
16:55:31athieposted on the issue tracker
16:56:34Araq`test=`(t, a["b"]) # works
16:56:37athiei'm highly confused myself, it took an hour or so to even find what it was that causes this bug in my system... was burried in some macros before i made it a small test case :P
16:56:51Araqt.test = a["b"] # fails
16:57:06athiehmm, aren't those two supposed to be equivalent?
16:57:44*brson joined #nim
16:57:45Araqthey are but the semcheck misses a pointer deref
16:57:50AraqI think.
17:00:30*Andris_zbx quit (Remote host closed the connection)
17:02:15*pregressive joined #nim
17:04:46Araqyup, codegen bug, LOC2 instead of *LOC2 and C cannot be bothered to do any kind of reasonable type checking
17:05:13*yglukhov_ joined #nim
17:05:18*Varriount|Phone quit (Ping timeout: 250 seconds)
17:06:03athie*shudders* this is exactly the kinda stuff why i'm moving from c to nim ^^
17:06:45dom96yglukhov: awesome, you fixed the extraInternalIndex problem. I don't how I missed this solution, I hope I'm not forgetting something here...
17:06:47Araqcompilation to C++ would have prevented this, I think :-)
17:06:48*pregressive quit (Ping timeout: 246 seconds)
17:08:29*yglukhov_ quit (Read error: Connection reset by peer)
17:08:33*yglukhov quit (Ping timeout: 246 seconds)
17:08:41dom96yglukhov: I probably don't know how dynlibOverride works, but in https://github.com/nim-lang/Nim/pull/5069/files#diff-09ce05d4800aaaa6014de76809a63957R193
17:08:44*yglukhov joined #nim
17:09:13dom96yglukhov: (see logs if you missed my message) ... you are using the dynlib pragma
17:09:16dom96Is this correct? Araq?
17:10:47dom96In any case, I'm happy to merge.
17:10:50dom96Just curious about this
17:12:09Araqhmm? what's up with today that I don't understand anything
17:12:19Araqwhat does your question mean?
17:13:18*yglukhov quit (Ping timeout: 256 seconds)
17:13:28dom96Araq: Take a look at the code I linked
17:13:34dom96Does it make sense?
17:14:17Araqhow is that line different from all the other lines?
17:14:19dom96okay, I looked at the docs for dynlibOverride and I think it does
17:14:33Araqthe lnie
17:14:35Araqwhen compileOption("dynlibOverride", "ssl"):
17:14:38dom96I mean that whole code block in general
17:14:48dom96and yes, linking to that would have been more sensible (sorry)
17:14:51Araqactually requires a compiler patch that is included in this PR
17:15:33dom96I was just confused why the 'dynlib' pragma is necessary when we are statically linking, but now I understand that the dynlibOverride switch just gets rid of that pragma
17:16:05*yglukhov joined #nim
17:17:58Araqyeah that's weird
17:18:28Araqbut otherwise it would require a 'nodecl' which is weirder, so I think it's fine
17:20:36*yglukhov quit (Ping timeout: 260 seconds)
17:22:34vktecWhat would be a good project to use for a tutorial series? It should use a good proportion of Nim's features, and have some dependencies so I can show off nimble, but still be simple enough for a new Nim programmer
17:23:53*Varriount|Phone joined #nim
17:23:58dom96vktec: Awesome that you're doing this! I was considering (maybe I'll still do it if I get the time :)) creating a video series based on my book as like an additional resource for it.
17:24:06vktec:)
17:24:52dom96For your videos, one idea might be creating a snake game clone in Nim
17:24:57vktecOoh, good idea
17:25:22dom96You could even show off the JavaScript backend for that
17:25:29vktecThat'd be cool
17:25:55dom96Start off by using SDL and after implementing that make some (hopefully small) changes to get it working in an HTML canvas
17:26:16vktecIf I structure it using a renderer module, I can just swap it out for the JS backend
17:26:21dom96yeah :D
17:26:39vktecThanks for the idea dom96
17:26:47dom96It's definitely possible (i've created a little game using the JS backend)
17:26:58dom96I've got a wrapper for canvas too if you want it
17:27:07dom96I should really put it into a nimble package
17:27:21dom96or you can show how to wrap canvas too
17:27:24dom96so many possibilities :)
17:28:07vktecShowing how to wrap canvas would be good, as it shows off Nim's FFI, and how it works across backends
17:28:28dom96I showed that in my book :)
17:28:38dom96but feel free to do the same
17:29:22vktecWell, some people find video tutorials useful for learning a language, whereas the book can be used as more of a reference
17:29:33vktecI found that when I was new to programming
17:30:13vktecNow that I've been programming for a while, I can pick up new languages quite easily, but when you're new to it, a bit more hand holding can be useful
17:30:40dom96Agreed completely. That's how I started programming.
17:30:52dom96By watching VB.NET videos :)
17:31:28vktec:)
17:31:31dom96Which is why I want to create videos based on my book as well.
17:31:58vktecThe more the better, I'd say. I'm sure we'll show different things anyway
17:32:17dom96Yep, definitely. You can never have too many videos.
17:32:26vktecI agree
17:32:37dom96And right now I'm pretty sure there are no videos at all :)
17:33:08vktecYeah, I couldn't find anything other than talks made by Araq
17:33:28vktec(Which are very good, by the way. I watched one today)
17:35:05vktecHmm... why the two SDL2 packages? sdl2 looks like the way to go, since it's official, but I thought I'd check
17:38:03FromGitter<nikolay-turpitko> dom96, where can I find your book?
17:38:41vktecNow reading the README of sdl2_nim (in elinks, because my browser broke). It seems to say that sdl2 is less well documented
17:39:26dom96nikolay-turpitko: https://manning.com/books/nim-in-action?a_aid=niminaction&a_bid=78a27e81
17:41:50dom96vktec: good question
17:41:53*vlad1777d joined #nim
17:47:24*Varriount|Phone quit (Read error: Connection reset by peer)
17:50:20*byte512 quit (Ping timeout: 265 seconds)
17:50:26*Varriount|Phone joined #nim
17:50:27*Varriount|Phone quit (Read error: Connection reset by peer)
17:50:30*[ui] joined #nim
17:50:42*Varriount|Phone joined #nim
17:50:53PMunchvktec, I'm using the sdl2 package and it is pretty simple to work with
17:51:09PMunchWritten a small cross platform game library with it :)
17:51:37*Varriount|Phone quit (Read error: Connection reset by peer)
17:52:34*Varriount|Phone joined #nim
17:56:52*rynsin joined #nim
17:56:52*Varriount|Phone quit (Read error: Connection reset by peer)
17:56:58*space-wizard joined #nim
18:00:51*Varriount|Phone joined #nim
18:02:40*rynsin quit (Quit: rynsin)
18:03:19*rynsin joined #nim
18:07:57*rynsin quit (Ping timeout: 240 seconds)
18:08:29vktecPMunch: Cool, I'll go with that then
18:17:25*yglukhov joined #nim
18:17:38*brson_ joined #nim
18:20:20*brson quit (Ping timeout: 260 seconds)
18:20:28PMunchAraq, given any more thought to the auto-bracketing thing from L.B. Stanza?
18:20:52PMunchhttp://lbstanza.org/chapter2.html#anchor15 <- that to be precise
18:21:38*yglukhov quit (Ping timeout: 244 seconds)
18:23:07*couven92 joined #nim
18:23:47AraqPMunch: it doesn't solve the 'head' problem, unfortunately
18:23:49*themagician quit ()
18:23:56Araqwhich is the hardest problem iirc
18:25:05PMunchHead problem?
18:25:06*Varriount|Phone quit (Read error: Connection reset by peer)
18:25:42Araqfoo:
18:25:44Araq bar
18:25:46Araqfoo2:
18:25:48Araq baz
18:25:50Araqvs
18:25:53Araqif x:
18:25:55Araq bar
18:25:56Araqelse:
18:25:58Araq baz
18:26:17Araqfoo2 introduces a new "block", 'else' does not
18:27:35PMunchAnd the problem?
18:28:04*Varriount|Phone joined #nim
18:32:27PMunchOh right, you can't introduce a new block for every :\n as lbstanza does.. That means that it won't work for how Nim works right now..
18:32:27*Varriount|Phone quit (Read error: Connection reset by peer)
18:32:39*Varriount|Phone joined #nim
18:33:16*rokups quit (Quit: Connection closed for inactivity)
18:34:10Araqwell I can certainly insert () like lbstanza does
18:34:19Araqbut 'else' needs to stay a keyword
18:34:26Araqsince it needs a special parsing rule
18:37:26*Varriount|Phone quit (Read error: Connection reset by peer)
18:41:51*brson_ quit (Read error: Connection reset by peer)
18:44:59*Varriount|Phone joined #nim
18:57:32*wuehlmaus joined #nim
18:57:37wuehlmausproc square(inSeq: seq[float]): seq[float] = (
18:57:37wuehlmaus result = newSeq[float](len(inSeq));
18:57:37wuehlmaus for i, v in inSeq: (
18:57:37wuehlmaus result[i] = v*v;
18:57:37wuehlmaus )
18:57:39wuehlmaus)
18:57:46wuehlmausthis is very coo, Araq
18:57:46PMunchHi wuehlmaus
18:58:07wuehlmausi think this should have revolutionized python
18:58:18wuehlmausPMunch: hi, my friend
18:59:36*yglukhov joined #nim
19:05:05yglukhovdom96: you're right, dynlibOverride should be ignored in that branch of code.
19:06:45*rynsin joined #nim
19:08:40Varriount|PhoneRegarding the restructuring of the dll import mechanisms, I think that is probably big enough to warrant some sort of write-up (Enhancement proposal) before implementation.
19:09:08*pregressive joined #nim
19:27:32*rynsin quit (Quit: rynsin)
19:29:26AraqVarriount|Phone: yeah, I don't think it will happen anytime soon
19:29:43Araqit could break lots of stuff for minor gains
19:33:49PMunchWhy are you thinking of changing the DLL system?
19:34:28*rynsin joined #nim
19:41:21yglukhovVarriount|Phone, Araq: the initiative can be started by doing a nimble lib that will cover existing dynlib functionality + will add some more. until this library is done and works good theres nothing to discuss
19:41:39yglukhovimo =)
19:43:33Araqyglukhov: I think dynlib should support taking a DLL handle
19:44:03Araq--> better interaction with dynlib module
19:44:13Araq--> simple, non breaking change
19:44:23yglukhovAraq: i think so too, but my main accent is the userland lib instead of compiler magic
19:44:35Araqbut I don't know about the implementation problems
19:44:48Araqso it could still mean a day of work :P
19:46:58*brson joined #nim
19:47:21yglukhovno way im doing that inside the compiler. unless another critical issue strikes me and it will be the fastest hack =)
19:51:18*dddddd quit (Quit: Hasta otra..)
19:52:32*dddddd joined #nim
19:55:03Araqyglukhov: I'm slowly rewriting the C backend and once complete, it should be easier to hack
19:55:22Araqinstead of ropes I generate an AST
19:55:43Araqbut boy, it takes time to rewrite 5000 lines of code
19:58:17yglukhovAraq: dont get me wrong, i dont want to do dynlink in nim not because its not easy to hack. but because of my confidence that everything that can be done in userland should be done there. compiler should be extended with only low-level intrinsics. high-level magic such as current dynlib should be gone.
19:58:19*Varriount|Phone quit (Read error: Connection reset by peer)
19:58:29*beatmox quit (Ping timeout: 248 seconds)
19:58:46*Varriount|Phone joined #nim
19:58:55*beatmox joined #nim
19:59:34*rynsin quit (Quit: rynsin)
20:00:13yglukhovand nim has already got enough low level stuff to support dynlib in userland
20:01:04*rynsin joined #nim
20:01:19yglukhovthat simplifies maintanance for you btw, so you should welcome that ;)
20:01:33*[ui] quit (Quit: Connection closed for inactivity)
20:01:46Araqyglukhov: I'm always concerned about compile times
20:01:56Araqbuiltin is always faster than userland
20:02:26Araqand the average Nim user doesn't care that Nim is so awesome that .dynlib was implemented as a macro
20:07:50yglukhovwell, i have almost no arguments against that. but since CT is where nim shines you should expect users to go really crazy with it (like transpiling nim to glsl shaders or what not). and you should be concerned about general-purpose ct performance.
20:08:45yglukhovso it can easily handle such primitive use-cases like dynlib-as-a-macro :P
20:09:03AraqI replaced the AST based interpreter by a bytecode VM to speed up ct
20:11:33wuehlmausAraq: how long did it take you?
20:11:42wuehlmaushmm, might be german english
20:12:33yglukhovand thats awesome. but its not the end i suppose? e.g. we might cache the bytecode so its not regenerated on every run. or we might use real code instead of bytecode and some jit or smth.
20:15:23Araqathie: fixed.
20:15:58Araqyglukhov: in retrospect I would generate C code and cache it
20:16:11Araqbut that has its own problems, as usual
20:16:33Araqwuehlmaus: the VM took 2 weeks to write and then months to fix the most serious bugs
20:18:34athieAraq: yay :) updated nim, removed workaround in my codebase, and works fine now
20:18:57Araqwas too embarrassing. :-)
20:20:50athiethe one thing that's embarrassing to me is how much smaller my codebase is in nim after porting from C... barely 3500 lines so far xD
20:22:15athie(down from about 10k)
20:24:07*rynsin quit (Quit: rynsin)
20:30:51*rynsin joined #nim
20:38:04Varriount|Phoneathie: And performance?
20:38:57athieVarriount|Phone: so far about same'ish, close enough that it's fine for me ^^
20:41:03*rolha joined #nim
20:42:19Varriount|Phoneathie: You can try enabling Link time optimization
20:42:53*themagician joined #nim
20:42:57Varriount|PhoneIf nothing else it will lower the code size
20:43:59athieas said, performance isn't an issue right now(and that includes custom SW blitters xD) just getting used to nim and porting my personal libraries ^^
20:45:00*libman joined #nim
20:46:15*dmi0 quit (Ping timeout: 246 seconds)
20:47:13*krux02 joined #nim
20:47:55krux02is there a simple way to delay the init of a library into an init function call?
20:49:33Varriount|Phonekrux02: I know the VCC compiler supports delay-load libraries
20:49:35krux02I have several global variables in a package, now I realized, that I can't initialize a single one of them, because to do that I need to wait until I have an opengl context
20:50:18krux02Varriount: it's not about loading, it is about initializing all variables in global scope
20:50:26krux02I need to prevent that from happening
20:50:46krux02until after I call explicitly an init proc (for example)
20:51:19krux02lazy would also work (as soon as I access the first procedure)
20:51:23Varriount|Phonekrux02: Do what would happen if the variables were accessed before initialization?
20:51:45krux02segfault and crash
20:51:51krux02but that's not really a problem
20:52:39krux02or invalid operations from Opengl
20:56:26*yglukhov quit (Remote host closed the connection)
21:03:09Varriount|Phonekrux02: I mean, if a delay load mechanism were being used
21:11:02*dddddd quit (Remote host closed the connection)
21:12:19*rynsin quit (Quit: rynsin)
21:15:57krux02Varriount: the delay is important, because certan variables I initialize with opengl calls. The problem is just, that I do not have opengl calls from the beginning of the program. If I call into opengl before creating a context, and loading the function pointers, the opengl call will just be a segfault, because it will try to execute a nil function pointer
21:19:12Varriount|Phonekrux02: sounds like you need to do away with global state and have a context object
21:19:37Varriount|Phonekrux02: Perhaps you could post a link to the code (or a snippet)?
21:19:40*prose[m] quit (Remote host closed the connection)
21:19:41*MrAxilus[m] quit (Remote host closed the connection)
21:19:41*hohlerde quit (Remote host closed the connection)
21:19:41*zielmicha[m] quit (Remote host closed the connection)
21:19:41*dyce[m] quit (Write error: Connection reset by peer)
21:19:42*terry[m] quit (Write error: Connection reset by peer)
21:19:43*jivank[m] quit (Write error: Connection reset by peer)
21:19:43*Guest73656[m] quit (Write error: Connection reset by peer)
21:19:43*TheManiac quit (Write error: Connection reset by peer)
21:19:43*M-Quora quit (Read error: Connection reset by peer)
21:19:43*erwana[m]1 quit (Read error: Connection reset by peer)
21:21:07*rynsin joined #nim
21:22:04krux02Varriount: I just refactored my code to use an object instead of global variables
21:22:39krux02that means all my functions got an object as an additional parameter
21:22:57Araqthat means you appreciate {.this: self.} :-)
21:23:08Araqhappens to me all the time when I refactor in the compiler
21:23:16*rynsin quit (Client Quit)
21:23:40krux02Araq: ok when that pragma does what I think, then I really would appreciate that.
21:24:35*rynsin joined #nim
21:25:00*yglukhov joined #nim
21:26:15*rolha quit (Quit: My Mac has gone to sleep. ZZZzzz…)
21:26:49*rynsin quit (Max SendQ exceeded)
21:27:41*rynsin joined #nim
21:29:21*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:30:16Araqkrux02: my perlish blog post explains how it works :P
21:32:49*rolha joined #nim
21:38:19*rynsin quit (Quit: rynsin)
21:40:23Varriount|PhoneI find it confusing, but then again, I'm used to python
21:40:54*rynsin joined #nim
21:43:45*rynsin quit (Client Quit)
21:47:58*rynsin joined #nim
21:49:46*bjz joined #nim
21:52:48*shodan45 joined #nim
21:55:47*yglukhov quit (Remote host closed the connection)
21:56:04*rynsin quit (Quit: rynsin)
21:58:43*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:00:39*Trustable joined #nim
22:01:41*Varriount|Phone quit (Ping timeout: 248 seconds)
22:01:51*Varriount|Phone joined #nim
22:02:57*yglukhov joined #nim
22:04:04*yglukhov quit (Remote host closed the connection)
22:04:52*rolha quit (Remote host closed the connection)
22:05:32*rolha joined #nim
22:06:04*Demos quit (Remote host closed the connection)
22:06:37*yglukhov joined #nim
22:07:09*rolha quit (Client Quit)
22:08:41*nsf quit (Quit: WeeChat 1.6)
22:08:46*Varriount|Phone quit (Read error: Connection reset by peer)
22:13:27*zielmicha[m] joined #nim
22:15:13*Sentreen quit (Read error: Connection reset by peer)
22:15:51*Sentreen joined #nim
22:20:03*zigzag6502 joined #nim
22:20:11*zigzag6502 left #nim ("WeeChat 1.4")
22:20:26*rolha joined #nim
22:22:09*Varriount|Phone joined #nim
22:22:19*Varriount|Mobile joined #nim
22:26:27*rynsin joined #nim
22:26:45*dmi0 joined #nim
22:29:35*hohlerde joined #nim
22:29:35*dyce[m] joined #nim
22:29:35*prose[m] joined #nim
22:29:36*jivank[m] joined #nim
22:29:37*MrAxilus[m] joined #nim
22:29:37*M-Quora joined #nim
22:29:42*erwana[m] joined #nim
22:29:42*terry[m] joined #nim
22:29:43*TheManiac joined #nim
22:29:44*Guest73656[m] joined #nim
22:34:57*dmi0 quit (Ping timeout: 240 seconds)
22:35:22*pregressive quit (Remote host closed the connection)
22:35:57*pregressive joined #nim
22:37:47*dmi0 joined #nim
22:40:33*pregressive quit (Ping timeout: 260 seconds)
22:49:08*Kingsquee joined #nim
22:50:38*rolha quit (Quit: My Mac has gone to sleep. ZZZzzz…)
23:06:47*dmi0 quit (Ping timeout: 260 seconds)
23:09:21*Trustable quit (Remote host closed the connection)
23:30:32*rynsin quit (Quit: rynsin)
23:33:38Varriount|MobileAnyone here running KDE?
23:34:05*vlad1777d quit (Remote host closed the connection)
23:40:09FromGitter<konqoro> me!
23:41:06FromGitter<konqoro> <Varriount|Mobile> : do you use kate?
23:41:40Varriount|Mobilekonqoro: No, I use Windows.
23:42:16Varriount|Mobilekonqoro: I just wanted to know, how much memory is KDe and its associated processes currently using?
23:45:17*brson_ joined #nim
23:45:58FromGitter<konqoro> well plasmashell (the Desktop) 156MB total, kwin (the window manager) 89MB total
23:46:18*brson quit (Ping timeout: 245 seconds)
23:46:55FromGitter<konqoro> and krunner (the search thing) 80MB
23:47:24Varriount|Mobilekonqoro: I assume you have some windows open?
23:47:47FromGitter<konqoro> a few
23:49:53Varriount|MobileHm, interesting
23:50:16Varriount|MobileI wanted to compare memory usage of KDE and Windows Explorer
23:50:24FromGitter<konqoro> why are you asking?
23:50:32Varriount|Mobile(Or rather, the Windows shell)
23:51:14FromGitter<konqoro> so how match does the Windows shell uses?
23:51:39Varriount|MobileOn my laptop, Explorer is using 64, and the window manager 73
23:52:07Varriount|MobileLet me look at the memory map though, I don't know how much is paged out
23:55:22Varriount|MobileThe total working set (all memory including shared) for Explorer is 112 MB, and the window manager is 84
23:56:34Varriount|MobileKonqoro: I just find it interesting how similarly featured programs, one open source, the other private, both use similar amounts of memory