<< 01-10-2016 >>

00:01:34cheatfatefredrik92, you trying to run vcvars.bat before executing vcc?
00:02:01fredrik92cheatfate, vcvarsall, but yes...
00:02:19*yglukhov quit (Remote host closed the connection)
00:02:36fredrik92Unfortunenately that is necessay to get the Visual Studio Build environment set up properly
00:03:36cheatfatefredrik92, i think there can be a problems, because of separately installed SDKs
00:03:50fredrik92my wrappers can account for that
00:04:18*ehmry quit (Remote host closed the connection)
00:04:18*zielmicha[m] quit (Remote host closed the connection)
00:04:18*M-Quora quit (Remote host closed the connection)
00:04:19*TheManiac quit (Write error: Broken pipe)
00:04:19*hohlerde quit (Write error: Connection reset by peer)
00:05:12fredrik92Currently it searches for defined envvars VS140COMNTOOLS down to VS90COMNTOOLS... don't know if Nim actually would support a VCC below v9.0
00:09:39*yglukhov joined #nim
00:10:27cheatfatei think we need to teach `koch` to find available compilers and make appropriate cache to needed environment variables, because running vcvars all the time just slow down compilation
00:11:57fredrik92cheatfate, true, but vcvarsall loads a LOT of different envvars! And depending on what extensions for VS you have installed, these might even vary in the same Tools Version
00:12:24*mcc joined #nim
00:12:53fredrik92I considered running vcvarsall once, save the environment in a file, and then load that each time when wrapper runs.
00:13:07cheatfatefredrik92, ^^^ is what i'm trying to say
00:13:54cheatfatebecause we can supply environment variables to execProcess it will be nice feature for koch... and of course we need `refresh` option
00:14:11*yglukhov quit (Ping timeout: 244 seconds)
00:14:45cheatfateand in this option we can also capture compiler version and store it to cache too, so now we can define `compiler version` as variable
00:16:10fredrik92cheatfate, but how do you bundle and distribute Nim then? because that way we would require every VCC user to build nim on their own first
00:17:02fredrik92and after that, we would have to hope that their environment doesn't change, and that they do not upgrade to a newer VS version
00:17:47cheatfatefredrik92, 1. we can run `koch compilers cache update` in setup procedure to build cache for nim
00:18:13cheatfatefredrik92, 2. we can ask user to run `koch compilers cache update` one more time if newer version installed
00:18:40fredrik92hmm... yeah... ok...
00:19:15fredrik92what if we had a Pre-build command in the nim executable instead, one that was configurable through nim.cfg?
00:19:40fredrik92because then we could invoke vcvarsall once for the entire Nim build process
00:20:56*nsf joined #nim
00:20:58cheatfatefredrik92, even koch tests will run `vcvarsall.bat` more then hundred times
00:22:15fredrik92cheatfate, oh! true... But for regular `nim compile` actions the overhead would be negligable...
00:25:14cheatfatefredrik92, with `compilers cache` we achieve more goals (compilation process will be faster without calling vcvars all the time, we can check compiler version and setup variable for it, so stdlib can check for it)
00:27:13cheatfatewith compiler version check we can resolve many problems for other OS
00:27:37cheatfateOpenBSD still uses gcc4.2.1 without ATOMICs support
00:29:24cheatfateso i think it will be pretty nice feature for koch :)
00:30:42*Kingsquee quit (Ping timeout: 244 seconds)
00:30:54fredrik92cheatfate, sure... But I wouldn't actually know how to do that with koch... Right now, I can't even find the `koch compilers update` command you are talking about...
00:32:04cheatfatefredrik92, of course there no such feature, we need to create it on base of your code
00:32:44*Kingsquee joined #nim
00:35:41fredrik92ah, hmmm... for 1st step: how about getting the timestamp for vcvarsall.bat and caching the vcvarsall environment based on that and the --cpu flag value...
00:36:10fredrik92as a first step that should improve the wrappers execution time...
00:38:51cheatfatefredrik92, not a good idea because i dont think this file changes at all
00:39:10cheatfatei even dont think vcvars_arch will change if something new installed
00:39:47fredrik92well if you install certain extensions to VS (like the ARM support) it does change (to include ARM)
00:40:14cheatfatefredrik92, i think it have branch inside to check if arm is available
00:41:35cheatfatefredrik92, check vcvarsqueryregistry.bat
00:43:28cheatfateif not exist "%~dp0bin\arm\vcvarsarm.bat" goto missing
00:44:05fredrik92right...
00:51:57*fredrik92 quit (Quit: Client disconnecting)
00:52:25*yglukhov joined #nim
00:56:32*yglukhov quit (Ping timeout: 244 seconds)
00:57:36cheatfatedef-, have you benchmarked your bigints library?
00:58:06*arnetheduck joined #nim
00:59:06*fredrik92 joined #nim
01:14:39*saml_ joined #nim
01:32:09*chemist69 quit (Disconnected by services)
01:32:14*chemist69_ joined #nim
01:34:44*yglukhov joined #nim
01:38:54*yglukhov quit (Ping timeout: 244 seconds)
01:44:27*zielmicha[m] joined #nim
02:16:06*yglukhov joined #nim
02:16:06*brson quit (Quit: leaving)
02:20:15*yglukhov quit (Ping timeout: 244 seconds)
02:32:13*Demon_Fox quit (Ping timeout: 272 seconds)
02:33:22*Demon_Fox joined #nim
02:34:24*pregressive joined #nim
02:39:29*pregressive quit (Ping timeout: 264 seconds)
02:58:30*yglukhov joined #nim
03:00:22*PMunch quit (Quit: leaving)
03:03:08*yglukhov quit (Ping timeout: 244 seconds)
03:22:36*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
03:33:34*ARCADIVS joined #nim
03:40:51*yglukhov joined #nim
03:44:58*yglukhov quit (Ping timeout: 244 seconds)
03:55:41ftsf\o/ cross compiled with thread locals for osx to use -target x86_64-apple-macosx10.10.0 instead of x86_64-apple-darwin-macho
03:55:48ftsfnow to get linking working /o\
04:06:01*yglukhov joined #nim
04:10:17*yglukhov quit (Ping timeout: 244 seconds)
04:24:59*Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif)
04:25:25*Kingsquee joined #nim
04:48:36*yglukhov joined #nim
04:53:10*yglukhov quit (Ping timeout: 244 seconds)
04:56:37*Demon_Fox quit (Ping timeout: 272 seconds)
05:08:31*Demon_Fox joined #nim
05:11:58*Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif)
05:26:09def-cheatfate: a bit, but not seriously: https://github.com/def-/nim-bigints/blob/master/src/bigints.nim#L953
05:30:55*yglukhov joined #nim
05:35:02*yglukhov quit (Ping timeout: 244 seconds)
05:41:35*rtr_ joined #nim
05:47:25FromGitter<MiniDude22> how do you allocate memory for an array whose size is not known at runtime?
05:48:41FromGitter<MiniDude22> cast[seq[byte]](alloc0(sizeof(Data)))
05:48:56FromGitter<Araq> you use a seq then
05:49:23FromGitter<MiniDude22> Would that allocate the memory in the seq for it?
05:49:38FromGitter<Araq> newSeq[byte](sizeof(Data))
05:50:01FromGitter<MiniDude22> So i want to use the sequence to read a chunk of memory into
05:50:23FromGitter<MiniDude22> so i need to allocate all the memory for it yeah?
05:50:49FromGitter<Araq> alloc0 is wrong
05:51:06FromGitter<MiniDude22> so would i just use alloc then?
05:51:27FromGitter<MiniDude22> oh nvm i saw your edit on the code now
05:51:35FromGitter<MiniDude22> my bad bro
05:55:39*xet7 quit (Remote host closed the connection)
05:57:29*saml_ quit (Ping timeout: 264 seconds)
06:07:07FromGitter<MiniDude22> is there a better way to initialize an array than this?
06:07:16FromGitter<MiniDude22> ```hArray: array[100, Handle] = (new array[100, Handle])[]```
06:09:48FromGitter<Araq> hArray: array[100, Handle] # initialized to 0 for you anyway
06:12:26*rtr_ quit (Quit: Leaving...)
06:12:31Araq_https://github.com/bkaradzic/bgfx yay Nim bindings out of the box :-)
06:13:20*yglukhov joined #nim
06:13:25ftsflooks nice!
06:19:59*yglukhov quit (Ping timeout: 244 seconds)
06:32:52*M-Quora joined #nim
06:33:02*ehmry joined #nim
06:34:55*wgf_ joined #nim
06:35:16*wgf_ quit (Client Quit)
06:39:54cheatfatedef-, twice as slow is like to be on 2nd place :) http://www.wilfred.me.uk/blog/2014/10/20/the-fastest-bigint-in-the-west/
06:40:44cheatfateAraq_, if array is initialized, why verbosity:2 generates warning about not initialized array?
06:43:31*yglukhov joined #nim
06:48:26Araq_does it?
06:48:36ftsf\o/ compiled and linked my synth for OSX
06:51:35cheatfateAraq_, i thought i have asked you about this [UnInit] warnings too many times and answer to your question - 0.15.0 does it too
06:52:01*yglukhov quit (Ping timeout: 244 seconds)
06:52:36*stisa joined #nim
06:53:32cheatfateAraq_, var hArray: array[100, Handle]; zeroMem(cast[pointer](addr hArray[0]), sizeof(Handle) * 100)
06:53:48cheatfatewill generate warning [UnInit] with --verbosity:2
06:56:06Araq_*shrug* that's an artifact of the "omg, I want explicit initialization everywhere" movement
06:57:56*yglukhov joined #nim
06:58:16Araq_https://github.com/apple/swift/blob/master/docs/proposals/Concurrency.rst
06:58:29Araq_Swift reinvented Nim's "gcsafe" concept :-)
06:58:31cheatfateAraq_, Varriount adds `--verbosity:2` to Sublime Text as default... its annoying me for like 9 months
06:59:09Araq_but can anybody explain to me this sentence:
06:59:20Araq_"The program above uses async to execute two tasks that sorts the two halves of the array in parallel. Notice that the arrays in the example above are not copied when they are sent to and from the async task. Swift arrays are copy-on-write value types and when an array is copied the underlying storage is not copied with it. This feature of arrays allows swift to share arrays between threads in a safe manner without copying data."
06:59:41Araq_how does COW help with the thread safety issues?
06:59:48Araq_it makes no sense.
07:00:13Araq_cheatfate: so fix the Sublime Text plugin
07:00:34cheatfateAraq_, nope :) its semantic Nim's issue :)
07:00:44Araq_so fix Nim.
07:00:49Araq_compiler/sempass2.nim
07:02:21*yglukhov quit (Ping timeout: 244 seconds)
07:03:08cheatfateAraq_, so you want me to remove https://github.com/nim-lang/Nim/blob/devel/compiler/sempass2.nim#L234?
07:04:00FromGitter<Araq> no, but verbosity:2 should not include warnUninit
07:04:27Araq_ok, my bad that would be compiler/msgs.nim then
07:06:23cheatfatei think then we must change level of info... and put it to debug level?
07:08:51Araq_cheatfate: fixed it for ya
07:09:31cheatfateAraq_, thank you
07:10:45*yglukhov joined #nim
07:12:14*Kingsquee joined #nim
07:17:51*yglukhov quit (Ping timeout: 244 seconds)
07:24:26*yglukhov joined #nim
07:28:41*yglukhov quit (Ping timeout: 244 seconds)
07:29:53*Demon_Fox quit (Ping timeout: 272 seconds)
07:30:50*Sentreen quit (Quit: WeeChat 1.4)
07:31:51*Demon_Fox joined #nim
07:37:22*yglukhov joined #nim
07:38:45*chemist69_ quit (Ping timeout: 272 seconds)
07:40:47*chemist69 joined #nim
07:42:44*irrequietus joined #nim
07:43:10*yglukhov quit (Ping timeout: 244 seconds)
07:43:45*Sentreen joined #nim
07:48:31*yglukhov joined #nim
07:49:05FromGitter<MiniDude22> Okay so its already initialized thats fine. I was just wondering because i've used SublimeText as well and was getting the uninitialized warning.
07:49:31cheatfateMiniDude22: :)
07:50:31cheatfateMiniDude22: Something you can get only with Nim's is instant help from main developer :)
07:52:46Araq_cheatfate: I intend to release 0.15.2 soon enough with ever more polish :-)
07:52:59*yglukhov quit (Ping timeout: 244 seconds)
07:53:27cheatfateAraq_, how about polish realloc issue? :)
07:53:37Araq_yeah on my list
07:54:49*Matthias247 joined #nim
08:01:27*yglukhov joined #nim
08:05:54*yglukhov quit (Ping timeout: 244 seconds)
08:11:40*desophos quit (Read error: Connection reset by peer)
08:13:27*yglukhov joined #nim
08:17:47*yglukhov quit (Ping timeout: 244 seconds)
08:24:51*yglukhov joined #nim
08:28:18*fredrik92 quit (Read error: Connection reset by peer)
08:28:54ftsfwow, just tried using a try except in an expression and it worked and i was amazed =)
08:29:09*yglukhov quit (Ping timeout: 244 seconds)
08:30:56*fredrik92 joined #nim
08:31:11*yglukhov joined #nim
08:33:36*TheManiac joined #nim
08:35:20*yglukhov quit (Ping timeout: 244 seconds)
08:35:22*confundus joined #nim
08:37:02*yglukhov joined #nim
08:41:32*yglukhov quit (Ping timeout: 244 seconds)
08:46:56*yglukhov joined #nim
08:56:12FromGitter<MiniDude22> @cheatfate Yeah @Araq is pretty dang great xD
09:16:17*yglukhov quit (Remote host closed the connection)
09:20:52*yglukhov joined #nim
09:24:59*gokr joined #nim
09:41:04*yglukhov quit (Remote host closed the connection)
09:41:35*Trustable joined #nim
09:46:17*stisa quit (Quit: quitting...)
09:46:41*irrequietus quit (Ping timeout: 264 seconds)
09:49:13*moby joined #nim
09:57:17*yglukhov joined #nim
09:59:52*brechtm joined #nim
10:00:52dom96yay, we got to the front page of HN
10:05:52ftsf\o/
10:07:24dom96also, people seem to love the new multisync macro :D
10:07:56ftsfmmm still haven't really looked into the async stuff
10:08:01dom96ftsf: so, how much of your game is written in Nim? All of it?
10:08:12ftsfdom96, yep, other than SDL
10:08:18dom96nice
10:08:29dom96It runs super smoothly
10:08:31ftsfwish i had known about {.this when i started
10:08:59dom96yeah, we need a nicer macro that makes using it more natural
10:09:13dom96You should use async to implement a network multiplayer :)
10:09:27ftsfheh, maybe could do that
10:09:45*yglukhov quit (Remote host closed the connection)
10:10:39corecodeyou think {.this.} makes code more readable?
10:11:08ftsfcorecode, i do
10:11:44corecodedo you have a special notation for object fields?
10:11:50ftsfnope
10:12:40dom96ftsf: I would love to
10:13:00ftsfreally happy I got my synth to build in OSX with threads =)
10:13:18ftsfclang is such a mysterious beast
10:14:47dom96How did you manage to do it?
10:15:56ftsfused a newer clang, used a different target -target x86_64-apple-macosx10.10.0 and got some missing libraries from an older XCode SDK
10:16:24ftsfthey removed them from the newer SDK with just a link to the system library
10:17:09dom96ahh, so we can blame Apple for this? :)
10:17:40ftsfapple and clang/llvm
10:17:49ftsfclang docs are terrible
10:17:58ftsfhttps://github.com/mxgmn/WaveFunctionCollapse WOW
10:19:08gokrftsf: What game? url?
10:20:42ftsfgokr, one i'm making, unreleased so far. but can put up a build if you want to try. which OS?
10:21:07ftsfhttps://img.itch.io/aW1hZ2UvNzk2MjAvMzc5Mjk4LmdpZg==/original/xUUEkq.gif looks like this
10:21:10gokrUbuntu or OSX
10:21:33gokrAh, looks cool :)
10:22:59ftsfcool, i'll upload the osx build
10:25:38dom96ftsf: wow, that is impressive. Even in 3D as well! :O
10:27:12FromGitter<zachaysan> @dom96 @Araq Congrats on 0.15!!
10:27:35FromGitter<zachaysan> While the post is on hacker news though you guys should add a section to the release about sponsor backing
10:27:47FromGitter<zachaysan> because that way we can get more sponsors from the HN traffic
10:28:13FromGitter<zachaysan> also, current sponsors will feel better about themselves ;)
10:28:26dom96I think what I will do is write a comment on HN about my book and Bountysource
10:28:47FromGitter<zachaysan> Cool! Good idea!
10:28:57FromGitter<zachaysan> Alright it's early here, I'm going to go get coffee
10:28:58FromGitter<zachaysan> <3
10:29:09ftsfmmm it's dinner time here, i'm going to get coffee =p
10:29:14gokrftsf: Gotta go, but laptop is on
10:29:25ftsfgokr, http://static.impbox.net/vektor2089/vektor2089-2016-10-01-osx.zip
10:29:30ftsfupload complete \o/
10:29:35ftsfupload speed here is so slow =(
10:29:45ftsf13MB
10:29:48dom96hrm, I should eat something.
10:29:58dom96Still got a cold :\
10:30:04ftsfdom96, me too =(
10:30:11dom96Today's weather is looking very grim as well
10:32:43dom96ftsf: for your game, have you considered adding a full minimap? The minimap that shows when turns come up is really awesome but I feel like it might be easier to play if I see where I am at all times. Then again, maybe it's good that there is this challenge :)
10:33:14ftsfdom96, i tried that but it was too much to look at, easy to lose yourself, the arrow thing is focused just on what's coming up next
10:33:26dom96I see.
10:34:13ftsfdo you crash into the track a lot?
10:34:22ftsfdue to not being able to see far enough ahead?
10:34:33dom96yeah
10:34:59dom96I find it difficult to look at my ship (?) and at the mini map at the same time to know how much I should be turning
10:35:06dom96But maybe it's just a case of getting used to it
10:35:12dom96I did improve with more plays
10:35:12ftsfmmm I see
10:35:53ftsfi'm consdering making it zoom out a bit when you go faster
10:35:58ftsfwhich might make seeing ahead easier
10:37:49dom96maybe
10:38:55ftsfadded in a new input mode where you point the analog stick in the direction you want to go and it'll steer for you
10:39:09ftsfa lot of people seem to struggle with the orientation mapping
10:41:44dom96zachaysan: https://news.ycombinator.com/item?id=12617316
10:43:03*Kingsquee quit (Ping timeout: 272 seconds)
10:43:13dom96yeah, I didn't find it too bad, I let my girlfriend test it as well (hope you don't mind, was excited to show her a Nim game :)) and she found the controls difficult.
10:43:33dom96I'm not sure how the keyboard controls can be improved.
10:43:37*brechtm quit (Remote host closed the connection)
10:44:07ftsfdom96, don't mind of course, always good to get feedback
10:44:18*ARCADIVS quit (Quit: ARCADIVS)
10:44:29ftsfI suspect the keyboard controls are fine for anyone who is happy playing games on a keyboard
10:45:04*brechtm joined #nim
10:46:00dom96yeah, to be fair she doesn't play a lot of fast-paced games like that.
10:51:09FromGitter<zachaysan> @dom96 Upvoted.
10:51:15dom96thanks
10:57:59*elrood joined #nim
11:01:52dom96ftsf: looks like entering my initials crashed it :)
11:02:04dom96btw I really love the music, did you pay someone for it?
11:02:05*Snircle joined #nim
11:03:11*Matthias247 quit (Read error: Connection reset by peer)
11:03:15ftsfdom96, aww, might have crashed trying to save the replay
11:03:27ftsfpermissions or missing directory perhaps
11:03:29elroodcongrats on the release, guys
11:03:45ftsfdom96, someone emailed me and asked if they could make music for it =)
11:03:49dom96ftsf: i see, unfortunately didn't get the stack trace
11:03:55ftsfdom96, no worries
11:04:12dom96ftsf: awesome, how did they find out about it? Through Twitter?
11:04:37dom96elrood: thanks :)
11:04:48ftsfI don't know actually, they said they saw some gifs online
11:05:00dom96Anybody else think that Nim macro is far clearer than the lisp? https://news.ycombinator.com/item?id=12617350
11:05:08dom96*that the
11:05:30ftsforiginally I made the game for the pico8 and it's one of the top games on there. http://www.lexaloffle.com/bbs/?tid=2243 a much simpler version though
11:05:44ftsfwritten in lua, nim is much nicer =)
11:09:21FromGitter<MiniDude22> @dom96 Yeah I just read that comment. I have no idea what is happening in lisp there...
11:11:13dom96ftsf: cool to see how it evolved :)
11:11:37dom96ftsf: how long have you been an indie game dev?
11:12:14ftsfdom96, hmm started making games with qbasic as a kid, maybe 10 years old
11:12:29ftsfonly released one game though
11:13:14dom96I see. I started programming at around 10 with the intention of making games, gave up after I realised that I suck at creating graphics :)
11:13:27*confundus quit (Ping timeout: 244 seconds)
11:13:46ftsfmmm that's why i love the pico8, so limited the graphics don't matter much =)
11:13:51ftsfcan focus on making a game
11:14:09*nsf quit (Quit: WeeChat 1.5)
11:15:30*confundus joined #nim
11:16:21dom96I did make a pretty cool motor bike game once in Java (it was for a Uni project D:), my girlfriend made the graphics for it though heh
11:16:38dom96Might someday rewrite it in Nim.
11:17:39ftsfsounds like a good idea =)
11:17:56ftsftempted to rewrite my other game in nim too
11:18:54dom96what's your other game?
11:19:40ftsfon android a physics block dropping game https://play.google.com/store/apps/details?id=com.boxengame
11:19:57ftsfalso written in lua
11:20:02ftsfit was a terrible pain
11:20:13ftsfno types makes things so fragile
11:20:19ftsfand dynamic compilation
11:24:25dom96flyx: looks like we replied at the same time, your version is much better :)
11:26:47dom96ftsf: that video is very well put together
11:27:09dom96looks fun as well, available for iOS too maybe?
11:27:19dom96if not then that gives you a reason to rewrite it
11:27:21ftsfdom96, haha it was quite a hack job in blender
11:27:41ftsfmmm no iOS yet, but I'd like to release it for iOS eventually
11:27:46ftsfbut I need to get some apple devices I think
11:27:57dom96yeah, that's the unfortunate thing about iOS
11:28:02ftsfdon't think my cross compiler chain will work for iOS
11:28:18ftsfalthough I'm surprised I got OSX to work, so maybe there's hope
11:28:22dom96I don't think it's very easy or even possible to develop iOS apps without OSX
11:28:41dom96oh, you got OSX in a VM?
11:28:43dom96That should work
11:29:17ftsfhmm couldn't get it working
11:29:28ftsfwould probably want to get an iPhone/iPod to test with as well
11:29:41ftsfbut it's an expensive investment
11:30:50flyxdom96: yeah, but I remember Araq wasn't keen on advertising `quote do:` for some reason
11:31:18dom96yeah, it's buggy
11:31:38dom96ftsf: yeah, although I bet you could find a cheap used one
11:32:07dom96well, cheap meaning like $200 probably heh, but still cheaper than $500 or whatever the prices of them are now.
11:32:37flyxftsf: Xcode does include a quite good emulator afaik
11:32:39*Demon_Fox quit (Quit: Leaving)
11:32:44ftsfyeah, i'll keep an eye out
11:32:58ftsfflyx, mmm emulators are generally too slow for game stuff, but might give it a try
11:43:51*flyx also originally wanted to create games, but hat problems with the graphics
11:44:06flyxbut I think the one game I released is still used to create YouTube videos
11:44:17ftsfflyx, oh what's that?
11:44:40flyxftsf: a remake of the composer component of Mario Paint
11:44:57ftsfoh cool =)
11:45:26ftsfdid you see my nim synth/sequencer? =) want to add a mario paint module to it?
11:46:36flyxwell, mario paint is mostly GUI. I used fluidsynth for my implementation, which took care of soundfonts and playback
11:46:43ftsfoh I see
11:47:01*chemist69 quit (Ping timeout: 272 seconds)
11:47:06ftsffluidsynth seems pretty cool, maybe i should just link to that instead of writing my own sampler... but writing it myself will be more fun =)
11:47:49flyxdamn, now I'm thinking about reimplementing that thing in Nim
11:48:37flyxthe problem at the time was, I did not know OpenGL, so I used the rather slow drawing framework RealBasic provided (yeah, I wrote it in RealBasic). it would be much nicer to have it animated in OpenGL
11:49:18ftsfmmm, hopefully we get something like love2d for nim
11:50:07ftsfusing SDL directly is pretty painless, but some higher level stuff would be nice for quickly making things
11:51:03flyxthe problem with graphics frameworks is, you have to be very careful not to lose too much performance by abstracting things, and that happens quite fast
11:52:40ftsfmmm for simple games targeting pc it's not much of a problem, since computers are so powerful these days
11:54:10flyxhm yeah. I think the problem I had with RealBasic was that its SpriteSurface was very slow because it abstracted above very different drawing libraries of OSX/Windows/Linux
11:54:29flyxbut that was quite some years ago
11:55:01cheatfateflyx, i'm disagree with you that abstraction on OS can significantly decrease performance
11:55:21flyxwell you can do it definitely better than RB did it
11:55:23ftsfmaybe just RealBasic being slow?
11:55:36flyxwell, I dropped it shortly after
11:55:45ftsfi found pygame to be unusably slow
11:57:03cheatfateos abstraction is a couple of defines and `if` nothing more... if you uses best techniques for every OS then may be you have made bad choice on Language
11:58:10flyxin hindsight, RB was quite awkward. the IDE even stored its source code in binary files that you couldn't easily put under version control
11:58:49flyxI mainly used it because I came from VB/Windows and it was the closest thing to it on OSX
11:59:22*chemist69 joined #nim
11:59:24*brechtm_ joined #nim
12:00:06flyxcheatfate: RB was more a complete cross-platform framework than just a language.
12:01:41cheatfateas i said before cross-platform can't be reason for poor performance... but if you are using GDI to draw sprites, while you have DirectX, then you are in trouble
12:02:32*brechtm quit (Ping timeout: 244 seconds)
12:02:59flyxcheatfate: I never said it cannot be done with good performance. just that RB didn't
12:14:32flyxdom96: I get an error in jester 0.1.0. `jester.nim(299, 25) Error: type mismatch` is it supposed to work with 0.15.0?
12:14:43dom96flyx: grab #head
12:14:51dom96I need to tag a new version
12:14:54dom96thanks for reminding me :)
12:18:28flyxnow I have some `type mismatch: got (bool) but expected 'FutureBase = ref FutureBase:ObjectType'`
12:18:48flyxat a resp statement
12:18:48flyxnot sure what's going on here
12:22:24dom96hrm, what are you compiling?
12:22:32flyxNimYAML server component
12:23:01flyxyou can checkout NimYAML devel and execute `nim server` if you want to reproduce it
12:23:36*Ven_ joined #nim
12:29:01dom96hrm
12:29:06dom96strange error
12:29:27flyxindeed. more so because the previous resp statements work
12:30:55*Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:34:38dom96Seems it's an {.async.} macro bug
12:35:32dom96it's not processing the other except branches
12:36:19dom96it worked in 0.14.2 previously right?
12:40:59flyxyes
12:44:23flyxfor the sake of releasing a NimYAML version, I will do a workaround. the non-working state is preserved in git for reference if you need it.
12:49:19dom96yeah
12:49:33dom96I already created a small test case
12:49:35dom96trying to bisect
12:50:48*brechtm_ quit (Read error: Connection reset by peer)
12:51:24*brechtm joined #nim
12:56:03*moby quit (Ping timeout: 272 seconds)
13:00:27dom96even 0.13.0 fails to compile it :\
13:02:23dom96https://github.com/nim-lang/Nim/issues/4843
13:02:54*Dankrad joined #nim
13:04:43*xet7 joined #nim
13:08:19Dankradhey,
13:08:19Dankradthe c2nim link on github pointing to the wrong url:
13:08:19Dankrad- Github pointing to: http://nim-lang.org/c2nim.html
13:08:19Dankrad- "Real" URL: http://nim-lang.org/docs/c2nim.html
13:08:20ftsfhmm any reason if expressions after += need to be in parens?
13:11:05dom96Dankrad: thanks!
13:11:41dom96hrm, where is this link?
13:12:04*dom96 can't find it
13:14:27dom96ahh okay
13:14:47dom96Fixed
13:18:41*yglukhov joined #nim
13:25:21dom96ftsf: good question
13:26:13Calinou<ftsf> don't think my cross compiler chain will work for iOS
13:26:21Calinouit is possible to cross-compile for iOS, but not to deploy to an iDevice
13:26:33ftsfCalinou, ahh good to know
13:26:33Calinouhttp://docs.godotengine.org/en/latest/reference/cross-compiling_for_ios_on_linux.html
13:26:47Calinouand for macOS (easier): http://docs.godotengine.org/en/latest/reference/compiling_for_osx.html
13:26:57ftsfCalinou, yeah got macOS working already =)
13:27:52Calinou<dom96> I did make a pretty cool motor bike game once in Java (it was for a Uni project D:), my girlfriend made the graphics for it though heh
13:28:11Calinouif I was good at programming I'd love to reimplement Doom or Duke3D, or another classic game in pure JavaScript/TypeScript :D
13:28:13Calinoufor fun
13:28:50CalinouWebGL 2.0 is going to be ready soon-ish, so 3D graphics in the browser will be so much better
13:28:58Calinou(it's currently hidden behind flags)
13:31:16CalinouWebGL 2.0 is based on GLES3, whereas WebGL 1.0 is GLES2, and Godot is going to use GLES3 for its new renderer so we get WebGL 2.0 "for free" :)
13:43:56*mitai joined #nim
13:47:15*PMunch joined #nim
13:53:19*confundus quit (Quit: leaving)
14:03:14*Matthias247 joined #nim
14:16:34*pie_ joined #nim
14:25:55*mitai___ joined #nim
14:25:59*mitai quit (Ping timeout: 272 seconds)
14:28:33*moby joined #nim
14:29:38*moby left #nim (#nim)
14:30:19cheatfatedom96, i dont have 0.14.2 but with my pretty old devel it doesn't work
14:31:21cheatfateNim Compiler Version 0.14.3 (2016-09-17) [Linux: amd64] e78b9b72686baa3b98702e86569148e0fc8d7057
14:36:25*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
14:40:45*AndChat254100 joined #nim
14:42:01AndChat254100where I can read about formal verification in nim? recently I saw an example at home page, but now I cannot find it
14:42:55*yglukhov quit (Read error: Connection reset by peer)
14:43:32*yglukhov joined #nim
14:49:47*AndChat|254100 joined #nim
14:52:41*AndChat254100 quit (Ping timeout: 264 seconds)
14:56:54*AndChat254100 joined #nim
15:00:16*AndChat|254100 quit (Ping timeout: 244 seconds)
15:01:18*mitai___ quit (Ping timeout: 244 seconds)
15:01:29*mitai___ joined #nim
15:10:51*yglukhov quit (Remote host closed the connection)
15:17:47*yglukhov joined #nim
15:22:11*yglukhov quit (Ping timeout: 265 seconds)
15:27:00AndChat254100where I can read about formal verification in nim? recently I saw an example at home page, but now I cannot find it
15:31:36*Ven_ joined #nim
15:44:32*Ven_ quit (Read error: Connection reset by peer)
15:45:05*Ven_ joined #nim
15:49:13*Ven_ quit (Client Quit)
15:54:00*arnetheduck quit (Ping timeout: 244 seconds)
16:08:05*yglukhov joined #nim
16:10:40*yglukhov quit (Remote host closed the connection)
16:16:14*hohlerde joined #nim
16:16:15hohlerdeAndChat254100: haven't really seen something you mention on the website
16:18:02*libman joined #nim
16:33:03Araq_AndChat254100: the 'parallel' statement has some highly experimental support checking your array slices are disjoint, that's likely what you saw at the website
16:34:00*brechtm quit (Read error: No route to host)
16:34:18AndChat254100ARAQ_, thanks, where can I read more?
16:34:29*brechtm joined #nim
16:34:37dom96Araq_: Can you answer this? https://news.ycombinator.com/item?id=12617788
16:35:11Araq_but in practice it's hard to work with. it's based on some non-documented abstract interpretation analysis, see https://en.wikipedia.org/wiki/Abstract_interpretation
16:38:24*nsf joined #nim
16:39:26Araq_AndChat254100: the algorithm is in compiler/semparallel.nim
16:39:41Araq_dom96: it's a very good question, will answer
16:39:55dom96yay, thanks
16:40:22Araq_the basic idea is that X..Y and C..D overlap iff (X <= D and C <= Y) and so we need to prove X <= D and C <= Y
16:40:46Araq_to prove X <= D you need to determine their live ranges via an abstract algebra
16:41:54Araq_the meat of this proof engine is guards.nim, proc ple
16:42:02Araq_ple = prove less or equal
16:44:14Araq_it's brilliant IMHO but needs a few more years to get it production ready
16:47:58*yglukhov joined #nim
17:07:24*fredrik92 quit (Read error: Connection reset by peer)
17:13:04AndChat254100Araq_ thanks
17:13:12*AndChat254100 quit (Quit: Bye)
17:41:57*Demon_Fox joined #nim
18:12:02*irrequietus joined #nim
18:12:43*Dankrad quit (Quit: Leaving.)
18:21:20*irrequietus quit (Read error: Connection reset by peer)
18:22:23*brechtm_ joined #nim
18:22:50*irrequietus joined #nim
18:24:50*brechtm quit (Ping timeout: 252 seconds)
18:27:43baabelfishIs there a way to store type information inside a type? Like with "using" in c++?
18:28:47baabelfishSomething equivalent to this: template<typename X, typename Y> struct Z { using Stored = std::tuple<X, Y>; }
18:29:09Araq_baabelfish: no, the Nim way is to use a proc foo(x: typedesc)
18:43:12*yglukhov quit (Read error: Connection reset by peer)
18:43:46*yglukhov joined #nim
19:05:26*brson joined #nim
19:11:10baabelfishAraq_: didn't know this was possible template foobar(x: typedesc): typedesc = seq[x]\ var x: foobar(string)
19:11:13baabelfishthanks
19:15:42*Kingsquee joined #nim
19:30:19Araq_dom96: btw I remembered the major feature of 0.15 :P
19:30:33Araq_generic multi methods should now be sane :D
19:31:24dom96feel free to add it into the changelog
19:41:08*Ven_ joined #nim
19:59:45*rtr_ joined #nim
20:00:36*kulelu88 joined #nim
20:01:01*chemist69 quit (Ping timeout: 272 seconds)
20:05:09*chemist69 joined #nim
20:15:27*Trustable quit (Remote host closed the connection)
20:33:53libmano.VVV.o share for much win: libman.org/img/bak/20161001-Nim-0.15.0.jpg => https://archive.is/07owL | https://archive.is/5h2zx | https://archive.is/y501F :P
20:34:00*nsf quit (Quit: WeeChat 1.5)
20:40:06flyxo.O now my eyes are hurting
20:41:01flyxsome advice for font rendering: there is no reason to blur a font that represents text which should be read. ever.
20:42:04*Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:43:21*stisa joined #nim
20:43:21libmanThen make your own version. ;)
20:44:38cheatfateeverybody waiting for 0.15.2 :)
20:45:01flyxdo we already have that much problems in 0.15.0?
20:45:41cheatfateflyx, `.2` is always more stable then `.0` :)
20:46:30flyxah yes, that was the reason why gcc starts new major releases at .2, wasn't it
20:46:44Araq_libman: nice work
20:48:57flyxhaha, I stand corrected, it was .1
20:48:59libmanflyx: the eye pain was an intentional marketing trick. Thank you for confirming this works. It encourages readers to subconsciously think, "gee, all this Java/C++/Rust/Go/whatever really screwed up my eyes, I should switch to a prettier programming language". :P
20:50:40baabelfishhttps://github.com/MasonMcGill/tuples I think most of these methods should go into the standard lib
20:54:16*libman quit (Quit: Leaving.)
20:54:56stisaAraq_: looking at the new doc search, should module devs build `dochack` for modules outside stdlib, should `doc2` build it, or something else?
20:55:46Araq_stisa: outside modules should have a modified nimdoc.cfg tweaking things and removing the search perhaps
20:56:04flyxjust wondering, how is „nim“ styled (the text itself, not the crown)? some font? is there an svg of it
21:01:02dom96https://github.com/nim-lang/assets
21:04:22stisaAraq_: oh nice, didn't know that `doc2` picked up `nimdoc.cfg` from the project folder, passing a custom style should be easy then
21:06:17*brson quit (Quit: leaving)
21:08:03*Ven_ joined #nim
21:09:43*Ven_ quit (Client Quit)
21:10:41*gokr quit (Ping timeout: 264 seconds)
21:14:42baabelfishAraq_: are you aware of the fixit feature in clang?
21:15:17flyxwell, for the sake of being bored and having this crap code laying around anyway: https://flyx.org/files/nim.html
21:21:34Araq_baabelfish: what does it do?
21:25:49Araq_ah it's just some nice error message
21:28:10baabelfishAraq_: it gives you possible fixes that can be used by the editor/ide to "autofix" the code
21:28:23*Ven_ joined #nim
21:37:18cheatfatenot autofix/autocode with Nim!!!
21:38:27*Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:38:48*Demon_Fox quit (Quit: Leaving)
21:38:50*Ven_ joined #nim
21:40:03*Ven_ quit (Client Quit)
21:46:44*Satyajit joined #nim
21:51:56*Satyajit quit (Quit: https://fnordserver.eu)
22:05:34*yglukhov quit (Remote host closed the connection)
22:09:14*chemist69 quit (Ping timeout: 252 seconds)
22:18:27*Ven_ joined #nim
22:31:16*yglukhov joined #nim
22:35:26*yglukhov quit (Ping timeout: 244 seconds)
22:36:22*chemist69 joined #nim
22:37:08*desophos joined #nim
22:52:03*Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:02:19*stisa quit (Quit: quitting...)
23:02:55*elrood quit (Quit: Leaving)
23:06:01*NimBot joined #nim
23:08:42*Matthias247 joined #nim
23:10:30*irrequietus quit (Remote host closed the connection)
23:11:45*irrequietus joined #nim
23:11:59*Matthias247 quit (Read error: Connection reset by peer)
23:13:05*nsf joined #nim
23:14:42*zama quit (Ping timeout: 244 seconds)
23:15:37*zama joined #nim
23:16:06*desophos quit (Ping timeout: 264 seconds)
23:22:44*rtr_ quit (Remote host closed the connection)
23:31:07*yglukhov joined #nim
23:38:28*yglukhov quit (Ping timeout: 244 seconds)