00:04:02 | * | Sentreen quit (Quit: WeeChat 1.4) |
00:05:49 | * | Sentreen joined #nim |
00:09:40 | * | vlad1777d quit (Ping timeout: 276 seconds) |
00:28:22 | * | rosshadden joined #nim |
00:47:59 | * | Serenit0r joined #nim |
00:51:27 | * | Serenitor quit (Ping timeout: 240 seconds) |
00:52:22 | * | ipjk quit (Read error: Connection reset by peer) |
00:52:29 | * | gangstacat quit (Quit: Ĝis!) |
00:54:33 | * | yglukhov joined #nim |
00:59:07 | * | yglukhov quit (Ping timeout: 260 seconds) |
01:12:44 | * | vivus joined #nim |
01:13:30 | * | yingjun_ joined #nim |
01:18:06 | * | gangstacat joined #nim |
01:25:13 | * | rosshadden quit (Quit: WeeChat 1.9) |
01:30:58 | * | jinshil joined #nim |
01:34:19 | * | chemist69 quit (Ping timeout: 255 seconds) |
01:44:21 | * | dankrad quit (Ping timeout: 240 seconds) |
01:46:35 | * | dankrad joined #nim |
01:48:07 | * | chemist69 joined #nim |
01:56:51 | * | cspar__ quit (Ping timeout: 240 seconds) |
02:12:39 | * | mwbrown_ joined #nim |
02:13:35 | * | mwbrown quit (Ping timeout: 240 seconds) |
02:13:35 | * | mwbrown_ is now known as mwbrown |
02:17:27 | * | cspar__ joined #nim |
02:26:51 | * | endragor joined #nim |
02:27:00 | * | endragor quit (Remote host closed the connection) |
02:27:27 | * | endragor joined #nim |
02:33:21 | * | yingjun_ quit (Remote host closed the connection) |
02:33:31 | * | yingjun joined #nim |
02:34:54 | * | yingjun quit (Remote host closed the connection) |
02:35:28 | * | yingjun joined #nim |
02:36:48 | * | yingjun quit (Remote host closed the connection) |
02:47:21 | * | yingjun joined #nim |
03:14:01 | * | mahtob quit (Remote host closed the connection) |
03:21:03 | * | yingjun quit (Remote host closed the connection) |
03:21:13 | * | yingjun joined #nim |
03:22:13 | * | yingjun quit (Remote host closed the connection) |
03:25:26 | * | yingjun joined #nim |
03:31:16 | * | pilne quit (Quit: Quitting!) |
04:01:33 | * | vivus quit (Quit: Leaving) |
04:27:30 | * | smeady_ joined #nim |
04:29:41 | * | smeady_ quit (Client Quit) |
04:53:02 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
04:56:19 | * | Serenit0r quit (Ping timeout: 276 seconds) |
05:03:22 | * | yingjun quit (Remote host closed the connection) |
05:03:32 | * | yingjun joined #nim |
05:04:55 | * | yingjun quit (Remote host closed the connection) |
05:09:44 | * | yingjun joined #nim |
05:21:15 | * | Vladar joined #nim |
05:28:13 | * | tankfeeder joined #nim |
05:31:45 | * | dankrad quit (Ping timeout: 248 seconds) |
05:33:28 | * | dankrad joined #nim |
05:46:33 | * | user0 quit (Remote host closed the connection) |
05:48:46 | * | user0 joined #nim |
05:54:48 | * | yingjun quit (Remote host closed the connection) |
05:54:58 | * | yingjun joined #nim |
05:56:20 | * | yingjun quit (Remote host closed the connection) |
05:56:30 | * | yingjun joined #nim |
06:00:22 | * | rauss quit (Quit: WeeChat 1.9) |
06:07:13 | * | yingjun quit (Remote host closed the connection) |
06:07:23 | * | yingjun joined #nim |
06:08:46 | * | yingjun quit (Remote host closed the connection) |
06:10:37 | * | yingjun_ joined #nim |
06:12:37 | * | nsf joined #nim |
06:17:36 | * | arnetheduck joined #nim |
06:27:41 | * | andrzejku joined #nim |
06:27:58 | FromGitter | <Araq> @zacharycarter tries the 'devel' branch of karax? |
06:36:30 | FromGitter | <zacharycarter> let me do that |
06:45:35 | * | vlad1777d joined #nim |
06:50:51 | * | Sentreen quit (Ping timeout: 240 seconds) |
07:03:02 | FromGitter | <zacharycarter> @Araq seems to blow up after : 43ee8903561b0d06adb26c1d88f6d8ecb4cd7929 |
07:03:45 | * | Sentreen joined #nim |
07:04:28 | Araq | then report it properly so that I can reproduce it |
07:04:46 | FromGitter | <zacharycarter> working on it |
07:04:47 | Araq | however, if you mess with the .dom field too much, karax may get out of sync |
07:05:25 | FromGitter | <zacharycarter> alright I'll try to figure out how to reproduce it today |
07:07:32 | Araq | thanks |
07:09:10 | FromGitter | <zacharycarter> np thanks for the help |
07:10:08 | user0 | Hi. I was wondering if there is any equivalent of ``chars() `` function in the standard library. For example, "おはよう".chars.nth(2) should provide 'よ' |
07:11:08 | FromGitter | <zacharycarter> stringval[2 |
07:11:09 | FromGitter | <zacharycarter> ] |
07:11:26 | FromGitter | <zacharycarter> sorry - stringval[2] |
07:14:14 | user0 | For some reason it's not printing 'よ', it's printing � |
07:15:25 | user0 | echo "おはよう"[2] |
07:16:54 | FromGitter | <zacharycarter> echo "abcdefg"[4] |
07:16:58 | FromGitter | <zacharycarter> works fine |
07:17:07 | FromGitter | <zacharycarter> I'm guessing it's the character encoding or something I have no clue really |
07:18:09 | user0 | Yes, unicode characters may contain weird code points |
07:22:44 | FromGitter | <zacharycarter> user0: |
07:22:49 | FromGitter | <zacharycarter> ```import unicode ⏎ ⏎ echo runeAtPos("おはよう", 2)``` [https://gitter.im/nim-lang/Nim?at=597994c9a7b406262d352a7d] |
07:22:58 | user0 | I got it "おはよう".toRunes[3] |
07:23:03 | FromGitter | <zacharycarter> or that |
07:27:12 | * | andrzejku quit (Quit: Textual IRC Client: www.textualapp.com) |
07:34:35 | * | dankrad quit (Ping timeout: 240 seconds) |
07:36:07 | * | yglukhov joined #nim |
07:36:38 | * | dankrad joined #nim |
07:48:15 | * | Arrrr joined #nim |
07:52:20 | * | Arrrr quit (Read error: Connection reset by peer) |
07:53:08 | * | Arrrr joined #nim |
07:53:12 | Arrrr | Error: system module needs 'copyString' |
07:53:18 | Arrrr | This happened to me when i enabled threads |
07:54:12 | * | Arrrr quit (Client Quit) |
07:55:47 | * | Arrrr joined #nim |
08:00:55 | * | Arrrr quit (Ping timeout: 276 seconds) |
08:08:38 | * | Andris_zbx joined #nim |
08:18:04 | * | yingjun_ quit (Remote host closed the connection) |
08:21:11 | * | yingjun_ joined #nim |
08:59:07 | * | jinshil quit (Quit: Good-bye!) |
09:07:08 | * | dankrad quit (Ping timeout: 240 seconds) |
09:09:32 | * | dankrad joined #nim |
09:17:59 | * | rokups joined #nim |
09:18:17 | * | Arrrr joined #nim |
09:21:22 | * | Zevv left #nim (#nim) |
09:53:28 | * | ShalokShalom joined #nim |
09:58:25 | * | dankrad quit (Ping timeout: 248 seconds) |
10:00:33 | * | dankrad joined #nim |
10:15:00 | * | Arrrr quit (Quit: Arrrr) |
10:15:29 | * | Arrrr joined #nim |
10:22:59 | * | Arrrr quit (Quit: Arrrr) |
10:23:24 | * | Arrrr joined #nim |
10:23:30 | * | dankrad quit (Ping timeout: 255 seconds) |
10:25:32 | * | dankrad joined #nim |
10:31:24 | FromGitter | <TiberiumN> ehm, is GC v2 useful at all? |
10:31:27 | FromGitter | <TiberiumN> it doesn't compile :) |
10:31:34 | FromGitter | <TiberiumN> lib\system\gc_common.nim(355, 1) Error: redefinition of 'prepareDealloc' |
10:45:57 | * | yingjun_ quit (Remote host closed the connection) |
10:47:19 | * | yingjun joined #nim |
10:47:52 | * | yingjun quit (Remote host closed the connection) |
10:51:44 | Arrrr | Either sleep or cpuTime is broken in linux https://glot.io/snippets/es4413j97b |
10:51:48 | Arrrr | Or i don't understand how it works |
10:55:35 | * | samuell joined #nim |
10:56:15 | * | PMunch joined #nim |
10:59:09 | Amun_Ra | what cpu time do you expect for sleeping? |
11:12:21 | Arrrr | After sleeping 1000ms i'd expect the result to be 1.0 |
11:12:28 | Arrrr | In windows that's how it works |
11:12:43 | Amun_Ra | when the process is sleeping it does not run |
11:12:49 | Amun_Ra | so it takes no cpu time |
11:13:17 | Amun_Ra | what I would expect from this code is a very small number |
11:13:43 | Arrrr | wtf, well how do you measure the time in a multiplatform way? epochTime? |
11:14:47 | Amun_Ra | cpu time? the same |
11:15:10 | Arrrr | For certain software you need to wait until x time has passed |
11:15:16 | Arrrr | Say, game loop |
11:15:19 | crem | What if code takes all time on multiple cores? Should cpu_time be more than 1 second per real second? |
11:16:00 | crem | Will wall time it's also not that easy! Does it go when computer is in low power mode? (sleep/hibernate). |
11:16:37 | Amun_Ra | usually you sleep for the given ammount of time or wait for an event |
11:16:44 | Amun_Ra | (I'm not a game dev, tho) |
11:17:24 | crem | What if computer goes to low power mode while sleeping? Should time still go? |
11:17:46 | Amun_Ra | ;> |
11:18:09 | crem | Actually both windows (starting from win vista) and linux system calls stop timer in that case, but most libraries do not. |
11:19:05 | crem | cpu times usually are needed for profiling rather than for something else. |
11:19:06 | Arrrr | I really want a way to count time with a good resolution. Didn't know cpuTime work that way for unix and new windowes |
11:21:32 | Amun_Ra | there is times (2) function in posix |
11:26:39 | * | PMunch quit (Quit: leaving) |
11:27:31 | FromGitter | <TiberiumN> well for example: unity3d uses gettimeofday on linux :) |
11:29:49 | * | krux02 joined #nim |
11:31:20 | FromGitter | <TiberiumN> because there's a simple .c speedhack for games which use "gettimeofday", including all unity3d games |
11:31:40 | FromGitter | <TiberiumN> https://gist.github.com/fujin/db74f71aa7b2a8a461cf |
11:33:02 | FromGitter | <zacharycarter> playground gist support is up |
11:33:03 | FromGitter | <zacharycarter> https://play.nim-lang.org?gist=5834e30096ddb8a805db615930226909 |
11:34:10 | * | yingjun joined #nim |
11:34:47 | crem | How did it happen that in the last link there's no slash after ".org"? |
11:34:50 | euantor | Use `clock_gettime(CLOCK_MONOTONIC, timespec)` on posix |
11:39:05 | euantor | https://play.nim-lang.org?gist=28e7059e34f2e12904fe619853e9d740 |
11:39:30 | euantor | That way it's wall time, not CPU time |
11:42:58 | FromGitter | <TiberiumN> yeah |
11:43:05 | FromGitter | <TiberiumN> but it's not portable |
11:44:14 | euantor | Should work on most posix systems. Windows has similar functions |
11:44:25 | FromGitter | <zacharycarter> sdl2 timer solves this |
11:44:28 | FromGitter | <zacharycarter> or something like it |
11:44:39 | FromGitter | <zacharycarter> glfw3 has a cross platform timer too |
11:45:40 | * | xet7 joined #nim |
11:49:05 | krux02 | best for timing stuff: http://ix.io/yIX |
11:49:55 | euantor | Yeah, PerformanceCounter is the way to go |
11:51:22 | krux02 | the performance counter is provided from SDL |
11:52:20 | euantor | Ah, I thought you meant Windows performance counters: https://msdn.microsoft.com/en-us/library/windows/desktop/aa373083(v=vs.85).aspx |
11:52:46 | euantor | Also just remembered that linux has a specific CLOCK_MONOTONIC_RAW clock that's not cross platform but that isn't affected by NTP |
11:52:54 | krux02 | well they are windows performance counters when compiled on windows ;) |
11:53:20 | krux02 | sdl is to provide cross platform API to performance counters |
11:55:32 | * | rokups quit (Quit: Connection closed for inactivity) |
12:01:27 | * | Arrrr quit (Quit: Arrrr) |
12:03:00 | * | Snircle joined #nim |
12:07:33 | FromGitter | <cyberlis> I have a question. I want run a thread with long calculation, but i don't want to use `threadpool`. How can i return a value from thread? |
12:07:58 | euantor | You could use a channel: https://nim-lang.org/docs/channels.html |
12:08:05 | FromGitter | <zacharycarter> https://nim-lang.org/docs/asyncdispatch.html |
12:08:06 | FromGitter | <zacharycarter> futures |
12:08:10 | FromGitter | <TiberiumN> async is one-threaded |
12:08:16 | FromGitter | <zacharycarter> oh whoops |
12:08:18 | FromGitter | <zacharycarter> that's right my bad |
12:08:23 | FromGitter | <TiberiumN> it's good for IO stuff |
12:08:25 | FromGitter | <TiberiumN> and network |
12:08:51 | FromGitter | <cyberlis> ok, i will look for channels |
12:08:57 | FromGitter | <TiberiumN> @cyberlis do you still visit Rubukkit ? :) |
12:10:24 | FromGitter | <cyberlis> @TiberiumN no. minecraft died when it was bought by microsoft |
12:11:09 | FromGitter | <TiberiumN> yeah, I agree :) |
12:11:39 | krux02 | minecraft died when it became über popular in 2010 |
12:11:57 | krux02 | yea I played minecraft before it became cool B-) |
12:14:07 | crem | Minecraft had very nice idea, but it felt that someone else could implement that idea nicer. I'm surprised there were no some more popular minecraft clone. |
12:30:23 | krux02 | well there were a lot of mincraft clones, and Minecraft itselt is a clone of Infiniminer |
12:30:55 | krux02 | but everybody who tried to do something similar got a lot of hate for cloning minecraft froth the very pround Minecraft Kids |
12:31:20 | krux02 | sorry i mean Kidz |
12:31:36 | FromGitter | <TiberiumN> lol I didn't knew |
12:32:53 | krux02 | it's sad I think |
12:33:48 | krux02 | but one thig minecraft is pretty good at. It is so much of an inferior game with very simple rules that is really inspired mods to fill the gap of missing content |
12:34:15 | krux02 | if mincraft would have a huge ton of content from the base game, I doubt that modding it would have gotten so popular |
12:34:33 | krux02 | even I did a mincraft clone in 2010 :P |
12:35:10 | krux02 | I did in in scala and thought I could rock it, but yea I failed |
12:35:14 | krux02 | I was not good enough |
12:35:20 | crem | I played minecraft ~20 hours and never used any mods. Except higher-res textures. |
12:35:44 | krux02 | I don't like higher-res textures, I think it makes the game more ugly |
12:36:32 | krux02 | I played Minecraft with my Girlfriend back then and she decorated the rooms and I went hunting :P |
12:36:49 | krux02 | good memories |
12:37:48 | crem | Yeah and also from one hand monsters kind of unneeded there, but if you switch them off the game becomes boring. |
12:38:36 | krux02 | I think the Monster types are ok, I hate the spawning behaviour |
12:39:07 | * | EastByte quit (Ping timeout: 276 seconds) |
12:39:37 | krux02 | it is "oh you forgot to not turn the light off in the basement: creeper blows your house away" |
12:39:40 | krux02 | silly concept |
12:40:35 | krux02 | crafting sword and armor with different materials reall is encouraging and motivates to try things out, but that system falls short for all recepies you can't guess |
12:41:00 | krux02 | so tha game was (they changed it now) always one window minecraft the other wiki |
12:41:06 | krux02 | not really immersive |
12:41:07 | krux02 | anyway |
12:41:22 | krux02 | if you want to clone the game, don't clone the crap |
12:42:56 | krux02 | Play Clonk and combine the good from clonk (elevators, electricity and mining based on blowing stuff up) with the good from minecraft (make buildings out of blocks) |
12:53:09 | * | EastByte joined #nim |
12:54:13 | * | dankrad quit (Ping timeout: 255 seconds) |
12:56:08 | * | dankrad joined #nim |
13:13:46 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
13:18:05 | * | rauss joined #nim |
13:19:19 | * | yingjun quit (Remote host closed the connection) |
13:25:03 | * | yingjun joined #nim |
13:47:15 | * | Snircle joined #nim |
13:48:18 | pydsigner | I'm experiencing deja vu because almost this exact conversation happened elsewhere yesterday >< |
13:53:20 | * | yingjun quit (Remote host closed the connection) |
13:54:39 | * | dankrad quit (Ping timeout: 258 seconds) |
13:56:16 | * | dankrad joined #nim |
14:07:06 | * | yingjun joined #nim |
14:19:23 | * | dom96|w joined #nim |
14:20:01 | * | vlad1777d quit (Quit: Leaving) |
14:20:40 | * | yingjun quit (Remote host closed the connection) |
14:22:10 | * | yingjun joined #nim |
14:22:27 | * | yingjun quit (Remote host closed the connection) |
14:27:14 | * | v17d joined #nim |
14:47:00 | crem | Why is there a graph on every language webpage (crystal, nim, go, you name it!), that shows how their language is the fastest? :) |
14:53:05 | federico3 | because someone is dishonest |
14:55:16 | * | Sentreen quit (Ping timeout: 255 seconds) |
14:56:24 | FromGitter | <zacharycarter> they're also probably all comparing different benchmarks |
15:00:40 | * | v17d quit (Ping timeout: 255 seconds) |
15:04:59 | * | PMunch joined #nim |
15:07:41 | FromGitter | <TiberiumN> lol, did crysal took some ideas from Nim? |
15:08:15 | * | Sentreen joined #nim |
15:09:57 | * | nsf quit (Quit: WeeChat 1.9) |
15:12:48 | * | v17d joined #nim |
15:22:58 | * | yingjun_ joined #nim |
15:27:12 | * | nhywyll joined #nim |
15:27:20 | * | yingjun_ quit (Ping timeout: 240 seconds) |
15:41:20 | FromGitter | <TiberiumN> lol, saving a picture of /r/place takes 12.8mb of ram and 3.4 seconds only ⏎ Code: https://gist.github.com/TiberiumN/e6ec6f6a865adc9ea7192b51ec8ccd51 |
15:42:29 | FromGitter | <TiberiumN> I'm using nigui for simplicity |
15:42:49 | FromGitter | <TiberiumN> thanks for nim iterators it doesn't take so much ram |
15:45:08 | FromGitter | <TiberiumN> also diffs.bin is not very efficient: for example, it uses 32-bit integers for color id (which can take 16 possible values from 0 to 15) |
15:45:23 | FromGitter | <TiberiumN> and x in y can be 16-bit integers (since they're only from 0 to 1000) :) |
15:49:22 | user0 | How can I create a lazy iterator? |
15:49:53 | FromGitter | <TiberiumN> maybe you can see it here? https://github.com/petermora/nimLazy |
15:50:29 | krux02 | user0: iterators are lazy aren't they? |
15:54:52 | PMunch | Isn't that the entire point of the iterators? |
15:55:39 | krux02 | nimLazy works more like haskell |
15:55:51 | krux02 | with all this lazy collections |
15:56:19 | krux02 | The nim way to do things is a bit different |
15:57:45 | krux02 | iterator concatenation(): int = for x in iterA(): yield x; for x in iterB(): yield x |
15:58:06 | FromGitter | <TiberiumN> ah, yeah, I know about this |
15:58:11 | FromGitter | <TiberiumN> I misunderstoof the question |
15:58:31 | user0 | I am making one that lazily iterates over characters in a string, like a lazy ``chars()`` |
15:58:31 | krux02 | one does not really need those infinite sequences |
15:58:45 | krux02 | ? |
15:59:04 | user0 | It's for learning purpose |
15:59:09 | krux02 | well ok |
15:59:57 | krux02 | whats wrong with `items("here are some chars")`? |
16:00:23 | FromGitter | <TiberiumN> you can iterate directly |
16:00:29 | FromGitter | <TiberiumN> without the need for "items" :) |
16:00:46 | FromGitter | <TiberiumN> for x in "hello world": echo x ⏎ like in python |
16:01:04 | * | Andris_zbx quit (Remote host closed the connection) |
16:01:40 | user0 | >items |
16:01:54 | user0 | hmm, didn't know about that, I'll look into it |
16:03:52 | * | dankrad quit (Ping timeout: 260 seconds) |
16:04:19 | * | PMunch quit (Quit: leaving) |
16:05:18 | * | ipjk joined #nim |
16:09:02 | * | spkpp joined #nim |
16:29:54 | * | Trustable joined #nim |
16:30:26 | krux02 | when iterating something the call to items is implicit |
16:30:31 | * | v17d quit (Ping timeout: 276 seconds) |
16:30:32 | krux02 | same with pairs |
16:36:20 | * | smt quit (Ping timeout: 240 seconds) |
16:41:57 | FromGitter | <TiberiumN> yeah I know |
16:42:41 | * | user0_ joined #nim |
16:42:57 | * | user0 quit (Ping timeout: 260 seconds) |
16:43:16 | * | itseris joined #nim |
16:44:50 | * | v17d joined #nim |
16:51:21 | * | yglukhov quit (Remote host closed the connection) |
16:51:37 | * | smt joined #nim |
16:55:45 | * | Matthias247 joined #nim |
17:05:26 | * | yglukhov joined #nim |
17:09:47 | * | yglukhov quit (Ping timeout: 260 seconds) |
17:24:48 | * | yingjun_ joined #nim |
17:27:50 | * | ketralnis quit (Quit: Coyote finally caught me) |
17:28:50 | * | yingjun_ quit (Ping timeout: 240 seconds) |
17:31:33 | * | dom96|w quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
17:32:05 | * | endragor quit (Remote host closed the connection) |
17:34:48 | * | endragor joined #nim |
17:35:15 | * | krux02 quit (Remote host closed the connection) |
17:36:06 | * | dom96|w joined #nim |
17:38:45 | FromGitter | <Varriount> krux02: My first experiences programming were helping extend a custom Minecraft server (back when Classic was the only thing available) |
17:39:32 | * | endragor quit (Ping timeout: 260 seconds) |
17:46:44 | * | samuell quit (Quit: Hejdå) |
17:47:07 | * | endragor joined #nim |
17:47:38 | * | yglukhov joined #nim |
17:48:17 | * | v17d quit (Ping timeout: 248 seconds) |
17:50:03 | * | v17d joined #nim |
17:50:10 | * | sz0 joined #nim |
17:51:20 | * | endragor quit (Ping timeout: 240 seconds) |
17:52:25 | * | yglukhov quit (Ping timeout: 276 seconds) |
17:54:42 | * | Trustable quit (Remote host closed the connection) |
17:54:45 | * | samuell_ joined #nim |
18:00:37 | * | samuell_ quit (Quit: Hejdå) |
18:03:05 | * | dom96|w quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
18:36:30 | * | arnetheduck quit (Read error: Connection reset by peer) |
18:37:42 | * | arnetheduck joined #nim |
18:46:26 | * | yglukhov joined #nim |
18:55:33 | * | yuken joined #nim |
18:55:36 | yuken | Time to install Nim ;o |
18:56:56 | FromGitter | <TiberiumN> yep |
18:57:04 | FromGitter | <TiberiumN> https://github.com/dom96/choosenim |
18:57:50 | yuken | > no 64-bit option for Windows |
18:57:56 | yuken | i'll just install it manually |
18:58:07 | FromGitter | <TiberiumN> well you will able to compile for 64bit anyway :) |
18:58:23 | FromGitter | <TiberiumN> because if nim compiler is 32bit it doesnt mean it can't compile 64bit apps |
19:00:01 | * | v17d quit (Ping timeout: 276 seconds) |
19:02:37 | yuken | oh ok |
19:02:40 | yuken | nimble isn't compiling |
19:02:54 | FromGitter | <TiberiumN> what's the error? |
19:03:27 | yuken | Execution of external program failed, gcc.exe - I've got that added to my path, though... |
19:03:59 | yuken | https://i.imgur.com/dbSsOaM.png |
19:04:14 | FromGitter | <TiberiumN> ah yes |
19:04:38 | FromGitter | <TiberiumN> probably because different architectures :) |
19:04:41 | FromGitter | <TiberiumN> scroll a bit up |
19:04:50 | FromGitter | <TiberiumN> you'll see thousands of errors |
19:05:02 | FromGitter | <TiberiumN> Nim and C compiler disagree on target architecture |
19:05:04 | yuken | yep, CreateProcess: NO such file or directory |
19:05:11 | yuken | odd thing is |
19:05:22 | yuken | I used both of these versions of Nim & the C compiler a few days ago to compile it and it ran fine. |
19:05:23 | yuken | both 64-bit. |
19:05:59 | * | dom96|w joined #nim |
19:06:21 | euantor | Do those files exist (the .o files)? |
19:06:25 | FromGitter | <TiberiumN> hmm, I don't know then. ⏎ I've used manual install both on windows and linux, and now I use choosenim (it has built-in mingw) |
19:06:37 | FromGitter | <TiberiumN> can you scroll up in this window? |
19:06:42 | FromGitter | <TiberiumN> it should show compiler errors |
19:07:28 | yuken | Bunch of this, https://i.imgur.com/X9SnEOY.png |
19:07:36 | yuken | Tried to clone it again, nothing. |
19:07:56 | yuken | None of the .o files exist in nimcache, it's all .c |
19:08:12 | FromGitter | <TiberiumN> probably you have ONLY gcc.exe in path? |
19:08:14 | FromGitter | <TiberiumN> no linker maybe? |
19:08:21 | yuken | Nope, got all of mingw64 there. |
19:09:15 | FromGitter | <TiberiumN> https://stackoverflow.com/questions/3848357/createprocess-no-such-file-or-directory |
19:09:35 | FromGitter | <TiberiumN> did you also add something like this? |
19:09:36 | FromGitter | <TiberiumN> According to Code::Blocks wiki, you need to add C:\MinGW\libexec\gcc\mingw32\MinGW-Version to your PATH. There is no need to restart, but you need to open another terminal in order to get the newest PATH settings. |
19:09:44 | FromGitter | <TiberiumN> ah you did |
19:09:52 | yuken | I did, yeah. |
19:10:02 | yuken | Added to path & restarted cmd. |
19:10:38 | yuken | Unless I have 2 instances of gcc somewhere in my path... one second |
19:10:50 | FromGitter | <TiberiumN> maybe you have win xp? |
19:10:55 | yuken | Nah, Win10. |
19:10:59 | FromGitter | <TiberiumN> ok :) |
19:12:37 | * | dom96|w quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
19:13:11 | yuken | Fixed it, I was missing some files somehow. |
19:13:17 | yuken | mainly DLLs for mingw64 |
19:19:24 | FromGitter | <TiberiumN> well, seems that mingw fails to tell that |
19:23:47 | * | krux02 joined #nim |
19:24:42 | FromGitter | <TiberiumN> dom96: about "meetups" section on this page: https://nim-lang.org/community.html ⏎ https://www.meetup.com/nim-lang/ seems to be dead |
19:25:02 | * | rauss quit (Quit: WeeChat 1.9) |
19:25:22 | federico3 | TiberiumN: despite the name, that meetup was in Paris only |
19:25:53 | FromGitter | <TiberiumN> there's https://www.meetup.com/The-Nim-Language-Meetup/ also |
19:26:17 | * | rauss joined #nim |
19:26:28 | * | yingjun joined #nim |
19:29:02 | * | rauss quit (Client Quit) |
19:29:12 | * | rauss joined #nim |
19:30:48 | * | yingjun quit (Ping timeout: 240 seconds) |
19:38:37 | federico3 | TiberiumN: and Nim Brazil as well |
19:39:30 | FromGitter | <TiberiumN> it works for me |
19:39:43 | FromGitter | <TiberiumN> https://www.meetup.com/pt-BR/nim-br/ |
19:40:05 | FromGitter | <TiberiumN> ah, you mean "dead" that there's no activity? |
19:40:06 | FromGitter | <TiberiumN> yeah |
19:47:11 | dom96 | TiberiumN: You should know what to do: create a PR on nim-lang/website |
19:47:43 | FromGitter | <TiberiumN> ok! |
19:48:16 | FromGitter | <TiberiumN> dom96: also, sorry for being annoying: is there any ETA for community survey? just very curious about the results |
19:48:33 | yuken | Does Nim have vectors built-in, or would I have to implement those? |
19:48:48 | FromGitter | <TiberiumN> you mean arrays? |
19:48:52 | FromGitter | <TiberiumN> ah |
19:48:53 | dom96 | TiberiumN: nope, no ETA right now, sorry. |
19:48:56 | FromGitter | <TiberiumN> yes it does |
19:49:01 | FromGitter | <TiberiumN> "basic2d" and "basic3d" |
19:49:11 | FromGitter | <TiberiumN> modules |
19:49:38 | yuken | Thanks, TiberiumN. |
19:53:51 | * | enthus1ast- joined #nim |
19:54:41 | FromGitter | <TiberiumN> dom96: https://github.com/nim-lang/website/pull/42 |
20:01:19 | * | nsf joined #nim |
20:04:20 | * | nhywyll quit (Ping timeout: 240 seconds) |
20:04:41 | * | Nobabs27 joined #nim |
20:08:00 | * | Nobabs27 quit (Client Quit) |
20:09:37 | * | vivus joined #nim |
20:14:51 | * | ipjk quit (Read error: Connection reset by peer) |
20:14:59 | * | ipjk joined #nim |
20:18:05 | * | v17d joined #nim |
20:18:17 | * | nhywyll joined #nim |
20:18:38 | krux02 | I also have open pull requests :) |
20:18:49 | krux02 | I would like to see them merged, they are for the language though |
20:19:04 | krux02 | it gives me the nice and warm feeling that my contribution is welcome in the language |
20:19:50 | FromGitter | <TiberiumN> this was a little reminder for araq and dom96 :) ? |
20:20:14 | krux02 | well yes, haven't seen them very active recently |
20:20:26 | krux02 | maybe vacation, or maybe a normal life, I don't know |
20:20:40 | krux02 | to your question for a vector library |
20:20:45 | krux02 | there is glm |
20:20:56 | krux02 | it's better than basic2D and basic3D |
20:21:04 | FromGitter | <TiberiumN> yeah I know |
20:21:18 | krux02 | and it is basically me who wrote it |
20:21:23 | FromGitter | <TiberiumN> basic3d library isn't looking very "nim-style" |
20:21:47 | krux02 | basic3D as also not very good if you actually know how 3D graphcis work |
20:21:55 | krux02 | it should be depricated in my opinion |
20:21:57 | Araq | basic3d is old, it needs at least to support generics |
20:21:58 | krux02 | it is misleading |
20:22:15 | Araq | krux02: I'm indeed on vacation. that said, your other PR is incomplete |
20:22:36 | Araq | I wanted you to also change the type conversion rules, no conversion from arrays to cstrings |
20:22:40 | krux02 | I have three and the one on size I do know it's incomplete |
20:22:59 | krux02 | and still you are online here on the chat :P |
20:23:06 | Araq | I merged the "remove immediate from stdlib" |
20:23:07 | krux02 | it was by the way just a guess |
20:23:15 | krux02 | I saw that |
20:23:25 | krux02 | thank you |
20:23:27 | Araq | the future has arrived, I got wifi here |
20:23:30 | * | rauss quit (Quit: WeeChat 1.9) |
20:23:35 | FromGitter | <TiberiumN> lol :) |
20:23:42 | krux02 | that one was the one that I put most "time" in |
20:23:45 | krux02 | very tedious |
20:23:52 | krux02 | haha |
20:25:45 | krux02 | https://github.com/nim-lang/Nim/pulls/krux02 |
20:27:50 | krux02 | Araq: I have equality check on NimSym, printable arrays, and a nim version of std::rotate that is now rotateLeft |
20:28:46 | krux02 | the rotate is a very old PR and I decided to give it a rewrite. It surely needs discussion, since it is an addition tothe standard library, but I think it wouldn't hurt to have it. |
20:32:44 | krux02 | I think the printable array is ready for pull |
20:33:36 | krux02 | and I think that echo($[1,2,3]) will be very conveniont for a lot of people. |
20:33:42 | * | v17d quit (Ping timeout: 268 seconds) |
20:35:28 | Araq | agreed. |
20:35:43 | Araq | btw did you try {.reorder: on.} with your code? |
20:35:58 | * | Vladar quit (Quit: Leaving) |
20:42:02 | FromGitter | <TiberiumN> hmm, I have one issue, but I can't reproduce it with small example ⏎ ⏎ I'll try a bit more, and if I couldn't do it - I'll point you to the code in my project (it's opensource anyway, but sadly comments are in russian) |
20:42:23 | krux02 | Araq: not yet, but when you say I should, I will try to break it :P |
20:43:51 | krux02 | hmm I am on development brach and nimsuggest tells me that it doesn't know the reorder pragma |
20:44:07 | FromGitter | <TiberiumN> you must use latest version of compiler? |
20:44:15 | FromGitter | <TiberiumN> i mean really really latest |
20:44:26 | FromGitter | <TiberiumN> https://github.com/nim-lang/Nim/commit/50f62ff44a4c448eceacd2d0f8b8fe8457a2e820 ⏎ like 2 days old |
20:45:01 | krux02 | ah I forgot to build the tools as well |
20:47:47 | krux02 | well since it's a reorder it can't resolve mutual recursion |
20:48:24 | FromGitter | <TiberiumN> well in my project if I change the position of {.reorder: on.} pragma - error disappears :) |
20:48:25 | FromGitter | <zacharycarter> o/ |
20:48:30 | FromGitter | <TiberiumN> maybe tomorrow I'll try harder to make a short reproduce script |
20:48:53 | FromGitter | <TiberiumN> because I don't want someone to try to read my code (with russian comments) xD |
20:51:08 | krux02 | also when I generate the procedures, reordering doesn't help, but that is not breaking |
20:51:38 | krux02 | I am still worried a bit that reording can obscure how the compiler works when the developer doesn't know about how the reordering takes place |
20:52:09 | FromGitter | <zacharycarter> yay I'm going to be giving a presentation on Nim at Carfax next week |
20:53:10 | FromGitter | <zacharycarter> any suggestions on topics I should cover? |
20:53:56 | krux02 | I have an invitation to foundation of digital games |
20:54:05 | krux02 | but I can't go, I don't go |
20:54:19 | krux02 | too expensive to travel |
20:55:04 | * | mahtob joined #nim |
20:56:08 | FromGitter | <zacharycarter> I need a title for the talk |
20:56:09 | FromGitter | <zacharycarter> I'm thinking |
20:57:50 | FromGitter | <zacharycarter> and I have no good ideas |
20:58:02 | FromGitter | <zacharycarter> maybe just Nim: The programming language you've been missing or something like that |
20:59:02 | krux02 | http://ix.io/yJR |
21:00:20 | krux02 | well when you want the people to get your attention then you have to convince them that their foundation they are stinding on is crap and that Nim is the Holy Grail that solves it all |
21:00:27 | krux02 | without insulting them |
21:00:36 | FromGitter | <TiberiumN> That's hard |
21:00:49 | krux02 | and it's a lie |
21:01:29 | krux02 | Nim has it's own problems and I am quite happy that not every newbie starts learning Nim |
21:01:44 | FromGitter | <zacharycarter> I don't want to convince anyone that Nim is the holy grail |
21:01:47 | FromGitter | <TiberiumN> But it's also dad that everyone starts insulting you if you say something about Nim (e.g. - new Nim release) |
21:01:48 | krux02 | JavaScript as a good shield that sucks up all the noobs :P |
21:01:52 | FromGitter | <TiberiumN> *sad |
21:02:03 | FromGitter | <zacharycarter> but I do think Nim is a great language that can save me / us at Carfax from JS |
21:02:21 | FromGitter | <zacharycarter> I'm just going to keep it short and sweet |
21:02:36 | FromGitter | <zacharycarter> An introduction to the Nim programming language |
21:02:37 | krux02 | Well I think there are small pieces missing in Nim to truly believe in it |
21:02:39 | krux02 | not a lot |
21:02:51 | krux02 | but I want to disable the GC once and for all |
21:03:03 | krux02 | and that requires that seq and string don't relie on it anymore |
21:03:33 | FromGitter | <zacharycarter> well Nim is also still being authored |
21:03:42 | krux02 | and then a working webassembly toolchain |
21:03:43 | FromGitter | <zacharycarter> and I think its direction is solid |
21:03:48 | krux02 | but that is optional to me |
21:03:52 | krux02 | it's just a nice to have |
21:04:24 | krux02 | well I hope that my nim-mode PR gets pulled soon |
21:04:39 | krux02 | I have improvement on my pile of improvement to Nim mode |
21:05:15 | krux02 | I don't like that for some reasons all tests fail |
21:05:51 | krux02 | I fell like because the tests fail the PR are not properly reviewed (no idea if it's true I don't get feedback), but the failing tests are not my fault |
21:06:00 | * | willprice joined #nim |
21:06:06 | FromGitter | <zacharycarter> okay so if I'm going to convince my audience that their way of coding sucks |
21:06:09 | krux02 | the tests fail in both nim-mode and in my Nim PR |
21:06:25 | krux02 | well not their way of coding |
21:06:30 | FromGitter | <zacharycarter> all I really have to do is bring up things like webpack, the ecosystem of react / vue / etc... |
21:06:46 | krux02 | tell them that their way of coding is great and that they can transfer it to Nim |
21:06:47 | * | salewski joined #nim |
21:06:48 | * | willprice quit (Remote host closed the connection) |
21:06:55 | krux02 | but their language sucks |
21:06:56 | * | willprice94 joined #nim |
21:07:15 | FromGitter | <zacharycarter> JavaScript does suck |
21:07:20 | FromGitter | <zacharycarter> and TypeScript / flow don't make it much better |
21:07:36 | FromGitter | <zacharycarter> and Java sucks too |
21:07:54 | krux02 | I have the Java virtual machine |
21:08:04 | FromGitter | <zacharycarter> I hope you mean hate |
21:08:06 | FromGitter | <zacharycarter> because I hate it too |
21:08:38 | salewski | PMunch, dom96: I have just uploaded oldgtk3 nimble package as advertized yesterday: |
21:08:40 | krux02 | forced bad memory layout, forced slow startup, very bad naming conventions, oh and class loaders, yay |
21:08:44 | salewski | https://github.com/StefanSalewski/oldgtk3 |
21:08:49 | krux02 | no I am happy to not do it anymore |
21:09:13 | FromGitter | <zacharycarter> krux02: did you see my new engine project? |
21:09:33 | FromGitter | <zacharycarter> https://github.com/zacharycarter/zengine |
21:09:36 | krux02 | well yes, I think so, but not the newest changes |
21:09:47 | salewski | And already published sucessful, so soon a "nimble install" should work. |
21:09:49 | FromGitter | <zacharycarter> I'm working on skeletal animation now |
21:10:07 | FromGitter | <zacharycarter> are you still working on your sandbox? |
21:10:25 | * | yglukhov quit (Remote host closed the connection) |
21:10:33 | salewski | Not much tested yet, but the files are very similar to the ngtk3 ones. |
21:11:11 | salewski | And of course the gintro package is more interesing... |
21:11:37 | salewski | Bye. Will do some more tests tomorrow. |
21:14:22 | krux02 | yes my sandbox in active, but I also worked on a lot of other things |
21:14:36 | krux02 | writing PR for Nim for example |
21:14:55 | krux02 | and improving the nim-mode for emacs |
21:15:21 | FromGitter | <zacharycarter> right |
21:15:28 | krux02 | @zacherycarter I saw in your engine you have primitives like draw cube, draw model |
21:15:39 | FromGitter | <zacharycarter> I do |
21:15:48 | krux02 | I explicity avoid these primitives, because I think that system doesn't scale very well |
21:16:23 | FromGitter | <zacharycarter> I plan to add a scene graph |
21:16:32 | FromGitter | <zacharycarter> but I also want to make it easy to prototype with |
21:16:41 | krux02 | yea, there are common problems with scene graphs |
21:17:06 | krux02 | a scene graph is a datastructure that has to fit every scenario and therefore it is doomed to fail |
21:17:12 | FromGitter | <zacharycarter> true |
21:17:16 | krux02 | it is like the DOM in javascript |
21:18:01 | krux02 | and when you add a scenegraph you are also just writing a game engine like there are already 100s out there |
21:18:15 | krux02 | you have to focus on the things that are different otherwise you are ending nowhere |
21:18:33 | krux02 | it doesn't matter how much your engine has as long as it has distinguishing features |
21:18:53 | krux02 | at least that is my perspective on it |
21:18:53 | * | salewski quit (Quit: WeeChat 1.4) |
21:19:15 | krux02 | I am always worried to get in the path of implementing everything engine X does well |
21:19:24 | krux02 | and then I will always be behind the technology |
21:19:26 | * | Sentreen quit (Ping timeout: 246 seconds) |
21:20:19 | Araq | wise words. |
21:21:00 | Araq | I would add: don't write engines, write games |
21:21:25 | FromGitter | <zacharycarter> I never have ideas for games |
21:21:37 | krux02 | well then you want my ideas book? |
21:21:49 | krux02 | I have more than I can implement |
21:21:52 | krux02 | most of them suck though |
21:22:02 | FromGitter | <zacharycarter> I'm okay at coming up with shitty ideas |
21:22:11 | FromGitter | <zacharycarter> it's good ideas that I'm not so great at producing |
21:23:08 | krux02 | well a good idea is defined mostly in doability |
21:23:41 | krux02 | therefore it should be planed to the end |
21:23:55 | krux02 | not everything, but for most of the things you should have ideas of how to do it |
21:24:05 | krux02 | and do it with abstract graphics |
21:24:15 | krux02 | I really like the concept of demake |
21:24:39 | krux02 | most of the demake games take a game and show how it could look 8-bit |
21:24:44 | krux02 | but I don't mean that |
21:24:56 | krux02 | I mean take a game that normally takes up hours to play |
21:25:08 | krux02 | and make a 5 minutes version out of it |
21:25:53 | krux02 | make empire earth and strip everything so that you can play it in 5 minutes |
21:26:07 | Araq | create a RTS inspired by Warcraft 1. |
21:26:43 | Araq | "why WC1?" I hear you asking. ok, here is why. |
21:27:52 | krux02 | WC1 is simple and actually can be implemented by a single person |
21:28:04 | Araq | in WC1 you cannot build your HQ near the gold mine, you only have one HQ and its position is fixed. that means you need to conquer more and more of the map to keep your workers safe which have to travel ever longer distances. |
21:28:40 | Araq | makes it a very interesting RTS design. ymmv. |
21:29:24 | krux02 | well the demons that you can summon from the mages are totally overpowered, I think most powerful unit in the game, but only cost mana |
21:29:28 | krux02 | but yea |
21:29:37 | krux02 | I think that is just a detail |
21:29:52 | krux02 | I think the most important part is to take an idea and strip it from unnecessary clutter |
21:30:15 | krux02 | most people I work with only attach unnessary ideas to a game and make the game in my opinion less good |
21:30:59 | krux02 | sorry not most people, but I had the experience |
21:31:10 | krux02 | less is more |
21:31:38 | FromGitter | <zacharycarter> Araq: any suggestions on topics I should cover in my talk? |
21:32:02 | krux02 | who is your audience? |
21:32:06 | krux02 | c++ developers |
21:32:11 | krux02 | javascript developers? |
21:32:23 | krux02 | python developers? |
21:32:26 | FromGitter | <zacharycarter> java script and Java developers |
21:32:38 | * | Sentreen joined #nim |
21:33:09 | krux02 | well generally speaking show them macros, for me personally the most important feature |
21:33:18 | FromGitter | <zacharycarter> okay |
21:33:23 | FromGitter | <zetashift> A bit about karax too? |
21:33:42 | krux02 | I don't know if you can convince a java(script) developer with low level access when they have to idea of how to benefit from it |
21:34:05 | FromGitter | <zacharycarter> I was going to show them https://play.nim-lang.org |
21:34:35 | FromGitter | <zacharycarter> my intro was going to be showing them that, showing them my game engine and then showing them an amazon lambda job running in Nim |
21:34:35 | krux02 | show them generics and how much they are like duck typing that is so important to people coming from dynamically typed languages |
21:34:52 | FromGitter | <zacharycarter> okay so macros generics gotcha |
21:35:20 | krux02 | I think it is important that you give them something familiar |
21:35:26 | krux02 | something they can relate with |
21:35:41 | FromGitter | <zacharycarter> the playground website they should be able to |
21:35:47 | krux02 | so that they see that they can feel comfortable in the Nim language |
21:35:51 | FromGitter | <zacharycarter> it's a simple web app and they're mostly going to be front end / back end developers |
21:35:53 | FromGitter | <zacharycarter> right |
21:36:00 | krux02 | and then show them how un unleach their chains |
21:36:23 | krux02 | I don't know about the state of nim to javascript compilation |
21:36:42 | krux02 | and when it sucks I don't know if you should show it |
21:37:09 | FromGitter | <zacharycarter> @zetashift the playground website was written with karax |
21:37:12 | krux02 | but one language for front/backend is something that will get people interested |
21:37:19 | FromGitter | <zacharycarter> yeah |
21:37:33 | FromGitter | <zacharycarter> I'll show them FFI too |
21:37:35 | FromGitter | <zacharycarter> with JS anyway |
21:37:43 | krux02 | it won't get them doing the change, for that the language needs to actually have benefits |
21:37:56 | * | nsf quit (Quit: WeeChat 1.9) |
21:38:13 | krux02 | yes show them a macro that does automatic json serialization |
21:38:24 | * | willprice joined #nim |
21:39:04 | krux02 | there is json serialization in the standard library, but I don't mean that, show them that they have full control over that |
21:39:37 | * | willprice quit (Max SendQ exceeded) |
21:39:53 | * | willprice94 quit (Read error: Connection reset by peer) |
21:40:06 | * | willprice joined #nim |
21:40:14 | FromGitter | <zacharycarter> looks like I have an hour so I should be able to do that |
21:40:55 | Araq | krux02: the JS codegen is almost on par with the C codegen, all things considered |
21:43:39 | krux02 | cool |
21:44:15 | krux02 | Araq: I have the code example thet breaks with reorder on: http://ix.io/yJS |
21:46:10 | krux02 | Araq: are there any compiler hoos that I can interface with macro functions? |
21:46:35 | krux02 | I am thinking about writing a macro that adds my own debug information |
21:49:09 | krux02 | hooks I mean not hoos |
21:49:12 | krux02 | http://ix.io/yJT |
21:49:22 | krux02 | that should not work |
21:52:03 | * | def-pri-pub joined #nim |
21:52:24 | def-pri-pub | Araq: have you looked at my proposal for fixing the `dlopen()` issue for Linux? |
21:53:27 | * | Nobabs27 joined #nim |
21:56:23 | Araq | def-pri-pub: there is a better fix |
21:57:01 | Araq | the config already contains: |
21:57:04 | Araq | @if freebsd or openbsd or netbsd: |
21:57:05 | Araq | gcc.options.linker = "-Wl,-rpath=.:/usr/local/lib:/usr/pkg/lib:/usr/X11R6/lib" |
21:57:05 | Araq | …. |
21:57:17 | Araq | we only need to extend it to linux |
21:59:54 | Araq | but I cannot test it. can you? |
22:00:04 | * | Matthias247 quit (Read error: Connection reset by peer) |
22:00:05 | def-pri-pub | Sure. Is there a branch out for that? |
22:01:26 | def-pri-pub | Wait, where would I find this config? |
22:01:34 | FromGitter | <zacharycarter> it's in the nim repo |
22:01:35 | Araq | add 'or linux' to nim.cfg |
22:02:00 | Araq | well actually, only |
22:02:17 | Araq | rpath=.:/usr/local/lib should be required for linux |
22:02:21 | Araq | but you get the idea |
22:02:35 | * | willprice quit (Ping timeout: 240 seconds) |
22:02:36 | FromGitter | <zacharycarter> https://github.com/nim-lang/Nim/blob/devel/config/nim.cfg |
22:03:49 | def-pri-pub | Yeah, that works. |
22:04:42 | FromGitter | <zacharycarter> def-pri-pub is this to get raylib working? |
22:05:09 | def-pri-pub | Yeah, dynamic linking on LInux. |
22:05:18 | FromGitter | <zacharycarter> gotcha |
22:05:28 | FromGitter | <zacharycarter> my engine is catching up :P |
22:07:01 | def-pri-pub | Araq: submitted a patch |
22:07:09 | FromGitter | <zacharycarter> not really raylib still has a ton of functionality mine doesn't |
22:07:33 | def-pri-pub | Eh, I'm still trying to sort of other things with Raylib. |
22:07:41 | def-pri-pub | Namely fixing up the build system. |
22:07:53 | def-pri-pub | All I wanted to do was write some Nim bindings... |
22:08:00 | FromGitter | <zacharycarter> lol |
22:08:30 | FromGitter | <zacharycarter> you could help me with zengine instead if you get bored |
22:08:51 | def-pri-pub | And now I'm fixing a build system, started a discussion on library names for GLFW, and submitted a patch to Nim... |
22:09:33 | def-pri-pub | I might want to. As nice as raylib seems, there are some problems that I am seeing with it. I want to see these bindings through, and help fixup the build system. One thing at a time. |
22:11:08 | yuken | Hm. |
22:11:31 | yuken | zacharycarter, the main reason i want to use Nim, or a programming language similar to it, is so that nothing is done in those... drag-n-drop systems you have in Unity, UE4, or Godot |
22:11:35 | yuken | think that makes sense? ;o |
22:12:28 | FromGitter | <zacharycarter> well maybe |
22:12:33 | FromGitter | <zacharycarter> but there are better options honestly |
22:12:51 | yuken | Well, go on if you have them. |
22:12:56 | yuken | I haven't started with Nim, so I'm open ears. |
22:13:09 | FromGitter | <zacharycarter> I'd say you use Nim if you want to use something niche / experimental and you want to build your own product not rely on a lot of other code |
22:13:25 | FromGitter | <zacharycarter> having said that Nim is terrific in terms of FFI |
22:13:30 | yuken | I just want something relatively simple, where I don't have to use UIs (or workarounds to avoid using the UIs) |
22:13:33 | FromGitter | <zacharycarter> so you can leverage existing code, but you must bind to it |
22:13:41 | yuken | I just like the workflow better. |
22:13:59 | FromGitter | <zacharycarter> libgdx is one option |
22:14:06 | FromGitter | <zacharycarter> haxe / that whole ecosystem is another |
22:14:08 | yuken | Oh, and |
22:14:15 | FromGitter | <zacharycarter> this is all game speak btw |
22:14:16 | yuken | preferably able to run in a web browser with HTML5/etc |
22:14:30 | FromGitter | <zacharycarter> maybe you might want to look at libgdx |
22:14:40 | yuken | LibGDX is... Java, correct? |
22:14:46 | FromGitter | <zacharycarter> right |
22:15:06 | ipjk | Haxe does that, just like Nim. It compiles, in a similar way. Both uses various compiler-backends. |
22:15:19 | yuken | Would I require 3rd party dependencies that I can't distribute in the binaries with that? |
22:15:20 | yuken | Like uh |
22:15:20 | yuken | java. |
22:15:40 | FromGitter | <zacharycarter> there are ways to bake those games with a distributable jvm |
22:15:42 | ipjk | That depends if you dynamicly or staticaly link it |
22:15:51 | FromGitter | <zacharycarter> but if you want to stay away from the JVM then haxe |
22:16:09 | FromGitter | <zacharycarter> there's actually an engine I've been following for a while written in haxe |
22:16:13 | yuken | I mean |
22:16:16 | yuken | I could go full JS/HTML5 |
22:16:19 | yuken | and publish with Electron. |
22:16:21 | FromGitter | <zacharycarter> http://snowkit.org/ |
22:16:34 | FromGitter | <zacharycarter> heh sounds like you want C/C++ or an alternative |
22:16:35 | yuken | oh god |
22:16:39 | FromGitter | <zacharycarter> then yes Nim is your best option |
22:16:39 | yuken | I hate those sites that don't work with Dark Reader |
22:16:42 | yuken | blinding white light. |
22:16:53 | yuken | zacharycarter, I don't care _what_ it is, so long as: |
22:17:14 | * | Nobabs27 quit (Quit: Leaving) |
22:17:16 | yuken | I can publish to multiplatform and HTML5 without restrictions, and I don't have to mess with a clunky UI or drag-n-drop stuff. |
22:17:46 | ipjk | yuken: Haxe enables those wishes |
22:17:46 | yuken | and preferably? Something relatively simple, though that isn't a requirement ;^) |
22:17:59 | FromGitter | <zacharycarter> there will always be restrictions when publishing to html |
22:18:09 | yuken | Well, restricitons as in |
22:18:11 | FromGitter | <zacharycarter> unless you want to write two separate code bases |
22:18:18 | yuken | the engine putting limits on whether you can do it or not without paying, having splash screens, etcv. |
22:18:28 | * | Nobabs27 joined #nim |
22:18:31 | FromGitter | <zacharycarter> do you mind emscripten? |
22:18:36 | yuken | Never used it. |
22:18:38 | FromGitter | <zacharycarter> or web assembly |
22:18:41 | FromGitter | <zacharycarter> so something like |
22:18:46 | yuken | Never used that either! :p |
22:18:52 | FromGitter | <zacharycarter> http://www.raylib.com/examples.html |
22:19:09 | yuken | zacharycarter, want to see a video of what I'm trying to achieve? |
22:19:11 | FromGitter | <TiberiumN> Well ue5 |
22:19:25 | FromGitter | <zacharycarter> should just use my engine and help me with it :P |
22:19:32 | FromGitter | <zacharycarter> sure yuken |
22:19:34 | yuken | maybe, maybe. |
22:19:34 | FromGitter | <TiberiumN> unreal engine 4 is fully free and open source |
22:20:01 | yuken | zacharycarter, here is an early, scrapped (too much regex) build of my game: https://www.youtube.com/watch?v=RJfnUScp7Yk |
22:20:08 | FromGitter | <TiberiumN> But yeah, I'm not a game developer |
22:20:10 | yuken | TiberiumN, my system has problems running UE4 Editor. |
22:20:14 | yuken | HD 5770 is too weak x-x |
22:21:03 | FromGitter | <zacharycarter> yeah I mean you could build something like that with sdl2 / Nim pretty easily |
22:21:25 | yuken | Problem with that engine is: |
22:21:27 | FromGitter | <zacharycarter> I remember speaking with you last week yuken and you showed me that vid |
22:21:33 | FromGitter | <zacharycarter> BYOND |
22:21:34 | yuken | Requires you to use their client, doesn't port to Linux/OS X, web client is shit, lots of minor issues |
22:21:36 | FromGitter | <zacharycarter> :) |
22:21:38 | yuken | yeah, BYOND. |
22:21:58 | FromGitter | <zacharycarter> BYOND is going to be a lot further than anything you'll encounter in Nim |
22:22:00 | yuken | Thankfully, BYOND didn't use some alien syntax, it's apparently pretty similar to C in some ways |
22:22:16 | FromGitter | <zacharycarter> in terms of features etc |
22:22:25 | FromGitter | <zetashift> GDNative(Godot bindings) bridge with Nim has also a release: https://github.com/pragmagic/godot-nim and I really liked nimgame2! |
22:22:26 | yuken | Well, built-in features, probably |
22:22:32 | yuken | it comes with networking, and is made for game dev |
22:22:37 | yuken | so it has a lot more game dev features built-in. |
22:22:59 | FromGitter | <zacharycarter> ugh godot |
22:23:09 | yuken | I was thinking of Godot, but that's just like Unity |
22:23:14 | yuken | gotta use nodes and drag crap around. |
22:23:30 | FromGitter | <zacharycarter> just use my engine :) and then help me build it |
22:23:38 | yuken | which engine? frag? |
22:23:43 | yuken | also |
22:23:44 | FromGitter | <zacharycarter> nah |
22:23:45 | FromGitter | <zacharycarter> done with frag |
22:23:51 | FromGitter | <zacharycarter> https://github.com/zacharycarter/zengine |
22:23:54 | yuken | compiling is a lot slower on my Pentium G3258 than my i5-3470 :(. |
22:23:59 | yuken | Even at 4.3GHz vs 3.2GHz |
22:24:09 | yuken | ah right, that kajigger |
22:24:19 | yuken | Would I be able to easily implement networking? If so, I'm in ;o |
22:24:43 | FromGitter | <zacharycarter> I'd have to pump out a networking library |
22:24:47 | FromGitter | <zacharycarter> or you would |
22:24:53 | FromGitter | <zacharycarter> or you'd have to write it all yourself |
22:25:34 | yuken | Also, how do object/class types work in Nim? In BYOND, I could just define something like... |
22:25:35 | yuken | https://gist.github.com/YukenK/f4b23de19d8800821fe10dc0207c5db4 |
22:25:36 | FromGitter | <zacharycarter> Nim has pretty good socket support |
22:25:43 | * | arnetheduck quit (Ping timeout: 255 seconds) |
22:25:57 | yuken | BYOND uses var and proc like Nim though, which surprised me lol |
22:26:10 | * | Nobabs27 quit (Quit: Leaving) |
22:26:58 | FromGitter | <zacharycarter> you can't do that in Nim |
22:27:16 | yuken | HOw would I do that, or something similar? |
22:28:43 | * | yingjun joined #nim |
22:28:48 | FromGitter | <zacharycarter> You'd do something like this ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=597a6920c101bc4e3ac82833] |
22:29:49 | * | Sentreen quit (Ping timeout: 255 seconds) |
22:30:00 | FromGitter | <zacharycarter> you also have generics at your disposal |
22:30:00 | yuken | Ah, that's rather simple. |
22:30:19 | FromGitter | <zacharycarter> so something like |
22:30:27 | yuken | so each "child" of that would just be a variable? |
22:31:03 | FromGitter | <zacharycarter> yes but you have to define them beforehand |
22:31:13 | yuken | Makes sense. |
22:31:24 | FromGitter | <zacharycarter> in other words you can't do this |
22:31:29 | yuken | BYOND is stupidly simple, so even some of the basic stuff in languages like this is a bit uh |
22:31:30 | yuken | new to me. |
22:31:48 | FromGitter | <zacharycarter> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=597a69d4614889d475f801ef] |
22:32:35 | yuken | zacharycarter, I don't fully understand that bit. |
22:32:50 | * | yingjun quit (Ping timeout: 240 seconds) |
22:33:16 | FromGitter | <zacharycarter> so I'm dynamically adding the type someOtherProp at runtime to the object Skill |
22:33:23 | FromGitter | <zacharycarter> it wasn't defined before the program ran |
22:33:28 | yuken | ah |
22:33:31 | yuken | can't do that in BYOND either. |
22:33:35 | FromGitter | <zacharycarter> that's not allowed |
22:33:44 | def-pri-pub | https://github.com/zacharycarter/zengine/blob/master/examples/src/zengine_examples/00_Initialization/main |
22:33:46 | yuken | So that's the same as BYOND then. |
22:33:52 | def-pri-pub | Putting an executable into git? |
22:33:54 | def-pri-pub | For shame. |
22:33:56 | yuken | Gotta have everything defined at runtime. |
22:34:12 | FromGitter | <zacharycarter> def-pri-pub: hahaha me so lazy |
22:34:35 | FromGitter | <zacharycarter> I'll remove it |
22:36:09 | FromGitter | <zacharycarter> fixed |
22:36:30 | yuken | zacharycarter, https://github.com/YukenK/HunterNin - dig around through the code to see how uh |
22:36:38 | yuken | dead simple BYOND is compared to other languages. |
22:38:50 | * | user0 joined #nim |
22:41:50 | * | enthus1a1t- joined #nim |
22:41:56 | * | Snircle quit (Excess Flood) |
22:41:57 | * | enthus1a1t joined #nim |
22:41:59 | FromGitter | <zacharycarter> it definitely looks high level |
22:41:59 | FromGitter | <zacharycarter> and almost geometric haha |
22:42:14 | * | acidx_ joined #nim |
22:42:49 | * | ftsf quit (Ping timeout: 577 seconds) |
22:42:50 | * | acidx quit (Remote host closed the connection) |
22:43:00 | * | Sentreen joined #nim |
22:43:01 | * | Snircle joined #nim |
22:43:13 | * | ftsf joined #nim |
22:43:27 | * | user0_ quit (Remote host closed the connection) |
22:44:17 | user0 | How would you break down a string into a seq[char] and then sort, and join it? like my_string.array.sort.join |
22:44:50 | * | mahtob quit (Ping timeout: 247 seconds) |
22:45:47 | * | mwbrown quit (Ping timeout: 269 seconds) |
22:46:05 | * | mwbrown joined #nim |
22:46:51 | * | enthus1ast quit (Ping timeout: 240 seconds) |
22:48:07 | * | enthus1ast- quit (Ping timeout: 260 seconds) |
22:55:02 | FromGitter | <TiberiumN> Well for converting a seq of chars to string you can also use cast |
22:55:22 | FromGitter | <TiberiumN> But I don't know if this is the best way |
23:11:09 | * | nhywyll quit (Quit: nhywyll) |
23:26:05 | * | ipjk quit (Quit: Leaving) |
23:38:00 | * | dankrad joined #nim |