00:01:34 | cheatfate | fredrik92, you trying to run vcvars.bat before executing vcc? |
00:02:01 | fredrik92 | cheatfate, vcvarsall, but yes... |
00:02:19 | * | yglukhov quit (Remote host closed the connection) |
00:02:36 | fredrik92 | Unfortunenately that is necessay to get the Visual Studio Build environment set up properly |
00:03:36 | cheatfate | fredrik92, i think there can be a problems, because of separately installed SDKs |
00:03:50 | fredrik92 | my 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:12 | fredrik92 | Currently 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:27 | cheatfate | i 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:57 | fredrik92 | cheatfate, 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:53 | fredrik92 | I considered running vcvarsall once, save the environment in a file, and then load that each time when wrapper runs. |
00:13:07 | cheatfate | fredrik92, ^^^ is what i'm trying to say |
00:13:54 | cheatfate | because 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:45 | cheatfate | and 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:10 | fredrik92 | cheatfate, 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:02 | fredrik92 | and 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:47 | cheatfate | fredrik92, 1. we can run `koch compilers cache update` in setup procedure to build cache for nim |
00:18:13 | cheatfate | fredrik92, 2. we can ask user to run `koch compilers cache update` one more time if newer version installed |
00:18:40 | fredrik92 | hmm... yeah... ok... |
00:19:15 | fredrik92 | what if we had a Pre-build command in the nim executable instead, one that was configurable through nim.cfg? |
00:19:40 | fredrik92 | because then we could invoke vcvarsall once for the entire Nim build process |
00:20:56 | * | nsf joined #nim |
00:20:58 | cheatfate | fredrik92, even koch tests will run `vcvarsall.bat` more then hundred times |
00:22:15 | fredrik92 | cheatfate, oh! true... But for regular `nim compile` actions the overhead would be negligable... |
00:25:14 | cheatfate | fredrik92, 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:13 | cheatfate | with compiler version check we can resolve many problems for other OS |
00:27:37 | cheatfate | OpenBSD still uses gcc4.2.1 without ATOMICs support |
00:29:24 | cheatfate | so i think it will be pretty nice feature for koch :) |
00:30:42 | * | Kingsquee quit (Ping timeout: 244 seconds) |
00:30:54 | fredrik92 | cheatfate, 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:04 | cheatfate | fredrik92, of course there no such feature, we need to create it on base of your code |
00:32:44 | * | Kingsquee joined #nim |
00:35:41 | fredrik92 | ah, 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:10 | fredrik92 | as a first step that should improve the wrappers execution time... |
00:38:51 | cheatfate | fredrik92, not a good idea because i dont think this file changes at all |
00:39:10 | cheatfate | i even dont think vcvars_arch will change if something new installed |
00:39:47 | fredrik92 | well if you install certain extensions to VS (like the ARM support) it does change (to include ARM) |
00:40:14 | cheatfate | fredrik92, i think it have branch inside to check if arm is available |
00:41:35 | cheatfate | fredrik92, check vcvarsqueryregistry.bat |
00:43:28 | cheatfate | if not exist "%~dp0bin\arm\vcvarsarm.bat" goto missing |
00:44:05 | fredrik92 | right... |
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:36 | cheatfate | def-, 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:41 | ftsf | \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:48 | ftsf | now 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:09 | def- | 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:25 | FromGitter | <MiniDude22> how do you allocate memory for an array whose size is not known at runtime? |
05:48:41 | FromGitter | <MiniDude22> cast[seq[byte]](alloc0(sizeof(Data))) |
05:48:56 | FromGitter | <Araq> you use a seq then |
05:49:23 | FromGitter | <MiniDude22> Would that allocate the memory in the seq for it? |
05:49:38 | FromGitter | <Araq> newSeq[byte](sizeof(Data)) |
05:50:01 | FromGitter | <MiniDude22> So i want to use the sequence to read a chunk of memory into |
05:50:23 | FromGitter | <MiniDude22> so i need to allocate all the memory for it yeah? |
05:50:49 | FromGitter | <Araq> alloc0 is wrong |
05:51:06 | FromGitter | <MiniDude22> so would i just use alloc then? |
05:51:27 | FromGitter | <MiniDude22> oh nvm i saw your edit on the code now |
05:51:35 | FromGitter | <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:07 | FromGitter | <MiniDude22> is there a better way to initialize an array than this? |
06:07:16 | FromGitter | <MiniDude22> ```hArray: array[100, Handle] = (new array[100, Handle])[]``` |
06:09:48 | FromGitter | <Araq> hArray: array[100, Handle] # initialized to 0 for you anyway |
06:12:26 | * | rtr_ quit (Quit: Leaving...) |
06:12:31 | Araq_ | https://github.com/bkaradzic/bgfx yay Nim bindings out of the box :-) |
06:13:20 | * | yglukhov joined #nim |
06:13:25 | ftsf | looks 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:54 | cheatfate | def-, 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:44 | cheatfate | Araq_, if array is initialized, why verbosity:2 generates warning about not initialized array? |
06:43:31 | * | yglukhov joined #nim |
06:48:26 | Araq_ | does it? |
06:48:36 | ftsf | \o/ compiled and linked my synth for OSX |
06:51:35 | cheatfate | Araq_, 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:32 | cheatfate | Araq_, var hArray: array[100, Handle]; zeroMem(cast[pointer](addr hArray[0]), sizeof(Handle) * 100) |
06:53:48 | cheatfate | will generate warning [UnInit] with --verbosity:2 |
06:56:06 | Araq_ | *shrug* that's an artifact of the "omg, I want explicit initialization everywhere" movement |
06:57:56 | * | yglukhov joined #nim |
06:58:16 | Araq_ | https://github.com/apple/swift/blob/master/docs/proposals/Concurrency.rst |
06:58:29 | Araq_ | Swift reinvented Nim's "gcsafe" concept :-) |
06:58:31 | cheatfate | Araq_, Varriount adds `--verbosity:2` to Sublime Text as default... its annoying me for like 9 months |
06:59:09 | Araq_ | but can anybody explain to me this sentence: |
06:59:20 | Araq_ | "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:41 | Araq_ | how does COW help with the thread safety issues? |
06:59:48 | Araq_ | it makes no sense. |
07:00:13 | Araq_ | cheatfate: so fix the Sublime Text plugin |
07:00:34 | cheatfate | Araq_, nope :) its semantic Nim's issue :) |
07:00:44 | Araq_ | so fix Nim. |
07:00:49 | Araq_ | compiler/sempass2.nim |
07:02:21 | * | yglukhov quit (Ping timeout: 244 seconds) |
07:03:08 | cheatfate | Araq_, so you want me to remove https://github.com/nim-lang/Nim/blob/devel/compiler/sempass2.nim#L234? |
07:04:00 | FromGitter | <Araq> no, but verbosity:2 should not include warnUninit |
07:04:27 | Araq_ | ok, my bad that would be compiler/msgs.nim then |
07:06:23 | cheatfate | i think then we must change level of info... and put it to debug level? |
07:08:51 | Araq_ | cheatfate: fixed it for ya |
07:09:31 | cheatfate | Araq_, 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:05 | FromGitter | <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:31 | cheatfate | MiniDude22: :) |
07:50:31 | cheatfate | MiniDude22: Something you can get only with Nim's is instant help from main developer :) |
07:52:46 | Araq_ | 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:27 | cheatfate | Araq_, how about polish realloc issue? :) |
07:53:37 | Araq_ | 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:54 | ftsf | wow, 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:12 | FromGitter | <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:52 | dom96 | yay, we got to the front page of HN |
10:05:52 | ftsf | \o/ |
10:07:24 | dom96 | also, people seem to love the new multisync macro :D |
10:07:56 | ftsf | mmm still haven't really looked into the async stuff |
10:08:01 | dom96 | ftsf: so, how much of your game is written in Nim? All of it? |
10:08:12 | ftsf | dom96, yep, other than SDL |
10:08:18 | dom96 | nice |
10:08:29 | dom96 | It runs super smoothly |
10:08:31 | ftsf | wish i had known about {.this when i started |
10:08:59 | dom96 | yeah, we need a nicer macro that makes using it more natural |
10:09:13 | dom96 | You should use async to implement a network multiplayer :) |
10:09:27 | ftsf | heh, maybe could do that |
10:09:45 | * | yglukhov quit (Remote host closed the connection) |
10:10:39 | corecode | you think {.this.} makes code more readable? |
10:11:08 | ftsf | corecode, i do |
10:11:44 | corecode | do you have a special notation for object fields? |
10:11:50 | ftsf | nope |
10:12:40 | dom96 | ftsf: I would love to |
10:13:00 | ftsf | really happy I got my synth to build in OSX with threads =) |
10:13:18 | ftsf | clang is such a mysterious beast |
10:14:47 | dom96 | How did you manage to do it? |
10:15:56 | ftsf | used 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:24 | ftsf | they removed them from the newer SDK with just a link to the system library |
10:17:09 | dom96 | ahh, so we can blame Apple for this? :) |
10:17:40 | ftsf | apple and clang/llvm |
10:17:49 | ftsf | clang docs are terrible |
10:17:58 | ftsf | https://github.com/mxgmn/WaveFunctionCollapse WOW |
10:19:08 | gokr | ftsf: What game? url? |
10:20:42 | ftsf | gokr, one i'm making, unreleased so far. but can put up a build if you want to try. which OS? |
10:21:07 | ftsf | https://img.itch.io/aW1hZ2UvNzk2MjAvMzc5Mjk4LmdpZg==/original/xUUEkq.gif looks like this |
10:21:10 | gokr | Ubuntu or OSX |
10:21:33 | gokr | Ah, looks cool :) |
10:22:59 | ftsf | cool, i'll upload the osx build |
10:25:38 | dom96 | ftsf: wow, that is impressive. Even in 3D as well! :O |
10:27:12 | FromGitter | <zachaysan> @dom96 @Araq Congrats on 0.15!! |
10:27:35 | FromGitter | <zachaysan> While the post is on hacker news though you guys should add a section to the release about sponsor backing |
10:27:47 | FromGitter | <zachaysan> because that way we can get more sponsors from the HN traffic |
10:28:13 | FromGitter | <zachaysan> also, current sponsors will feel better about themselves ;) |
10:28:26 | dom96 | I think what I will do is write a comment on HN about my book and Bountysource |
10:28:47 | FromGitter | <zachaysan> Cool! Good idea! |
10:28:57 | FromGitter | <zachaysan> Alright it's early here, I'm going to go get coffee |
10:28:58 | FromGitter | <zachaysan> <3 |
10:29:09 | ftsf | mmm it's dinner time here, i'm going to get coffee =p |
10:29:14 | gokr | ftsf: Gotta go, but laptop is on |
10:29:25 | ftsf | gokr, http://static.impbox.net/vektor2089/vektor2089-2016-10-01-osx.zip |
10:29:30 | ftsf | upload complete \o/ |
10:29:35 | ftsf | upload speed here is so slow =( |
10:29:45 | ftsf | 13MB |
10:29:48 | dom96 | hrm, I should eat something. |
10:29:58 | dom96 | Still got a cold :\ |
10:30:04 | ftsf | dom96, me too =( |
10:30:11 | dom96 | Today's weather is looking very grim as well |
10:32:43 | dom96 | ftsf: 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:14 | ftsf | dom96, 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:26 | dom96 | I see. |
10:34:13 | ftsf | do you crash into the track a lot? |
10:34:22 | ftsf | due to not being able to see far enough ahead? |
10:34:33 | dom96 | yeah |
10:34:59 | dom96 | I 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:06 | dom96 | But maybe it's just a case of getting used to it |
10:35:12 | dom96 | I did improve with more plays |
10:35:12 | ftsf | mmm I see |
10:35:53 | ftsf | i'm consdering making it zoom out a bit when you go faster |
10:35:58 | ftsf | which might make seeing ahead easier |
10:37:49 | dom96 | maybe |
10:38:55 | ftsf | added 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:09 | ftsf | a lot of people seem to struggle with the orientation mapping |
10:41:44 | dom96 | zachaysan: https://news.ycombinator.com/item?id=12617316 |
10:43:03 | * | Kingsquee quit (Ping timeout: 272 seconds) |
10:43:13 | dom96 | yeah, 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:33 | dom96 | I'm not sure how the keyboard controls can be improved. |
10:43:37 | * | brechtm quit (Remote host closed the connection) |
10:44:07 | ftsf | dom96, don't mind of course, always good to get feedback |
10:44:18 | * | ARCADIVS quit (Quit: ARCADIVS) |
10:44:29 | ftsf | I suspect the keyboard controls are fine for anyone who is happy playing games on a keyboard |
10:45:04 | * | brechtm joined #nim |
10:46:00 | dom96 | yeah, to be fair she doesn't play a lot of fast-paced games like that. |
10:51:09 | FromGitter | <zachaysan> @dom96 Upvoted. |
10:51:15 | dom96 | thanks |
10:57:59 | * | elrood joined #nim |
11:01:52 | dom96 | ftsf: looks like entering my initials crashed it :) |
11:02:04 | dom96 | btw 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:15 | ftsf | dom96, aww, might have crashed trying to save the replay |
11:03:27 | ftsf | permissions or missing directory perhaps |
11:03:29 | elrood | congrats on the release, guys |
11:03:45 | ftsf | dom96, someone emailed me and asked if they could make music for it =) |
11:03:49 | dom96 | ftsf: i see, unfortunately didn't get the stack trace |
11:03:55 | ftsf | dom96, no worries |
11:04:12 | dom96 | ftsf: awesome, how did they find out about it? Through Twitter? |
11:04:37 | dom96 | elrood: thanks :) |
11:04:48 | ftsf | I don't know actually, they said they saw some gifs online |
11:05:00 | dom96 | Anybody else think that Nim macro is far clearer than the lisp? https://news.ycombinator.com/item?id=12617350 |
11:05:08 | dom96 | *that the |
11:05:30 | ftsf | originally 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:44 | ftsf | written in lua, nim is much nicer =) |
11:09:21 | FromGitter | <MiniDude22> @dom96 Yeah I just read that comment. I have no idea what is happening in lisp there... |
11:11:13 | dom96 | ftsf: cool to see how it evolved :) |
11:11:37 | dom96 | ftsf: how long have you been an indie game dev? |
11:12:14 | ftsf | dom96, hmm started making games with qbasic as a kid, maybe 10 years old |
11:12:29 | ftsf | only released one game though |
11:13:14 | dom96 | I 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:46 | ftsf | mmm that's why i love the pico8, so limited the graphics don't matter much =) |
11:13:51 | ftsf | can focus on making a game |
11:14:09 | * | nsf quit (Quit: WeeChat 1.5) |
11:15:30 | * | confundus joined #nim |
11:16:21 | 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 |
11:16:38 | dom96 | Might someday rewrite it in Nim. |
11:17:39 | ftsf | sounds like a good idea =) |
11:17:56 | ftsf | tempted to rewrite my other game in nim too |
11:18:54 | dom96 | what's your other game? |
11:19:40 | ftsf | on android a physics block dropping game https://play.google.com/store/apps/details?id=com.boxengame |
11:19:57 | ftsf | also written in lua |
11:20:02 | ftsf | it was a terrible pain |
11:20:13 | ftsf | no types makes things so fragile |
11:20:19 | ftsf | and dynamic compilation |
11:24:25 | dom96 | flyx: looks like we replied at the same time, your version is much better :) |
11:26:47 | dom96 | ftsf: that video is very well put together |
11:27:09 | dom96 | looks fun as well, available for iOS too maybe? |
11:27:19 | dom96 | if not then that gives you a reason to rewrite it |
11:27:21 | ftsf | dom96, haha it was quite a hack job in blender |
11:27:41 | ftsf | mmm no iOS yet, but I'd like to release it for iOS eventually |
11:27:46 | ftsf | but I need to get some apple devices I think |
11:27:57 | dom96 | yeah, that's the unfortunate thing about iOS |
11:28:02 | ftsf | don't think my cross compiler chain will work for iOS |
11:28:18 | ftsf | although I'm surprised I got OSX to work, so maybe there's hope |
11:28:22 | dom96 | I don't think it's very easy or even possible to develop iOS apps without OSX |
11:28:41 | dom96 | oh, you got OSX in a VM? |
11:28:43 | dom96 | That should work |
11:29:17 | ftsf | hmm couldn't get it working |
11:29:28 | ftsf | would probably want to get an iPhone/iPod to test with as well |
11:29:41 | ftsf | but it's an expensive investment |
11:30:50 | flyx | dom96: yeah, but I remember Araq wasn't keen on advertising `quote do:` for some reason |
11:31:18 | dom96 | yeah, it's buggy |
11:31:38 | dom96 | ftsf: yeah, although I bet you could find a cheap used one |
11:32:07 | dom96 | well, cheap meaning like $200 probably heh, but still cheaper than $500 or whatever the prices of them are now. |
11:32:37 | flyx | ftsf: Xcode does include a quite good emulator afaik |
11:32:39 | * | Demon_Fox quit (Quit: Leaving) |
11:32:44 | ftsf | yeah, i'll keep an eye out |
11:32:58 | ftsf | flyx, 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:06 | flyx | but I think the one game I released is still used to create YouTube videos |
11:44:17 | ftsf | flyx, oh what's that? |
11:44:40 | flyx | ftsf: a remake of the composer component of Mario Paint |
11:44:57 | ftsf | oh cool =) |
11:45:26 | ftsf | did you see my nim synth/sequencer? =) want to add a mario paint module to it? |
11:46:36 | flyx | well, mario paint is mostly GUI. I used fluidsynth for my implementation, which took care of soundfonts and playback |
11:46:43 | ftsf | oh I see |
11:47:01 | * | chemist69 quit (Ping timeout: 272 seconds) |
11:47:06 | ftsf | fluidsynth 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:49 | flyx | damn, now I'm thinking about reimplementing that thing in Nim |
11:48:37 | flyx | the 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:18 | ftsf | mmm, hopefully we get something like love2d for nim |
11:50:07 | ftsf | using SDL directly is pretty painless, but some higher level stuff would be nice for quickly making things |
11:51:03 | flyx | the 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:40 | ftsf | mmm for simple games targeting pc it's not much of a problem, since computers are so powerful these days |
11:54:10 | flyx | hm 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:29 | flyx | but that was quite some years ago |
11:55:01 | cheatfate | flyx, i'm disagree with you that abstraction on OS can significantly decrease performance |
11:55:21 | flyx | well you can do it definitely better than RB did it |
11:55:23 | ftsf | maybe just RealBasic being slow? |
11:55:36 | flyx | well, I dropped it shortly after |
11:55:45 | ftsf | i found pygame to be unusably slow |
11:57:03 | cheatfate | os 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:10 | flyx | in 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:49 | flyx | I 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:06 | flyx | cheatfate: RB was more a complete cross-platform framework than just a language. |
12:01:41 | cheatfate | as 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:59 | flyx | cheatfate: I never said it cannot be done with good performance. just that RB didn't |
12:14:32 | flyx | dom96: 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:43 | dom96 | flyx: grab #head |
12:14:51 | dom96 | I need to tag a new version |
12:14:54 | dom96 | thanks for reminding me :) |
12:18:28 | flyx | now I have some `type mismatch: got (bool) but expected 'FutureBase = ref FutureBase:ObjectType'` |
12:18:48 | flyx | at a resp statement |
12:18:48 | flyx | not sure what's going on here |
12:22:24 | dom96 | hrm, what are you compiling? |
12:22:32 | flyx | NimYAML server component |
12:23:01 | flyx | you can checkout NimYAML devel and execute `nim server` if you want to reproduce it |
12:23:36 | * | Ven_ joined #nim |
12:29:01 | dom96 | hrm |
12:29:06 | dom96 | strange error |
12:29:27 | flyx | indeed. more so because the previous resp statements work |
12:30:55 | * | Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
12:34:38 | dom96 | Seems it's an {.async.} macro bug |
12:35:32 | dom96 | it's not processing the other except branches |
12:36:19 | dom96 | it worked in 0.14.2 previously right? |
12:40:59 | flyx | yes |
12:44:23 | flyx | for 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:19 | dom96 | yeah |
12:49:33 | dom96 | I already created a small test case |
12:49:35 | dom96 | trying 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:27 | dom96 | even 0.13.0 fails to compile it :\ |
13:02:23 | dom96 | https://github.com/nim-lang/Nim/issues/4843 |
13:02:54 | * | Dankrad joined #nim |
13:04:43 | * | xet7 joined #nim |
13:08:19 | Dankrad | hey, |
13:08:19 | Dankrad | the c2nim link on github pointing to the wrong url: |
13:08:19 | Dankrad | - Github pointing to: http://nim-lang.org/c2nim.html |
13:08:19 | Dankrad | - "Real" URL: http://nim-lang.org/docs/c2nim.html |
13:08:20 | ftsf | hmm any reason if expressions after += need to be in parens? |
13:11:05 | dom96 | Dankrad: thanks! |
13:11:41 | dom96 | hrm, where is this link? |
13:12:04 | * | dom96 can't find it |
13:14:27 | dom96 | ahh okay |
13:14:47 | dom96 | Fixed |
13:18:41 | * | yglukhov joined #nim |
13:25:21 | dom96 | ftsf: good question |
13:26:13 | Calinou | <ftsf> don't think my cross compiler chain will work for iOS |
13:26:21 | Calinou | it is possible to cross-compile for iOS, but not to deploy to an iDevice |
13:26:33 | ftsf | Calinou, ahh good to know |
13:26:33 | Calinou | http://docs.godotengine.org/en/latest/reference/cross-compiling_for_ios_on_linux.html |
13:26:47 | Calinou | and for macOS (easier): http://docs.godotengine.org/en/latest/reference/compiling_for_osx.html |
13:26:57 | ftsf | Calinou, yeah got macOS working already =) |
13:27:52 | Calinou | <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:11 | Calinou | if I was good at programming I'd love to reimplement Doom or Duke3D, or another classic game in pure JavaScript/TypeScript :D |
13:28:13 | Calinou | for fun |
13:28:50 | Calinou | WebGL 2.0 is going to be ready soon-ish, so 3D graphics in the browser will be so much better |
13:28:58 | Calinou | (it's currently hidden behind flags) |
13:31:16 | Calinou | WebGL 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:19 | cheatfate | dom96, i dont have 0.14.2 but with my pretty old devel it doesn't work |
14:31:21 | cheatfate | Nim 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:01 | AndChat254100 | where 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:00 | AndChat254100 | where 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:15 | hohlerde | AndChat254100: haven't really seen something you mention on the website |
16:18:02 | * | libman joined #nim |
16:33:03 | Araq_ | 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:18 | AndChat254100 | ARAQ_, thanks, where can I read more? |
16:34:29 | * | brechtm joined #nim |
16:34:37 | dom96 | Araq_: Can you answer this? https://news.ycombinator.com/item?id=12617788 |
16:35:11 | Araq_ | 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:26 | Araq_ | AndChat254100: the algorithm is in compiler/semparallel.nim |
16:39:41 | Araq_ | dom96: it's a very good question, will answer |
16:39:55 | dom96 | yay, thanks |
16:40:22 | Araq_ | 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:46 | Araq_ | to prove X <= D you need to determine their live ranges via an abstract algebra |
16:41:54 | Araq_ | the meat of this proof engine is guards.nim, proc ple |
16:42:02 | Araq_ | ple = prove less or equal |
16:44:14 | Araq_ | 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:04 | AndChat254100 | Araq_ 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:43 | baabelfish | Is there a way to store type information inside a type? Like with "using" in c++? |
18:28:47 | baabelfish | Something equivalent to this: template<typename X, typename Y> struct Z { using Stored = std::tuple<X, Y>; } |
18:29:09 | Araq_ | 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:10 | baabelfish | Araq_: didn't know this was possible template foobar(x: typedesc): typedesc = seq[x]\ var x: foobar(string) |
19:11:13 | baabelfish | thanks |
19:15:42 | * | Kingsquee joined #nim |
19:30:19 | Araq_ | dom96: btw I remembered the major feature of 0.15 :P |
19:30:33 | Araq_ | generic multi methods should now be sane :D |
19:31:24 | dom96 | feel 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:53 | libman | o.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:06 | flyx | o.O now my eyes are hurting |
20:41:01 | flyx | some 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:21 | libman | Then make your own version. ;) |
20:44:38 | cheatfate | everybody waiting for 0.15.2 :) |
20:45:01 | flyx | do we already have that much problems in 0.15.0? |
20:45:41 | cheatfate | flyx, `.2` is always more stable then `.0` :) |
20:46:30 | flyx | ah yes, that was the reason why gcc starts new major releases at .2, wasn't it |
20:46:44 | Araq_ | libman: nice work |
20:48:57 | flyx | haha, I stand corrected, it was .1 |
20:48:59 | libman | flyx: 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:40 | baabelfish | https://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:56 | stisa | Araq_: looking at the new doc search, should module devs build `dochack` for modules outside stdlib, should `doc2` build it, or something else? |
20:55:46 | Araq_ | stisa: outside modules should have a modified nimdoc.cfg tweaking things and removing the search perhaps |
20:56:04 | flyx | just wondering, how is „nim“ styled (the text itself, not the crown)? some font? is there an svg of it |
21:01:02 | dom96 | https://github.com/nim-lang/assets |
21:04:22 | stisa | Araq_: 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:42 | baabelfish | Araq_: are you aware of the fixit feature in clang? |
21:15:17 | flyx | well, for the sake of being bored and having this crap code laying around anyway: https://flyx.org/files/nim.html |
21:21:34 | Araq_ | baabelfish: what does it do? |
21:25:49 | Araq_ | ah it's just some nice error message |
21:28:10 | baabelfish | Araq_: 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:18 | cheatfate | not 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) |