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