<< 12-01-2014 >>

00:00:44radsocI will benchmark this tomorrow
00:02:18radsocmy laptop makes too much noise at full speed and my wife is asleep...
00:03:24Araqlol alright
00:04:06radsocbtw good night
00:04:13Araqsame here
00:04:15Araqgood 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:23BitPuffinDemos: 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:07DemosEigen
02:53:12Demoseigen.tuxfamily.org
02:53:59Demosit 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:35Araqhi odc welcome
12:18:07odcHello Araq, and thank you
12:18:33odcyou're the creator of Nimrod right?
12:19:21odcor is it dom96?
12:25:52Araqno, it's me
12:30:47Araqbbl
12:41:35dom96hey 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:58girvoHey all :)
13:37:14dom96hey girvo
13:38:07girvoI 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:17dom96Awesome :D
13:39:40*radsoc joined #nimrod
13:41:01girvoso, we're porting our engine (currently C/SDL based) over, and might even ditch Lua scripting for game logic.
13:41:26Araquse c2nim to port it
13:43:10*EXetoC joined #nimrod
13:43:46girvoAraq: that's exactly what we're doing :D
13:48:09*Varriount|Mobile joined #nimrod
13:48:37Varriount|MobileMeep
13:48:42*dmac joined #nimrod
13:48:46Araqho
13:49:25girvoVarriount: what mobile client?
13:49:38Varriount|MobileAndroIRC
13:50:38girvoNice :)
13:50:52Varriount|MobileThough, 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:55radsoc 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:04radsoc 1 thread : 156330 ms
13:57:10radsoc 2 threads : 87583 ms
13:57:17radsoc 4 threads : 55051 ms
13:57:23radsoc 8 threads : 47511 ms
13:57:29radsoc16 threads : 50121 ms
14:10:13Araqalright thanks
14:23:19girvohuh, 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:35girvowhen I change it to `quit(2)' it says the return code is 512... I see a pattern here ;)
14:24:01dom96Yep. It's a known bug.
14:24:05girvo`> Process terminated with exit code 256'
14:24:13dom96It needs to be fixed in the stdlib
14:29:14girvookay cool
14:29:55Araqjust fix it already
14:30:09Araq result = result shr 8 for the "system()" wrapper
14:30:13Araqsays my todo
14:32:09girvoI'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:12girvosilly 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:47Araqno idea what you mean
15:03:15Araq"koch boot -d:release" recompiles the compiler
15:03:32Araqgit pull origin master
15:03:33girvoyeah, cool
15:03:37dom96You should clone the git repo and add bin/ to your PATH instead of installing it (through install.sh)
15:03:39girvothat's what I was checking
15:03:47dom96(if that's what you mean)
15:03:49girvoand yep, thats what I've done already dom96 :)
15:03:52dom96Good.
15:03:59dom96Then just do what Araq says.
15:04:14dom96If that doesn't work you may need to build from C sources and then bootstrap
15:04:18girvoI have this weird thing where I put everything in my home folder, rather than symlinking to /bin
15:04:30dom96I do that too :P
15:04:36Araqsame here lol
15:04:47girvoI think when you do heaps of development, its sort of neccesary haha
15:05:27girvoonly 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:47girvoI only moved to Mint a few weeks ago. It's really nice on my netbook actually
15:06:00fowlsymlink into ~/bin
15:06:22Araqmy mint is so old it doesn't update itself anymore
15:06:35girvofowl: yeah I figured that'd be what I'd have to do
15:06:46girvofowl: cheers
15:06:47Araqbut that happened with every linux I've ever used
15:07:12fowleven arch?
15:07:23Araqnever used arch :P
15:08:56Varriount|MobileHm. Does using the implied "result" variable in a procedure offer any performance benefit?
15:09:07Araqyes it does
15:09:10dom96I don't think Arch is for Araq.
15:09:40Varriount|MobileAraq: Why?
15:10:06AraqVarriount|Mobile: it's called "named return value optimization" in C++
15:10:15Araqwe get it for free with "result"
15:10:21dom96I 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:00EXetoCmaybe he means compared to using 'return', but that's just syntactic sugar involving result, right?
15:11:11girvodom96: to be fair, I'd do the same. I've completely nerfed so many installs trying to use non-free drivers...
15:11:34Varriount|MobileEXetoC: No, Ara
15:11:45Varriount|Mobile*Araq got it right
15:12:41girvooh god a full clone from github is going sooooo slowly
15:12:43fowldom96, everybody tells me that arch wont break your system unless you force install stuff
15:12:50EXetoCcompared to what? it's being assigned to either way
15:12:52girvo40kb/s on my 100Mb/s connection D:
15:13:04dom96fowl: That's a load of bullshit.
15:14:06girvooh, thats why. the git:// proto is dog slow. Https worked instantly. sigh
15:14:16EXetoCit'd be great if that was somehow true
15:14:56EXetoC100% safe kernel upgrade ftw
15:15:54dom96I've had many times where I updated X or my graphics driver and Cinnamon just refused to launch.
15:16:45Varriount|MobileWhile you all fiddle with getting updates to work on your fancy Linux distros, I'll be over here, working with windows
15:16:56Varriount|Mobile:3
15:17:21fowlenjoy windows 8
15:17:33Varriount|MobileI have windows 8
15:17:33girvolol. I'd rather get annoyed at X than die trying to get anything done on Windows ;)
15:17:38dom96I never update Windows and it works fine, I also never paid for Windows :P
15:17:54girvokidding, I like Windows 8, but I use *nix everything these days. iMac desktop, two Linux laptops
15:18:37Varriount|MobileI'm just happy that 8.1 brought back unified search
15:20:32dom96Araq's talk will be released tomorrow :D
15:20:36EXetoCgirvo: the protocol is to blame? because I get about 1mb/s
15:21:06*[Pete_27] joined #nimrod
15:21:11EXetoCwhich is really far from my max speed, but a lot faster than 40kb/s
15:21:46dom96hello [Pete_27]
15:22:43girvoEXetoC: That's the only thing I could find, running through HTTPS instead gave me 4mb/s :/
15:23:40girvoEXetoC: 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:44dom96Damn. I am jealous of your internet.
15:23:47girvoEXetoC: or, i could be completely off base heh
15:24:45*pe7ed27 quit (Ping timeout: 276 seconds)
15:27:55girvooh grr. I forked Nimrod, cloned to my comp, compiled koch using my already existing nimrod install
15:28:11girvobut now, `koch boot -d:release' errors out straight away
15:28:58girvoError: unhandled exception: No such file or directory [EOS]
15:30:18dom96stack trace?
15:30:20girvoI skipped the csources bootstrap, as I already have a nimrod install working fine, this is just my fork for bug fix testing
15:30:48girvoTraceback (most recent call last)
15:30:53girvokoch.nim(281) koch
15:30:59girvokoch.nim(142) boot
15:31:00girvokoch.nim(135) copyExe
15:31:00girvoos.nim(948) copyFile
15:31:00girvoos.nim(263) OSError
15:31:00girvoError: unhandled exception: No such file or directory [EOS]
15:31:06dom96Next time gist it please.
15:31:16girvono problem
15:31:40dom96I guess it looks in bin/ for the nimrod binary but since it's not there it fails
15:31:57dom96just copy it in there.
15:32:08girvohuh, fair enough
15:32:10girvoi'll try
15:32:50girvoyep, that did it
15:32:51girvocheers
15:33:20*EXetoC quit (Quit: WeeChat 0.4.2)
15:33:24Araqsomebody else has had this problem so I think koch should be changed
15:33:44dom96I think koch should give better errors
15:33:58*EXetoC joined #nimrod
15:34:10dom96I guess it could look for Nimrod in the PATH too if it's not in bin/
15:34:35Araqit does looks in path
15:34:47Araqbut copyExe doesn't care
15:35:10dom96well in that case it simply shouldn't crash
15:38:42girvoIs 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:27Araqno, that's it
15:42:36*gradha joined #nimrod
15:45:12Araqbbl
15:45:53girvowhoah 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:25girvoand 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:17girvoalright, 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:02girvogrrrr. trying to fix this tiny little bug is driving me nuts
16:06:17girvoproc execCmd(command: string): int =
16:06:17girvo result = csystem(command)
16:06:46girvoso, I change to result = csystem(command) shr 8 -- then recompile, then compile my test with my recompiled nimrod
16:06:55girvoand still get the same damned return code...
16:08:45girvooh crap.
16:08:48girvoI think i know why
16:09:29girvonope.
16:09:38*Varriount-Mobile joined #nimrod
16:14:32girvoThis is going to sound stupid, but I'm still not well versed in the syntax yet
16:14:40girvobut 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:10gradhathe importc pragma means the csystem symbol will call that C function
16:15:26gradhaIIRC nodecl is to avoid generating a body for the proc
16:15:37gradhathe cint/cstring are C types
16:16:01gradhathe renaming of system to csystem is to avoid a symbol clash with the system module
16:16:35girvookay, 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:11gradhasure, just rename csystem to ccsystem (combo breaker!) and reimplement csystem to call ccsystem and do your stuff
16:17:20girvoproc csystem(cmd: cstring): cint {.nodecl, importc: "system".} =
16:17:20girvo result = result shr 8
16:17:47girvowait no that doesnt work either, sigh
16:17:54dom96how are you testing it?
16:18:05gradhayou either imporc or implement yourself the body of the proc
16:18:21dom96but no, that won't work
16:18:26girvoI have a returnTest.nim file that shoots out a csystem call to an external C program I wrote that just returns 1
16:18:44dom96proc csystemEx(cmd: cstring): cint {.nodecl, importc: "system".} =
16:18:55dom96proc csystem(cmd: cstring): cint = csystemEx(cmd) shr 8
16:19:28girvoheh, I was hoping there would be a less ugly way of doing it, but ah well
16:22:01*q66 joined #nimrod
16:23:59girvodo many things call csystem(command) for executing things, or just internal functions (execCmd && execShellCmd)
16:25:58dom96grep for it and see
16:26:03dom96I don't think it's used much
16:26:16EXetoC6 times
16:26:35EXetoC*1
16:27:30girvoI've actually only found it twice!
16:27:53girvoI meant extern programs/libraries. Basically, whether its worth fixing it at the csystem level, or the caller level
16:28:22dom96csystem isn't even exported
16:31:11girvooh right, well I must be doing something really stupid then
16:31:15girvolol
16:31:58girvoif it's not exported, should it be stopping me from calling it, or is it a convention thing?
16:33:35EXetoCmaking a C lib?
16:33:39dom96it's probably in a when defined(posix) block
16:33:44dom96so it's posix specific
16:34:54dom96hence not exported
16:38:25girvodom96: 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:47girvoalright, its getting late (2:50am), and I fixed my two tiny bugs, heh. Time for bed, catch you all tomorrow
16:48:58gradhagood night
16:49:05girvothanks 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:57radsoc
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:35discolodafg
17:46:29Varriount|MobileSo, 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:53Varriount|MobileHi psquid
17:59:14psquidAhoy hoy.
18:03:35Varriount|Mobilepsquid, what editor do you use with Nimrod?
18:03:49psquidMostly vim.
18:05:38AraqVarriount|Mobile: master gets renamed to "stable", "devel" stays permanent
18:07:01Araqdamn this cool highlighting of identifiers in aporia makes me pick longer names
18:07:21Varriount|MobileScreenshot?
18:07:45Araqsorry, 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:19EXetoCis it different from other editors or did you just happen to pick a good theme? :p
18:52:44Araqit's different from notepad :P
18:53:29*achim joined #nimrod
18:58:34radsocVarriount|Mobile: you didn't ask me but I'm very happy with your sublime plugin
18:58:49EXetoCYou use notepad from time to time? I feel for you then, I really do :-p
18:58:53EXetoCl8r m8s
18:59:03Varriountradsoc: Thanks
18:59:14Varriountradsoc: Wait, which plugin?
18:59:34AraqEXetoC: no, I never use notepad
18:59:38Varriountradsoc: There are two plugins, one that is actively maintained, and one that is not.
19:00:00Araqhowever I did use an older version of aporia lacking this feature
19:00:07EXetoCoh ok
19:00:22radsocVarriount|Mobile: I use the package manager
19:00:34Varriountradsoc: Then you don't have ours.
19:01:10Varriountradsoc: https://github.com/Varriount/Nimrod-Sublime
19:01:20radsocooops sorry I'll try yours
19:02:50radsocI bet it's way better!
19:03:17Varriountradsoc: Well, if nothing else, the syntax highlighting is a bit more complete
19:03:35VarriountIt's supposed to have definition lookup features, but atm they are a bit buggy
19:04:09EXetoCdom96: 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:11radsocVarriount|Mobile: yes, I guess pointer is known as a keyword
19:04:31VarriountI 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:06Varriountradsoc: 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:25filwit^ yes
19:06:42VarriountOh hi filwit, I didn't see you there.
19:06:58filwiti have been trying to iron out all the kinks of my regex pattern matching stuff for awhile now
19:07:02filwithi Varriount
19:07:12filwiti signed in awhile ago, but mostly to ask #sdl something
19:07:53dom96EXetoC: not really. Depends how fluent you are with GTK
19:07:54VarriountRegex is all well and good for simple parsing, like keyword highlighting, but...
19:08:08*psquid joined #nimrod
19:08:10Varriountthere's a reason language parsers aren't written in it.
19:09:12filwitwell i've come really close to being able to make Kate (and then Aporia) highlight some nimrod-specific calling conventions
19:09:51filwitfor instance, macros/templates which accept stmt bodies always apear like "themacro a, b, c:"
19:10:25filwitso you make it looks like the if/else/etc blocks, and it comes out looking very clean
19:10:52dom96So you highlight 'themacro' as a keyword?
19:11:13filwitbut there are some edge cases which break that (like the if/else/etc cases themselves, which follow the similar syntactical pattern)
19:11:39filwitdom96: yes, but there's also a distinction between var/proc/type and if/when/else/etc
19:12:00filwitso you highlight the macros like the if/else/etc and everything fits in nicely
19:12:25Araqsounds like me you're trying to get semantic highlighting without a proper parser
19:12:31Araqwhich is doomed
19:12:58VarriountAraq: Tell that to IDE/Text Editor designers
19:13:35VarriountAlthough, how would one design a easily pluggable, generic language highlighter/parser?
19:13:35filwitwell i thought thought the same thing too, but i'm actually very close to having everything worked out
19:14:10AraqVarriount: by allowing the plugins to be written in nimrod, of course :P
19:14:12filwitin 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:03dom96That 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:38filwityeah, ultimately that's the only true solution
19:17:03Araqdom96: the parser is easily imported from compiler already
19:17:19filwitit would be great to always highlight const one color, and procs another, especially when case sensitivity isn't part of the picture
19:18:03Araqit becomes part of the picture though, so you can try to encode 14 different entities via case
19:19:08Araqgood luck with that :P
19:19:19Araq(template are LIkeThiS ...)
19:19:53Araqmore seriously though, that doesn't require a parser
19:19:59Araqbut the full compiler
19:20:00filwitwell 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:26Araqso that you know what's invoked
19:20:40filwityes
19:20:56Araqfilwit: the compiler will enforce the convention though because I can't see it working otherwise
19:22:13Araqotherwise we'll simply get C's mess with TYPES, type_t, Types etc.
19:22:13filwiti'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:27filwiti have a question about that though
19:22:32Araqfilwit: I'm not arguing
19:22:36Araqjust sayin'
19:22:54Araqand yeah it doesn't have anything to do with what you say :-)
19:23:12filwitokay, i see i see
19:23:33filwitso right now, you can use Nimrod's parse as a lib?
19:23:49filwitis that the parseutils one?
19:23:52Araqimport compiler/ast, compiler/parser
19:24:13filwitwhat kind of interfaces do those give you?
19:24:20filwitones that generage AST?
19:24:24Araqyes
19:24:32filwitawesome
19:24:36Araqyou need to read the source though
19:25:00filwiti'm guessing you didn't write many comments?
19:25:02filwit:P
19:25:17filwitthat's fine though, i didn't realize that was possible
19:25:56filwitso 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:27filwitor at least mostly understand the structure
19:26:39Araqsure thing and the interface will only get better
19:26:44filwitin the sense that it could be useful for syntax-highlighting
19:26:56filwitawesome
19:27:03Araqas I'll expose the vm too
19:27:15filwitthe VM is the macro engine?
19:27:19Araqyes
19:27:30filwiti heard you where writing a new one
19:27:39filwitjust a different design?
19:27:45filwitor is there something new about it?
19:27:59filwitjust wondering :)
19:29:30Araqwell it's pretty much finished, still breaks some tests though, in particular the unittest module
19:30:11Araqit's a completely new design which fixes some bugs and runs much faster
19:31:08filwitthat's good
19:31:47filwitI 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:16Araqwell, eval "scripting code here" surely is handy for a game engine, right?
19:40:01dom96Yes, and so many other things.
19:40:55filwityeah that's definitely useful
19:43:03*dmac quit (Ping timeout: 260 seconds)
19:49:18VarriountAraq: 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:32Araqyup and it already works for primitive tests
19:51:15VarriountAraq: It warms my heart to hear such things.
19:51:38dom96try-nimrod.org here we come.
19:51:46dom96:P
19:52:13Varriountdom96: ?
19:52:26VarriountOh, I see.
19:52:40dom96Ever used http://tryhaskell.org/?
19:53:12Varriountdom96: 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:47dom96It's easier with a proper REPL
19:55:40OrionPKvarriount was going to add repl support into the sublime plugin
19:55:41filwitthat's how the D one works
19:55:52VarriountOrionPK: No I wasn't, you were.
19:55:56OrionPK:D
19:56:07OrionPKI tried briefly actually, it wasnt working for some reason
19:56:09VarriountI was going to add checking and formatting
19:56:35OrionPKbasically i got it to launch nimrod, but it doesnt see any output from it
19:58:10VarriountOrionPK: Looking up symbols and such still causes sublime text to crash.
19:58:33OrionPKguess u should look into that first
19:58:34OrionPKafk
20:15:26*filwit quit (Quit: Leaving)
20:23:56gradhaAraq: did you work on the bitbucket slides? I can take a look at finishing them
20:24:20Araqgradha: no ... didn't work on them
20:24:36gradhamissing was smaller fonts to fit on pages and colors?
20:24:45Araqyes
20:24:55Araqthe introduction slide was also off
20:38:37*dmac joined #nimrod
20:39:17Araqgradha: "nimrod doc2 lib/pure/actors.nim" fails for me, how come it works for you?
20:39:45Araq(well now it works, cause I fixed the bug, but you get the idea)
20:40:41NimBotAraq/Nimrod master bf64285 Dominik Picheta [+0 ±2 -0]: Add info about twitter and bootstrapping from github to website.
20:40:43gradhaworks for me on master
20:41:01Araqah I see
20:41:08Araqit's the changes to atomics.nim
20:41:17Araqwhich are likely disabled on mac
20:42:20NimBotnimrod-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:46dom96hrm
20:43:01dom96Did I miss some platforms?
20:43:02*dmac quit (Ping timeout: 245 seconds)
20:43:22Araqwell nimbuild ain't happy
20:44:02dom96That's likely because it's trying to use the devel version of the compiler on master.
20:44:30Araqdevel should be able to bootstrap master though
20:45:01dom96with a stdlib @ master?
20:45:18Araqdunno lol
20:45:53dom96Yeah, exactly.
20:46:00dom96We need to nail this corruption ASAP.
20:46:11Araqno, we need a workaround
20:46:13dom96I can't fix any builder issues until that is fixed.
20:46:19Araqyes you can
20:46:34dom96As soon as I recompile ppc64 it'll start crashing
20:46:34Araqtry with --gc:boehm|markAndSweep
20:46:52AraqI looked into the corruption and I am out of ideas
20:47:01Araqcompletely out of ideas
20:47:11EXetoCdom96: 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:11dom96how can that be?
20:47:29dom96EXetoC: AST type?
20:47:43dom96Aporia doesn't have that info.
20:48:51dom96Araq: which is then, boehm or m&s?
20:49:01Araqtry both, make it work
20:49:02dom96*is it
20:49:16dom96alright...
20:49:52dom96What. "could not load: /usr/lib/libgc.so.1"
20:50:46dom96I swear this used to work.
20:51:22dom96There we go.
20:51:37dom96"Collecting from unknown thread." Interesting.
20:51:48dom96Looks like it just froze after taht
20:51:50dom96*that
20:52:38dom96Araq: Does that help at all?
20:52:59Araqno lol
20:53:06dom96And... I can't kill it.
20:53:25dom96killall did the trick
20:56:31dom96mark and sweep performs better
20:59:38dom96Yeah...
20:59:43EXetoCdom96: it's planned though, right? as it trivializes the implementation of numerous features
20:59:47dom96I knew changing the name to 'nimcache' was a mistake -.-
21:00:37EXetoCwhere do I start looking?
21:01:24*achim quit (Quit: Computer has gone to sleep.)
21:02:10EXetoCI'll look around in the compiler
21:02:13Varriountdom96: Don't use threading.
21:03:09dom96Araq: koch clean removes every single 'nimcache' dir, so it removes it in the csources too.
21:03:17dom96What was the reason you changed the dir name again?
21:03:42dom96Varriount: That's easier said than done.
21:04:05dom96EXetoC: 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:26dom96Araq: 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:48EXetoCdom96: yeah, a bi-directional AST/text buffer mapping
21:08:08dom96EXetoC: There are more important things to implement in Aporia.
21:08:55*BitPuffin quit (Ping timeout: 260 seconds)
21:09:04dom96text manipulation is currently a bit all over the place
21:10:29Araqdom96: hmm
21:10:46Araqcan you teach "koch clean" to not delete build/nimcache then?
21:11:56odcquestion: why isn't sha1 in stdlib?
21:12:40dom96Araq: Nah, the proper solution is to get the builder to clone the c sources repo somewhere else.
21:12:40odcmd5 is pretty useless nowadays
21:13:45Araqdom96: or simply change it back from "nimcache" to something else
21:14:14Araqodc: because nobody added it yet and we prefer a pure nim implementation
21:14:42dom96Araq: To what then?
21:15:05odcok (the one that i see is pure)
21:15:05Araq"c_code"
21:15:29dom96I really preferred 'src' :P
21:15:42Araq"src" makes no sense
21:15:49Araqit's the opposite of "source"
21:15:52Araqit's generated
21:16:06dom96It's C *sources*!!
21:16:14dom96It's already in the name.
21:16:36dom96And it's been called C *sources* since the beginning of Nimrod.
21:18:35Araqname it c_code
21:18:44discolodai didnt catch what is wrong with 'nimcache' ?
21:18:58dom96fine
21:19:59Araqdiscoloda: it's the basis for building nimrod and as such "koch clean" should delete it
21:20:17Araqnote that the ordinary compiler still puts everything in nimcache
21:23:41Araqdom96: if it is too much work for nimbuild that's a good reason to keep things as they are
21:25:29dom96Well 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:31dom96*break
21:27:58Araqwell we can already rename later, the question is what "master" should mean
21:28:21Araqand people now take it to mean "stable", afaict
21:28:41dom96I don't think so.
21:28:49Araqlol
21:29:05dom96As far as I can see everyone thinks it's not stable.
21:30:02Araqwell let's create a stable branch then? argh, this is killing me
21:31:48dom96From what I can see right now master is 'unstable' and devel is 'stuff which most definitely breaks most things'
21:32:18Araqa valid point ...
21:32:26dom96Is that so bad?
21:32:46Araqno, but it's bad we have no "stable" branch
21:32:50odcyou're supposed to make changes in you own branch and commit to master when it's stable...
21:33:20discolodafrom what i have seen, most projects use master as stable branch. with tags as versions
21:33:24dom96git checkout v0.9.2
21:33:25dom96There you go.
21:33:26dom96:P
21:34:59Araqthe problem is that "master" has no meaning so we don't know what it means either
21:35:08Araqor rather we don't agree on what it means
21:35:36dom96If you want a 'stable' branch then we will have problems deciding when things are stable.
21:35:42odcyeah, you just need rules. But more branches == more admin work
21:36:26dom96indeed. Keeping a balance between up-to-date and stable will be difficult, and we already have very little time.
21:38:54Araqmerging bugfixes back into "stable" really isn't that much effort
21:38:57*dmac joined #nimrod
21:39:20AraqI would do it if we had a "stable" branch...
21:39:39dom96Lets just make 'master' stable then
21:40:00Araqand it would allow us to build 0.9.2.x vs. 0.9.4
21:41:30dom96So you want to backport bug fixes?
21:42:02dom96Is there much point when we're not even past 1.0 yet?
21:43:37*dmac quit (Ping timeout: 272 seconds)
21:45:43Araqyes, I want to do that
21:48:52NimBotnimrod-code/csources master a0e2fc5 Dominik Picheta [+2158 ±3 -2158]: Rebuilt from 7116321cccb (Araq/Nimrod).
21:49:12NimBotAraq/Nimrod master 7116321 Dominik Picheta [+0 ±3 -0]: Rename C sources dir to c_code.
21:52:14dom96Booyah
21:58:35*brson joined #nimrod
22:04:17*dmac joined #nimrod
22:10:00*radsoc quit (Ping timeout: 252 seconds)
22:24:28NimBotVarriount/Nimrod-Sublime language/add-comments 617f96d Clay Sweetser [+0 ±1 -0]: Added comments to various patterns
22:25:32gradhaAraq: this is as close as I can get https://dl.dropboxusercontent.com/u/145894/t/talk_slides.pdf
22:28:44NimBotVarriount/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:07Araqgradha: omg I love it!
22:33:52VarriountOrionPK: ping
22:35:30OrionPKwhat's up?
22:37:55VarriountOrionPK: It's aliiive -> http://imgur.com/EFkZewh
22:38:36OrionPKvery nice
22:39:23*dmac2 joined #nimrod
22:39:28OrionPKyou should just have it run every time you save if it's quick enough :p
22:39:37OrionPK& it doesnt get in the way
22:40:02OrionPKmaybe have an option to do that
22:40:15VarriountOrionPK: The most expensive part is reading from nimrod processes stdin
22:40:24VarriountEr, stdout
22:44:09*dmac2 quit (Ping timeout: 272 seconds)
22:48:15gradhagood 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)