00:00:44 | radsoc | I will benchmark this tomorrow |
00:02:18 | radsoc | my laptop makes too much noise at full speed and my wife is asleep... |
00:03:24 | Araq | lol alright |
00:04:06 | radsoc | btw good night |
00:04:13 | Araq | same here |
00:04:15 | Araq | good night |
00:04:47 | * | io2 quit (Ping timeout: 252 seconds) |
00:09:27 | * | radsoc quit (Ping timeout: 272 seconds) |
00:13:15 | * | brson quit (Ping timeout: 272 seconds) |
00:14:33 | * | brson joined #nimrod |
00:18:54 | * | dmac1 joined #nimrod |
00:27:22 | * | dmac1 quit (Ping timeout: 246 seconds) |
00:41:01 | * | ddl_smurf quit (Ping timeout: 246 seconds) |
00:50:54 | * | ddl_smurf joined #nimrod |
00:51:10 | * | shevy joined #nimrod |
00:56:46 | * | dmac left #nimrod (#nimrod) |
01:02:20 | * | dmac__ joined #nimrod |
01:02:36 | * | dmac__ quit (Client Quit) |
01:04:20 | * | dmac_ joined #nimrod |
01:06:47 | * | dmac_ quit (Client Quit) |
01:14:31 | * | BitPuffin joined #nimrod |
01:23:43 | * | dmac1 joined #nimrod |
01:28:15 | * | dmac1 quit (Ping timeout: 260 seconds) |
01:34:08 | * | dmac_ joined #nimrod |
01:39:09 | * | dmac_ quit (Quit: Leaving) |
01:48:29 | * | dmac joined #nimrod |
01:59:33 | * | ddl_smurf quit (Quit: ddl_smurf) |
02:12:01 | * | dmac2 joined #nimrod |
02:17:23 | BitPuffin | Demos: what was the math lib you were using in your engine again? |
02:20:28 | * | dmac2 quit (Quit: Leaving.) |
02:25:19 | * | dmac quit (Ping timeout: 246 seconds) |
02:27:49 | * | ryeguy joined #nimrod |
02:38:11 | * | ryeguy quit () |
02:40:21 | * | achim quit (Ping timeout: 276 seconds) |
02:41:01 | * | achim joined #nimrod |
02:47:18 | * | shevy quit (Remote host closed the connection) |
02:53:07 | Demos | Eigen |
02:53:12 | Demos | eigen.tuxfamily.org |
02:53:59 | Demos | it is quite good |
03:20:42 | * | dmac joined #nimrod |
03:25:15 | * | dmac quit (Ping timeout: 252 seconds) |
04:21:03 | * | dmac joined #nimrod |
04:25:36 | * | dmac quit (Ping timeout: 260 seconds) |
05:16:56 | * | vvbitt joined #nimrod |
05:20:20 | * | [1]Endy joined #nimrod |
05:21:22 | * | dmac joined #nimrod |
05:22:31 | * | vvbitt quit (Quit: Bye) |
05:23:46 | * | [2]Endy joined #nimrod |
05:25:42 | * | dmac quit (Ping timeout: 252 seconds) |
05:26:29 | * | [1]Endy quit (Ping timeout: 248 seconds) |
05:32:13 | * | brson quit (Quit: leaving) |
06:04:27 | * | [2]Endy quit (Ping timeout: 276 seconds) |
06:11:24 | * | q66 quit (Quit: Leaving) |
06:17:45 | * | Demos quit (Read error: Connection reset by peer) |
06:21:44 | * | dmac joined #nimrod |
06:26:55 | * | dmac quit (Ping timeout: 272 seconds) |
07:16:52 | * | dmac joined #nimrod |
07:20:16 | * | dmac quit (Client Quit) |
08:42:34 | * | dmac joined #nimrod |
08:47:05 | * | dmac quit (Ping timeout: 245 seconds) |
08:57:58 | * | radsoc joined #nimrod |
09:27:59 | * | io2 joined #nimrod |
09:43:08 | * | dmac joined #nimrod |
09:47:30 | * | dmac quit (Ping timeout: 252 seconds) |
10:33:37 | * | Mordecai joined #nimrod |
10:35:30 | * | psquid quit (Ping timeout: 276 seconds) |
10:43:17 | * | dmac joined #nimrod |
10:50:39 | * | dmac quit (Ping timeout: 272 seconds) |
11:07:45 | * | shodan45 quit (*.net *.split) |
11:07:49 | * | achim quit (*.net *.split) |
11:07:49 | * | pafmaf quit (*.net *.split) |
11:07:56 | * | eigenlicht quit (*.net *.split) |
11:07:57 | * | vbtt quit (*.net *.split) |
11:07:57 | * | athaudia quit (*.net *.split) |
11:07:57 | * | OrionPK quit (*.net *.split) |
11:07:57 | * | discoloda quit (*.net *.split) |
11:07:59 | * | hitesh quit (*.net *.split) |
11:08:02 | * | Raynes quit (*.net *.split) |
11:08:02 | * | zahary__ quit (*.net *.split) |
11:08:03 | * | BitPuffin quit (*.net *.split) |
11:08:05 | * | JStoker quit (*.net *.split) |
11:08:05 | * | Zuchto quit (*.net *.split) |
11:08:08 | * | wan quit (*.net *.split) |
11:08:14 | * | capisce quit (*.net *.split) |
11:08:15 | * | radsoc quit (*.net *.split) |
11:08:18 | * | vendethiel quit (*.net *.split) |
11:08:31 | * | pe7ed27 quit (*.net *.split) |
11:08:31 | * | Boscop quit (*.net *.split) |
11:08:32 | * | reactormonk quit (*.net *.split) |
11:08:33 | * | orbitz quit (*.net *.split) |
11:08:33 | * | mal`` quit (*.net *.split) |
11:08:34 | * | silven quit (*.net *.split) |
11:08:37 | * | XAMPP_ quit (*.net *.split) |
11:08:40 | * | krusipo_ quit (*.net *.split) |
11:08:42 | * | comex quit (*.net *.split) |
11:08:45 | * | EXetoC quit (*.net *.split) |
11:08:46 | * | io2 quit (*.net *.split) |
11:08:50 | * | alex_nx quit (*.net *.split) |
11:08:52 | * | zielmicha-cloud_ quit (*.net *.split) |
11:08:58 | * | tumak quit (*.net *.split) |
11:08:58 | * | bstrie quit (*.net *.split) |
11:09:01 | * | Trixar_za quit (*.net *.split) |
11:09:01 | * | rndbit quit (*.net *.split) |
11:09:01 | * | musicalchair quit (*.net *.split) |
11:09:08 | * | Roin quit (*.net *.split) |
11:09:09 | * | kristina quit (*.net *.split) |
11:09:11 | * | Amrykid quit (*.net *.split) |
11:09:12 | * | olahol_ quit (*.net *.split) |
11:09:12 | * | fowl quit (*.net *.split) |
11:09:13 | * | Araq quit (*.net *.split) |
11:09:13 | * | dom96 quit (*.net *.split) |
11:09:15 | * | darkf quit (*.net *.split) |
11:09:16 | * | Varriount quit (*.net *.split) |
11:09:16 | * | Icefoz_ quit (*.net *.split) |
11:09:17 | * | betawaffle quit (*.net *.split) |
11:09:19 | * | joelmo quit (*.net *.split) |
11:11:03 | * | shodan45_ joined #nimrod |
11:51:37 | * | dmac joined #nimrod |
11:51:37 | * | joelmo joined #nimrod |
11:51:37 | * | betawaffle joined #nimrod |
11:51:37 | * | Icefoz_ joined #nimrod |
11:51:37 | * | Varriount joined #nimrod |
11:51:37 | * | wan joined #nimrod |
11:51:37 | * | darkf joined #nimrod |
11:51:37 | * | io2 joined #nimrod |
11:51:37 | * | radsoc joined #nimrod |
11:51:37 | * | achim joined #nimrod |
11:51:37 | * | BitPuffin joined #nimrod |
11:51:37 | * | eigenlicht joined #nimrod |
11:51:37 | * | pafmaf joined #nimrod |
11:51:37 | * | pe7ed27 joined #nimrod |
11:51:37 | * | Boscop joined #nimrod |
11:51:37 | * | hitesh joined #nimrod |
11:51:37 | * | JStoker joined #nimrod |
11:51:37 | * | Zuchto joined #nimrod |
11:51:37 | * | vbtt joined #nimrod |
11:51:37 | * | athaudia joined #nimrod |
11:51:37 | * | OrionPK joined #nimrod |
11:51:37 | * | discoloda joined #nimrod |
11:51:37 | * | XAMPP_ joined #nimrod |
11:51:37 | * | vendethiel joined #nimrod |
11:51:37 | * | Amrykid joined #nimrod |
11:51:37 | * | reactormonk joined #nimrod |
11:51:37 | * | orbitz joined #nimrod |
11:51:37 | * | zahary__ joined #nimrod |
11:51:37 | * | Raynes joined #nimrod |
11:51:37 | * | mal`` joined #nimrod |
11:51:37 | * | silven joined #nimrod |
11:51:37 | * | olahol_ joined #nimrod |
11:51:37 | * | fowl joined #nimrod |
11:51:37 | * | capisce joined #nimrod |
11:51:37 | * | alex_nx joined #nimrod |
11:51:37 | * | tumak joined #nimrod |
11:51:37 | * | zielmicha-cloud_ joined #nimrod |
11:51:37 | * | bstrie joined #nimrod |
11:51:37 | * | Araq joined #nimrod |
11:51:37 | * | dom96 joined #nimrod |
11:51:37 | * | Roin joined #nimrod |
11:51:37 | * | kristina joined #nimrod |
11:51:37 | * | Trixar_za joined #nimrod |
11:51:37 | * | rndbit joined #nimrod |
11:51:37 | * | musicalchair joined #nimrod |
11:51:37 | * | krusipo_ joined #nimrod |
11:51:37 | * | comex joined #nimrod |
11:52:35 | * | dmac quit (Ping timeout: 245 seconds) |
11:54:52 | * | shodan45_ quit (Remote host closed the connection) |
11:56:20 | * | shodan45_ joined #nimrod |
12:09:38 | * | odc joined #nimrod |
12:17:35 | Araq | hi odc welcome |
12:18:07 | odc | Hello Araq, and thank you |
12:18:33 | odc | you're the creator of Nimrod right? |
12:19:21 | odc | or is it dom96? |
12:25:52 | Araq | no, it's me |
12:30:47 | Araq | bbl |
12:41:35 | dom96 | hey odc |
12:48:35 | * | dmac joined #nimrod |
12:49:27 | * | radsoc quit (Ping timeout: 272 seconds) |
12:52:11 | * | darkf quit (Quit: Leaving) |
12:53:16 | * | dmac quit (Ping timeout: 265 seconds) |
13:13:11 | * | [1]Endy joined #nimrod |
13:36:31 | * | girvo joined #nimrod |
13:36:58 | girvo | Hey all :) |
13:37:14 | dom96 | hey girvo |
13:38:07 | girvo | I showed Nimrod to a very good friend (and previous business partner) of mine that I'm working on a game with (early stages right now) -- he's amazed and super impressed |
13:38:17 | dom96 | Awesome :D |
13:39:40 | * | radsoc joined #nimrod |
13:41:01 | girvo | so, we're porting our engine (currently C/SDL based) over, and might even ditch Lua scripting for game logic. |
13:41:26 | Araq | use c2nim to port it |
13:43:10 | * | EXetoC joined #nimrod |
13:43:46 | girvo | Araq: that's exactly what we're doing :D |
13:48:09 | * | Varriount|Mobile joined #nimrod |
13:48:37 | Varriount|Mobile | Meep |
13:48:42 | * | dmac joined #nimrod |
13:48:46 | Araq | ho |
13:49:25 | girvo | Varriount: what mobile client? |
13:49:38 | Varriount|Mobile | AndroIRC |
13:50:38 | girvo | Nice :) |
13:50:52 | Varriount|Mobile | Though, I'm just waiting for the day that OrionPK releases IRC familiar in all it's glory |
13:53:19 | * | dmac quit (Ping timeout: 272 seconds) |
13:56:55 | radsoc | Hi Araq: I've done a little benchmark running multiple threads. But my threads are not only filling a CountTable, they are also reading a memory map file. So it's not a cpu-only task. Here are the results on my i7-4500U (2 physical cores and 4 logical cores) with a SATA SSD: |
13:57:04 | radsoc | 1 thread : 156330 ms |
13:57:10 | radsoc | 2 threads : 87583 ms |
13:57:17 | radsoc | 4 threads : 55051 ms |
13:57:23 | radsoc | 8 threads : 47511 ms |
13:57:29 | radsoc | 16 threads : 50121 ms |
14:10:13 | Araq | alright thanks |
14:23:19 | girvo | huh, funny bug in Aporia. Using `quit(1)' gives the proper return code in the shell, but Aporia's console says its exit code was 256 |
14:23:35 | girvo | when I change it to `quit(2)' it says the return code is 512... I see a pattern here ;) |
14:24:01 | dom96 | Yep. It's a known bug. |
14:24:05 | girvo | `> Process terminated with exit code 256' |
14:24:13 | dom96 | It needs to be fixed in the stdlib |
14:29:14 | girvo | okay cool |
14:29:55 | Araq | just fix it already |
14:30:09 | Araq | result = result shr 8 for the "system()" wrapper |
14:30:13 | Araq | says my todo |
14:32:09 | girvo | I'm taking a look at it now |
14:39:25 | * | EXetoC quit (Read error: Operation timed out) |
14:44:41 | * | EXetoC joined #nimrod |
14:49:09 | * | dmac joined #nimrod |
14:53:49 | * | dmac quit (Ping timeout: 252 seconds) |
14:57:56 | * | ddl_smurf joined #nimrod |
15:02:12 | girvo | silly question: I bootstrapped nimrod the other day as a clean install, i'm sure I don't have to go through that to recompile now, right? |
15:02:47 | Araq | no idea what you mean |
15:03:15 | Araq | "koch boot -d:release" recompiles the compiler |
15:03:32 | Araq | git pull origin master |
15:03:33 | girvo | yeah, cool |
15:03:37 | dom96 | You should clone the git repo and add bin/ to your PATH instead of installing it (through install.sh) |
15:03:39 | girvo | that's what I was checking |
15:03:47 | dom96 | (if that's what you mean) |
15:03:49 | girvo | and yep, thats what I've done already dom96 :) |
15:03:52 | dom96 | Good. |
15:03:59 | dom96 | Then just do what Araq says. |
15:04:14 | dom96 | If that doesn't work you may need to build from C sources and then bootstrap |
15:04:18 | girvo | I have this weird thing where I put everything in my home folder, rather than symlinking to /bin |
15:04:30 | dom96 | I do that too :P |
15:04:36 | Araq | same here lol |
15:04:47 | girvo | I think when you do heaps of development, its sort of neccesary haha |
15:05:27 | girvo | only issue i'm having, is that Linux Mint doesn't pull in $PATH from bashrc, and I cbf working out how to get it to lol |
15:05:47 | girvo | I only moved to Mint a few weeks ago. It's really nice on my netbook actually |
15:06:00 | fowl | symlink into ~/bin |
15:06:22 | Araq | my mint is so old it doesn't update itself anymore |
15:06:35 | girvo | fowl: yeah I figured that'd be what I'd have to do |
15:06:46 | girvo | fowl: cheers |
15:06:47 | Araq | but that happened with every linux I've ever used |
15:07:12 | fowl | even arch? |
15:07:23 | Araq | never used arch :P |
15:08:56 | Varriount|Mobile | Hm. Does using the implied "result" variable in a procedure offer any performance benefit? |
15:09:07 | Araq | yes it does |
15:09:10 | dom96 | I don't think Arch is for Araq. |
15:09:40 | Varriount|Mobile | Araq: Why? |
15:10:06 | Araq | Varriount|Mobile: it's called "named return value optimization" in C++ |
15:10:15 | Araq | we get it for free with "result" |
15:10:21 | dom96 | I can see him throwing his computer out the window when an Arch update breaks his GPU drivers and he can't even launch X. |
15:11:00 | EXetoC | maybe he means compared to using 'return', but that's just syntactic sugar involving result, right? |
15:11:11 | girvo | dom96: to be fair, I'd do the same. I've completely nerfed so many installs trying to use non-free drivers... |
15:11:34 | Varriount|Mobile | EXetoC: No, Ara |
15:11:45 | Varriount|Mobile | *Araq got it right |
15:12:41 | girvo | oh god a full clone from github is going sooooo slowly |
15:12:43 | fowl | dom96, everybody tells me that arch wont break your system unless you force install stuff |
15:12:50 | EXetoC | compared to what? it's being assigned to either way |
15:12:52 | girvo | 40kb/s on my 100Mb/s connection D: |
15:13:04 | dom96 | fowl: That's a load of bullshit. |
15:14:06 | girvo | oh, thats why. the git:// proto is dog slow. Https worked instantly. sigh |
15:14:16 | EXetoC | it'd be great if that was somehow true |
15:14:56 | EXetoC | 100% safe kernel upgrade ftw |
15:15:54 | dom96 | I've had many times where I updated X or my graphics driver and Cinnamon just refused to launch. |
15:16:45 | Varriount|Mobile | While you all fiddle with getting updates to work on your fancy Linux distros, I'll be over here, working with windows |
15:16:56 | Varriount|Mobile | :3 |
15:17:21 | fowl | enjoy windows 8 |
15:17:33 | Varriount|Mobile | I have windows 8 |
15:17:33 | girvo | lol. I'd rather get annoyed at X than die trying to get anything done on Windows ;) |
15:17:38 | dom96 | I never update Windows and it works fine, I also never paid for Windows :P |
15:17:54 | girvo | kidding, I like Windows 8, but I use *nix everything these days. iMac desktop, two Linux laptops |
15:18:37 | Varriount|Mobile | I'm just happy that 8.1 brought back unified search |
15:20:32 | dom96 | Araq's talk will be released tomorrow :D |
15:20:36 | EXetoC | girvo: the protocol is to blame? because I get about 1mb/s |
15:21:06 | * | [Pete_27] joined #nimrod |
15:21:11 | EXetoC | which is really far from my max speed, but a lot faster than 40kb/s |
15:21:46 | dom96 | hello [Pete_27] |
15:22:43 | girvo | EXetoC: That's the only thing I could find, running through HTTPS instead gave me 4mb/s :/ |
15:23:40 | girvo | EXetoC: its probably a weird thing because i'm in australia. a chatty protocol with more roundtrips than standard http would cause severe degradation, i reckon |
15:23:44 | dom96 | Damn. I am jealous of your internet. |
15:23:47 | girvo | EXetoC: or, i could be completely off base heh |
15:24:45 | * | pe7ed27 quit (Ping timeout: 276 seconds) |
15:27:55 | girvo | oh grr. I forked Nimrod, cloned to my comp, compiled koch using my already existing nimrod install |
15:28:11 | girvo | but now, `koch boot -d:release' errors out straight away |
15:28:58 | girvo | Error: unhandled exception: No such file or directory [EOS] |
15:30:18 | dom96 | stack trace? |
15:30:20 | girvo | I skipped the csources bootstrap, as I already have a nimrod install working fine, this is just my fork for bug fix testing |
15:30:48 | girvo | Traceback (most recent call last) |
15:30:53 | girvo | koch.nim(281) koch |
15:30:59 | girvo | koch.nim(142) boot |
15:31:00 | girvo | koch.nim(135) copyExe |
15:31:00 | girvo | os.nim(948) copyFile |
15:31:00 | girvo | os.nim(263) OSError |
15:31:00 | girvo | Error: unhandled exception: No such file or directory [EOS] |
15:31:06 | dom96 | Next time gist it please. |
15:31:16 | girvo | no problem |
15:31:40 | dom96 | I guess it looks in bin/ for the nimrod binary but since it's not there it fails |
15:31:57 | dom96 | just copy it in there. |
15:32:08 | girvo | huh, fair enough |
15:32:10 | girvo | i'll try |
15:32:50 | girvo | yep, that did it |
15:32:51 | girvo | cheers |
15:33:20 | * | EXetoC quit (Quit: WeeChat 0.4.2) |
15:33:24 | Araq | somebody else has had this problem so I think koch should be changed |
15:33:44 | dom96 | I think koch should give better errors |
15:33:58 | * | EXetoC joined #nimrod |
15:34:10 | dom96 | I guess it could look for Nimrod in the PATH too if it's not in bin/ |
15:34:35 | Araq | it does looks in path |
15:34:47 | Araq | but copyExe doesn't care |
15:35:10 | dom96 | well in that case it simply shouldn't crash |
15:38:42 | girvo | Is it because `if ExistsFile(dir / nimrod): return nimrod' returns just the nimrod executable, not the directory that $PATH says its in? Or am I reading that incorrectly |
15:39:27 | Araq | no, that's it |
15:42:36 | * | gradha joined #nimrod |
15:45:12 | Araq | bbl |
15:45:53 | girvo | whoah weird -- i made koch die out when it found nimrod in a $PATH -- but it found my nimrod in /sbin when its actually not there :/ |
15:47:25 | girvo | and because it's the first folder in my $PATH, I'm wondering whether that check is doing the right thing... |
15:49:26 | * | dmac joined #nimrod |
15:53:52 | * | dmac quit (Ping timeout: 245 seconds) |
15:58:17 | girvo | alright, so the fix is as simple as chaging `return nimrod' to `return dir / nimrod' :/ heh |
15:59:12 | * | Varriount|Mobile quit (Ping timeout: 276 seconds) |
16:06:02 | girvo | grrrr. trying to fix this tiny little bug is driving me nuts |
16:06:17 | girvo | proc execCmd(command: string): int = |
16:06:17 | girvo | result = csystem(command) |
16:06:46 | girvo | so, I change to result = csystem(command) shr 8 -- then recompile, then compile my test with my recompiled nimrod |
16:06:55 | girvo | and still get the same damned return code... |
16:08:45 | girvo | oh crap. |
16:08:48 | girvo | I think i know why |
16:09:29 | girvo | nope. |
16:09:38 | * | Varriount-Mobile joined #nimrod |
16:14:32 | girvo | This is going to sound stupid, but I'm still not well versed in the syntax yet |
16:14:40 | girvo | but can someone explain this line to me: "proc csystem(cmd: cstring): cint {.nodecl, importc: "system".}" |
16:15:01 | * | Varriount-Mobile quit (Ping timeout: 248 seconds) |
16:15:10 | gradha | the importc pragma means the csystem symbol will call that C function |
16:15:26 | gradha | IIRC nodecl is to avoid generating a body for the proc |
16:15:37 | gradha | the cint/cstring are C types |
16:16:01 | gradha | the renaming of system to csystem is to avoid a symbol clash with the system module |
16:16:35 | girvo | okay, makes sense. is it possible to capture the return value and modify it before it's passed along to the functions that call csystem? |
16:17:11 | gradha | sure, just rename csystem to ccsystem (combo breaker!) and reimplement csystem to call ccsystem and do your stuff |
16:17:20 | girvo | proc csystem(cmd: cstring): cint {.nodecl, importc: "system".} = |
16:17:20 | girvo | result = result shr 8 |
16:17:47 | girvo | wait no that doesnt work either, sigh |
16:17:54 | dom96 | how are you testing it? |
16:18:05 | gradha | you either imporc or implement yourself the body of the proc |
16:18:21 | dom96 | but no, that won't work |
16:18:26 | girvo | I have a returnTest.nim file that shoots out a csystem call to an external C program I wrote that just returns 1 |
16:18:44 | dom96 | proc csystemEx(cmd: cstring): cint {.nodecl, importc: "system".} = |
16:18:55 | dom96 | proc csystem(cmd: cstring): cint = csystemEx(cmd) shr 8 |
16:19:28 | girvo | heh, I was hoping there would be a less ugly way of doing it, but ah well |
16:22:01 | * | q66 joined #nimrod |
16:23:59 | girvo | do many things call csystem(command) for executing things, or just internal functions (execCmd && execShellCmd) |
16:25:58 | dom96 | grep for it and see |
16:26:03 | dom96 | I don't think it's used much |
16:26:16 | EXetoC | 6 times |
16:26:35 | EXetoC | *1 |
16:27:30 | girvo | I've actually only found it twice! |
16:27:53 | girvo | I meant extern programs/libraries. Basically, whether its worth fixing it at the csystem level, or the caller level |
16:28:22 | dom96 | csystem isn't even exported |
16:31:11 | girvo | oh right, well I must be doing something really stupid then |
16:31:15 | girvo | lol |
16:31:58 | girvo | if it's not exported, should it be stopping me from calling it, or is it a convention thing? |
16:33:35 | EXetoC | making a C lib? |
16:33:39 | dom96 | it's probably in a when defined(posix) block |
16:33:44 | dom96 | so it's posix specific |
16:34:54 | dom96 | hence not exported |
16:38:25 | girvo | dom96: Ez pz. I went down a rabbit hole. Just added 'shr 8' to the results of the two places that call csystem, so it's all good now as far as I can tell :) |
16:48:47 | girvo | alright, its getting late (2:50am), and I fixed my two tiny bugs, heh. Time for bed, catch you all tomorrow |
16:48:58 | gradha | good night |
16:49:05 | girvo | thanks for the help, playing around in the internals has made everything make a lot more sense. cheers |
16:49:49 | * | dmac joined #nimrod |
16:50:15 | * | girvo quit (Quit: Leaving) |
16:54:18 | * | dmac quit (Ping timeout: 252 seconds) |
16:56:01 | * | dmac joined #nimrod |
16:59:52 | * | achim quit (Quit: Computer has gone to sleep.) |
17:03:00 | * | achim joined #nimrod |
17:06:57 | radsoc | |
17:07:41 | * | dmac quit (Quit: Leaving.) |
17:12:01 | * | Varriount-Mobile joined #nimrod |
17:14:43 | * | Varriount-Mobile quit (Client Quit) |
17:31:27 | * | filwit joined #nimrod |
17:43:35 | * | Mordecai quit (Ping timeout: 272 seconds) |
17:45:17 | * | Varriount|Mobile joined #nimrod |
17:45:35 | discoloda | fg |
17:46:29 | Varriount|Mobile | So, Araq, what are the plans on the future arrangement of the repository branches? |
17:49:35 | * | psquid joined #nimrod |
17:54:41 | * | aftersha_ joined #nimrod |
17:54:55 | * | aftersha_ quit (Client Quit) |
17:55:17 | * | aftersha_ joined #nimrod |
17:58:53 | Varriount|Mobile | Hi psquid |
17:59:14 | psquid | Ahoy hoy. |
18:03:35 | Varriount|Mobile | psquid, what editor do you use with Nimrod? |
18:03:49 | psquid | Mostly vim. |
18:05:38 | Araq | Varriount|Mobile: master gets renamed to "stable", "devel" stays permanent |
18:07:01 | Araq | damn this cool highlighting of identifiers in aporia makes me pick longer names |
18:07:21 | Varriount|Mobile | Screenshot? |
18:07:45 | Araq | sorry, no time |
18:08:00 | * | dmac joined #nimrod |
18:12:12 | * | dmac quit (Ping timeout: 245 seconds) |
18:27:20 | * | Varriount|Mobile quit (Remote host closed the connection) |
18:38:27 | * | achim quit (Quit: Computer has gone to sleep.) |
18:51:18 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
18:52:19 | EXetoC | is it different from other editors or did you just happen to pick a good theme? :p |
18:52:44 | Araq | it's different from notepad :P |
18:53:29 | * | achim joined #nimrod |
18:58:34 | radsoc | Varriount|Mobile: you didn't ask me but I'm very happy with your sublime plugin |
18:58:49 | EXetoC | You use notepad from time to time? I feel for you then, I really do :-p |
18:58:53 | EXetoC | l8r m8s |
18:59:03 | Varriount | radsoc: Thanks |
18:59:14 | Varriount | radsoc: Wait, which plugin? |
18:59:34 | Araq | EXetoC: no, I never use notepad |
18:59:38 | Varriount | radsoc: There are two plugins, one that is actively maintained, and one that is not. |
19:00:00 | Araq | however I did use an older version of aporia lacking this feature |
19:00:07 | EXetoC | oh ok |
19:00:22 | radsoc | Varriount|Mobile: I use the package manager |
19:00:34 | Varriount | radsoc: Then you don't have ours. |
19:01:10 | Varriount | radsoc: https://github.com/Varriount/Nimrod-Sublime |
19:01:20 | radsoc | ooops sorry I'll try yours |
19:02:50 | radsoc | I bet it's way better! |
19:03:17 | Varriount | radsoc: Well, if nothing else, the syntax highlighting is a bit more complete |
19:03:35 | Varriount | It's supposed to have definition lookup features, but atm they are a bit buggy |
19:04:09 | EXetoC | dom96: is adding keyboard shortcuts and/or text manipulation features to Aporia trivial? that part of the interface is very minimal atm, so it'd be fun to experiment with |
19:04:11 | radsoc | Varriount|Mobile: yes, I guess pointer is known as a keyword |
19:04:31 | Varriount | I recently included a document-comment extender, and am working on a checker command that uses 'nimrod check' to find errors in a file. |
19:05:19 | * | psquid quit (Quit: WeeChat 0.4.2) |
19:06:06 | Varriount | radsoc: The most annoying thing about adding a new language to sublime text, especially one as syntactically flexible as nimrod is, is getting the .tmLanguage file patterns right. |
19:06:25 | filwit | ^ yes |
19:06:42 | Varriount | Oh hi filwit, I didn't see you there. |
19:06:58 | filwit | i have been trying to iron out all the kinks of my regex pattern matching stuff for awhile now |
19:07:02 | filwit | hi Varriount |
19:07:12 | filwit | i signed in awhile ago, but mostly to ask #sdl something |
19:07:53 | dom96 | EXetoC: not really. Depends how fluent you are with GTK |
19:07:54 | Varriount | Regex is all well and good for simple parsing, like keyword highlighting, but... |
19:08:08 | * | psquid joined #nimrod |
19:08:10 | Varriount | there's a reason language parsers aren't written in it. |
19:09:12 | filwit | well i've come really close to being able to make Kate (and then Aporia) highlight some nimrod-specific calling conventions |
19:09:51 | filwit | for instance, macros/templates which accept stmt bodies always apear like "themacro a, b, c:" |
19:10:25 | filwit | so you make it looks like the if/else/etc blocks, and it comes out looking very clean |
19:10:52 | dom96 | So you highlight 'themacro' as a keyword? |
19:11:13 | filwit | but there are some edge cases which break that (like the if/else/etc cases themselves, which follow the similar syntactical pattern) |
19:11:39 | filwit | dom96: yes, but there's also a distinction between var/proc/type and if/when/else/etc |
19:12:00 | filwit | so you highlight the macros like the if/else/etc and everything fits in nicely |
19:12:25 | Araq | sounds like me you're trying to get semantic highlighting without a proper parser |
19:12:31 | Araq | which is doomed |
19:12:58 | Varriount | Araq: Tell that to IDE/Text Editor designers |
19:13:35 | Varriount | Although, how would one design a easily pluggable, generic language highlighter/parser? |
19:13:35 | filwit | well i thought thought the same thing too, but i'm actually very close to having everything worked out |
19:14:10 | Araq | Varriount: by allowing the plugins to be written in nimrod, of course :P |
19:14:12 | filwit | in fact, i think the Aporia version might work (i'm having problems with the ordering in Kate for some reason, but it would be complete if not for that) |
19:16:03 | dom96 | That is why it would be nice to get the nimrod parser exposed so that Aporia can parse files and semantically highlight them that way |
19:16:38 | filwit | yeah, ultimately that's the only true solution |
19:17:03 | Araq | dom96: the parser is easily imported from compiler already |
19:17:19 | filwit | it would be great to always highlight const one color, and procs another, especially when case sensitivity isn't part of the picture |
19:18:03 | Araq | it becomes part of the picture though, so you can try to encode 14 different entities via case |
19:19:08 | Araq | good luck with that :P |
19:19:19 | Araq | (template are LIkeThiS ...) |
19:19:53 | Araq | more seriously though, that doesn't require a parser |
19:19:59 | Araq | but the full compiler |
19:20:00 | filwit | well i actually like the case insensitivity, but often you only need to distinguish between two similar (glob/non-glob priv/pub, etc) things, so Case becomes a relevant part of parsing |
19:20:26 | Araq | so that you know what's invoked |
19:20:40 | filwit | yes |
19:20:56 | Araq | filwit: the compiler will enforce the convention though because I can't see it working otherwise |
19:22:13 | Araq | otherwise we'll simply get C's mess with TYPES, type_t, Types etc. |
19:22:13 | filwit | i'm not sure what you're talking about exactly right now, Araq. I wasn't arguing for or against anything really, just saying the feature of an IDE to distinguish between them automatically with color hints would be nice |
19:22:27 | filwit | i have a question about that though |
19:22:32 | Araq | filwit: I'm not arguing |
19:22:36 | Araq | just sayin' |
19:22:54 | Araq | and yeah it doesn't have anything to do with what you say :-) |
19:23:12 | filwit | okay, i see i see |
19:23:33 | filwit | so right now, you can use Nimrod's parse as a lib? |
19:23:49 | filwit | is that the parseutils one? |
19:23:52 | Araq | import compiler/ast, compiler/parser |
19:24:13 | filwit | what kind of interfaces do those give you? |
19:24:20 | filwit | ones that generage AST? |
19:24:24 | Araq | yes |
19:24:32 | filwit | awesome |
19:24:36 | Araq | you need to read the source though |
19:25:00 | filwit | i'm guessing you didn't write many comments? |
19:25:02 | filwit | :P |
19:25:17 | filwit | that's fine though, i didn't realize that was possible |
19:25:56 | filwit | so basically i can use all the abilities of the macros lib + the compile/ast|parser to read nimrod files and understand the fully code structure? |
19:26:27 | filwit | or at least mostly understand the structure |
19:26:39 | Araq | sure thing and the interface will only get better |
19:26:44 | filwit | in the sense that it could be useful for syntax-highlighting |
19:26:56 | filwit | awesome |
19:27:03 | Araq | as I'll expose the vm too |
19:27:15 | filwit | the VM is the macro engine? |
19:27:19 | Araq | yes |
19:27:30 | filwit | i heard you where writing a new one |
19:27:39 | filwit | just a different design? |
19:27:45 | filwit | or is there something new about it? |
19:27:59 | filwit | just wondering :) |
19:29:30 | Araq | well it's pretty much finished, still breaks some tests though, in particular the unittest module |
19:30:11 | Araq | it's a completely new design which fixes some bugs and runs much faster |
19:31:08 | filwit | that's good |
19:31:47 | filwit | I haven't noticed any huge slowdown using macros a lot, but I'm sure after awhile they might add to compile times |
19:38:23 | * | dmac joined #nimrod |
19:39:16 | Araq | well, eval "scripting code here" surely is handy for a game engine, right? |
19:40:01 | dom96 | Yes, and so many other things. |
19:40:55 | filwit | yeah that's definitely useful |
19:43:03 | * | dmac quit (Ping timeout: 260 seconds) |
19:49:18 | Varriount | Araq: will there be a way for the VM to use cimported stuff? Possibly through a dll or pregenerated info used by the compiler? |
19:50:32 | Araq | yup and it already works for primitive tests |
19:51:15 | Varriount | Araq: It warms my heart to hear such things. |
19:51:38 | dom96 | try-nimrod.org here we come. |
19:51:46 | dom96 | :P |
19:52:13 | Varriount | dom96: ? |
19:52:26 | Varriount | Oh, I see. |
19:52:40 | dom96 | Ever used http://tryhaskell.org/? |
19:53:12 | Varriount | dom96: That can already be done. Just create a site that takes user input, runs it through a nimrod compiler, and returns the output. |
19:53:47 | dom96 | It's easier with a proper REPL |
19:55:40 | OrionPK | varriount was going to add repl support into the sublime plugin |
19:55:41 | filwit | that's how the D one works |
19:55:52 | Varriount | OrionPK: No I wasn't, you were. |
19:55:56 | OrionPK | :D |
19:56:07 | OrionPK | I tried briefly actually, it wasnt working for some reason |
19:56:09 | Varriount | I was going to add checking and formatting |
19:56:35 | OrionPK | basically i got it to launch nimrod, but it doesnt see any output from it |
19:58:10 | Varriount | OrionPK: Looking up symbols and such still causes sublime text to crash. |
19:58:33 | OrionPK | guess u should look into that first |
19:58:34 | OrionPK | afk |
20:15:26 | * | filwit quit (Quit: Leaving) |
20:23:56 | gradha | Araq: did you work on the bitbucket slides? I can take a look at finishing them |
20:24:20 | Araq | gradha: no ... didn't work on them |
20:24:36 | gradha | missing was smaller fonts to fit on pages and colors? |
20:24:45 | Araq | yes |
20:24:55 | Araq | the introduction slide was also off |
20:38:37 | * | dmac joined #nimrod |
20:39:17 | Araq | gradha: "nimrod doc2 lib/pure/actors.nim" fails for me, how come it works for you? |
20:39:45 | Araq | (well now it works, cause I fixed the bug, but you get the idea) |
20:40:41 | NimBot | Araq/Nimrod master bf64285 Dominik Picheta [+0 ±2 -0]: Add info about twitter and bootstrapping from github to website. |
20:40:43 | gradha | works for me on master |
20:41:01 | Araq | ah I see |
20:41:08 | Araq | it's the changes to atomics.nim |
20:41:17 | Araq | which are likely disabled on mac |
20:42:20 | NimBot | nimrod-code/csources master 38a298d Dominik Picheta [+2158 ±3 -2690]: Rebuilt from bf64285598d232 (Araq/Nimrod). |
20:42:30 | * | [1]Endy quit (Ping timeout: 245 seconds) |
20:42:46 | dom96 | hrm |
20:43:01 | dom96 | Did I miss some platforms? |
20:43:02 | * | dmac quit (Ping timeout: 245 seconds) |
20:43:22 | Araq | well nimbuild ain't happy |
20:44:02 | dom96 | That's likely because it's trying to use the devel version of the compiler on master. |
20:44:30 | Araq | devel should be able to bootstrap master though |
20:45:01 | dom96 | with a stdlib @ master? |
20:45:18 | Araq | dunno lol |
20:45:53 | dom96 | Yeah, exactly. |
20:46:00 | dom96 | We need to nail this corruption ASAP. |
20:46:11 | Araq | no, we need a workaround |
20:46:13 | dom96 | I can't fix any builder issues until that is fixed. |
20:46:19 | Araq | yes you can |
20:46:34 | dom96 | As soon as I recompile ppc64 it'll start crashing |
20:46:34 | Araq | try with --gc:boehm|markAndSweep |
20:46:52 | Araq | I looked into the corruption and I am out of ideas |
20:47:01 | Araq | completely out of ideas |
20:47:11 | EXetoC | dom96: how would one look up the AST type and the buffer bounds of the current cursor position in Aporia? I did a little bit of grepping but couldn't find anything of relevance |
20:47:11 | dom96 | how can that be? |
20:47:29 | dom96 | EXetoC: AST type? |
20:47:43 | dom96 | Aporia doesn't have that info. |
20:48:51 | dom96 | Araq: which is then, boehm or m&s? |
20:49:01 | Araq | try both, make it work |
20:49:02 | dom96 | *is it |
20:49:16 | dom96 | alright... |
20:49:52 | dom96 | What. "could not load: /usr/lib/libgc.so.1" |
20:50:46 | dom96 | I swear this used to work. |
20:51:22 | dom96 | There we go. |
20:51:37 | dom96 | "Collecting from unknown thread." Interesting. |
20:51:48 | dom96 | Looks like it just froze after taht |
20:51:50 | dom96 | *that |
20:52:38 | dom96 | Araq: Does that help at all? |
20:52:59 | Araq | no lol |
20:53:06 | dom96 | And... I can't kill it. |
20:53:25 | dom96 | killall did the trick |
20:56:31 | dom96 | mark and sweep performs better |
20:59:38 | dom96 | Yeah... |
20:59:43 | EXetoC | dom96: it's planned though, right? as it trivializes the implementation of numerous features |
20:59:47 | dom96 | I knew changing the name to 'nimcache' was a mistake -.- |
21:00:37 | EXetoC | where do I start looking? |
21:01:24 | * | achim quit (Quit: Computer has gone to sleep.) |
21:02:10 | EXetoC | I'll look around in the compiler |
21:02:13 | Varriount | dom96: Don't use threading. |
21:03:09 | dom96 | Araq: koch clean removes every single 'nimcache' dir, so it removes it in the csources too. |
21:03:17 | dom96 | What was the reason you changed the dir name again? |
21:03:42 | dom96 | Varriount: That's easier said than done. |
21:04:05 | dom96 | EXetoC: I'm not sure what you mean. Do you want to parse the Nimrod code into an AST and use that information for stuff? |
21:05:26 | dom96 | Araq: Which reminds me, your idea to change the default branch to 'stable' will also cause many problems for me. |
21:06:34 | * | BitPuffi1 joined #nimrod |
21:07:48 | EXetoC | dom96: yeah, a bi-directional AST/text buffer mapping |
21:08:08 | dom96 | EXetoC: There are more important things to implement in Aporia. |
21:08:55 | * | BitPuffin quit (Ping timeout: 260 seconds) |
21:09:04 | dom96 | text manipulation is currently a bit all over the place |
21:10:29 | Araq | dom96: hmm |
21:10:46 | Araq | can you teach "koch clean" to not delete build/nimcache then? |
21:11:56 | odc | question: why isn't sha1 in stdlib? |
21:12:40 | dom96 | Araq: Nah, the proper solution is to get the builder to clone the c sources repo somewhere else. |
21:12:40 | odc | md5 is pretty useless nowadays |
21:13:45 | Araq | dom96: or simply change it back from "nimcache" to something else |
21:14:14 | Araq | odc: because nobody added it yet and we prefer a pure nim implementation |
21:14:42 | dom96 | Araq: To what then? |
21:15:05 | odc | ok (the one that i see is pure) |
21:15:05 | Araq | "c_code" |
21:15:29 | dom96 | I really preferred 'src' :P |
21:15:42 | Araq | "src" makes no sense |
21:15:49 | Araq | it's the opposite of "source" |
21:15:52 | Araq | it's generated |
21:16:06 | dom96 | It's C *sources*!! |
21:16:14 | dom96 | It's already in the name. |
21:16:36 | dom96 | And it's been called C *sources* since the beginning of Nimrod. |
21:18:35 | Araq | name it c_code |
21:18:44 | discoloda | i didnt catch what is wrong with 'nimcache' ? |
21:18:58 | dom96 | fine |
21:19:59 | Araq | discoloda: it's the basis for building nimrod and as such "koch clean" should delete it |
21:20:17 | Araq | note that the ordinary compiler still puts everything in nimcache |
21:23:41 | Araq | dom96: if it is too much work for nimbuild that's a good reason to keep things as they are |
21:25:29 | dom96 | Well I'm not entirely sure of the extent of how much work it will take, but I had a bad feeling about it and just noticed a line which depends on this 'master' is the default branch convention. I could hardcode 'stable' in there, but who knows what other things will breaj. |
21:25:31 | dom96 | *break |
21:27:58 | Araq | well we can already rename later, the question is what "master" should mean |
21:28:21 | Araq | and people now take it to mean "stable", afaict |
21:28:41 | dom96 | I don't think so. |
21:28:49 | Araq | lol |
21:29:05 | dom96 | As far as I can see everyone thinks it's not stable. |
21:30:02 | Araq | well let's create a stable branch then? argh, this is killing me |
21:31:48 | dom96 | From what I can see right now master is 'unstable' and devel is 'stuff which most definitely breaks most things' |
21:32:18 | Araq | a valid point ... |
21:32:26 | dom96 | Is that so bad? |
21:32:46 | Araq | no, but it's bad we have no "stable" branch |
21:32:50 | odc | you're supposed to make changes in you own branch and commit to master when it's stable... |
21:33:20 | discoloda | from what i have seen, most projects use master as stable branch. with tags as versions |
21:33:24 | dom96 | git checkout v0.9.2 |
21:33:25 | dom96 | There you go. |
21:33:26 | dom96 | :P |
21:34:59 | Araq | the problem is that "master" has no meaning so we don't know what it means either |
21:35:08 | Araq | or rather we don't agree on what it means |
21:35:36 | dom96 | If you want a 'stable' branch then we will have problems deciding when things are stable. |
21:35:42 | odc | yeah, you just need rules. But more branches == more admin work |
21:36:26 | dom96 | indeed. Keeping a balance between up-to-date and stable will be difficult, and we already have very little time. |
21:38:54 | Araq | merging bugfixes back into "stable" really isn't that much effort |
21:38:57 | * | dmac joined #nimrod |
21:39:20 | Araq | I would do it if we had a "stable" branch... |
21:39:39 | dom96 | Lets just make 'master' stable then |
21:40:00 | Araq | and it would allow us to build 0.9.2.x vs. 0.9.4 |
21:41:30 | dom96 | So you want to backport bug fixes? |
21:42:02 | dom96 | Is there much point when we're not even past 1.0 yet? |
21:43:37 | * | dmac quit (Ping timeout: 272 seconds) |
21:45:43 | Araq | yes, I want to do that |
21:48:52 | NimBot | nimrod-code/csources master a0e2fc5 Dominik Picheta [+2158 ±3 -2158]: Rebuilt from 7116321cccb (Araq/Nimrod). |
21:49:12 | NimBot | Araq/Nimrod master 7116321 Dominik Picheta [+0 ±3 -0]: Rename C sources dir to c_code. |
21:52:14 | dom96 | Booyah |
21:58:35 | * | brson joined #nimrod |
22:04:17 | * | dmac joined #nimrod |
22:10:00 | * | radsoc quit (Ping timeout: 252 seconds) |
22:24:28 | NimBot | Varriount/Nimrod-Sublime language/add-comments 617f96d Clay Sweetser [+0 ±1 -0]: Added comments to various patterns |
22:25:32 | gradha | Araq: this is as close as I can get https://dl.dropboxusercontent.com/u/145894/t/talk_slides.pdf |
22:28:44 | NimBot | Varriount/Nimrod-Sublime plugins/nimcheck 819ae8d Clay Sweetser [+1 ±0 -0]: Added initial nimcheck plug-in - a command plug-in which runs the current view through 'nimrod check' |
22:29:07 | Araq | gradha: omg I love it! |
22:33:52 | Varriount | OrionPK: ping |
22:35:30 | OrionPK | what's up? |
22:37:55 | Varriount | OrionPK: It's aliiive -> http://imgur.com/EFkZewh |
22:38:36 | OrionPK | very nice |
22:39:23 | * | dmac2 joined #nimrod |
22:39:28 | OrionPK | you should just have it run every time you save if it's quick enough :p |
22:39:37 | OrionPK | & it doesnt get in the way |
22:40:02 | OrionPK | maybe have an option to do that |
22:40:15 | Varriount | OrionPK: The most expensive part is reading from nimrod processes stdin |
22:40:24 | Varriount | Er, stdout |
22:44:09 | * | dmac2 quit (Ping timeout: 272 seconds) |
22:48:15 | gradha | good night, honey badgers |
22:48:20 | * | gradha quit (Quit: bbl, need to watch http://www.youtube.com/watch?v=dEf4PJZXBxA again) |
22:49:53 | * | dmac quit (Quit: Leaving) |
22:55:17 | * | dmac joined #nimrod |
23:00:13 | * | brson quit (Quit: leaving) |
23:00:26 | * | brson joined #nimrod |
23:15:51 | * | darkf joined #nimrod |
23:21:14 | * | odc quit (Ping timeout: 264 seconds) |
23:34:45 | * | shodan45_ quit (Quit: Konversation terminated!) |
23:39:46 | * | dmac1 joined #nimrod |
23:44:13 | * | dmac1 quit (Ping timeout: 246 seconds) |