<<13-04-2013>>

00:00:25Araqso ... how did you find out about nimrod?
00:01:33debugging4everit was a comment on hacker news I think, someone linked to this in a discussion about Go or Rust, I bookmarked it and just found time to check it out :)
00:02:05debugging4everjust glancing over the documentation but I like what I see sofar, nice syntax, powerful constructs
00:03:13Araqthanks
00:03:43debugging4everalso like it that you are able to leverage mature optimizing compilers due to the nimrod language generating c code,
00:06:26Araqwe also have quite good debugging features now imho :-)
00:07:07debugging4evernice, I just did a search on github and there's already quite a few repositories with nimrod code to glance over,
00:12:26Araqyeah but I guess the stdlib contains too much, so there is less need for people creating "SDL wrapper for Nimrod" repos ;-)
00:13:22debugging4everthe standard lib has SDL bindings? :D
00:14:42debugging4everthe T and P prefixes are naming conventions for Type and Pointer?
00:15:00Araqkind of yeah
00:15:16Araqactually T stands for "value type" XD
00:15:58Araqit's a leftover from Nimrod's Object Pascal heritage
00:16:32debugging4everheh, ok, delphi did pop into my mind
00:16:49Araqthere are also the prefixes E for exception type and F for an effect type
00:17:57debugging4everok, sounds clear and concise
00:22:29debugging4everah, nice that you use 'and' 'or' etc for bitwise operations aswell, I was disappointed in Go keeping | & etc from C
00:22:56fowlAraq: multilayer perceptron https://gist.github.com/fowlmouth/5375772 (:
00:24:38Araqha, I actually prefer | and & for bitwise stuff, but then I like to keep a few operators unused for user definable operators
00:25:17Araqfowl: awesome, will run it tomorrow
00:25:40AraqI'm investigating if #215 is still open
00:25:55AraqI think I fixed it a few months ago ;-)
00:26:47fowlyea that one is fixed sorry
00:26:53debugging4everheh, well, you made me happy anyway.
00:28:11Araqfowl: I wanted to add keineschweine to tests/manyloc anyway, so I'm leaving it open as a reminder
00:28:44fowlah
00:29:53fowlAraq: it would be cool if i could insert nimlibs as a root module path like nimrod/libs is, given that it has the same structure (pure/impure/wrappers)
00:33:24Araqfowl: I'm not sure what you mean
00:33:42Araqthere is always --path
00:33:53Araqand the stdlib has no special treatment
00:37:33fowli have to add a path for pure, any wrappers i want to use, impure, macros maybe
00:40:21Araqiirc you can misuse --babelPath as a kind of recursive --path command; not sure if it works for your case
00:40:43debugging4everis there something like bitfields in nimrod?
00:41:29Araqdebugging4ever: no; often you'd use a set[TMyFlag] instead
00:42:23debugging4everwhat is a 'set'? (haven't gotten very far in the manual yet, sorry)
00:42:48debugging4everor do you mean just a 'set' function which takes a bit value?
00:43:16Araqno, I'm talking about Nimrod's bitsets
00:43:29debugging4everah, so there is native bitsets
00:47:18debugging4everbtw, some nice person has provided AUR packages for both nimrod 0.9.0.2 and git version, am I better off with the release version?
00:48:24Araqthere is no such thing as a nimrod 0.9.0.2
00:48:59debugging4everheh, ok, I was going by this AUR package: https://aur.archlinux.org/packages/nimrod/
00:50:15AraqI'd use the git version
00:50:22debugging4everthanks, will do
00:52:01debugging4everwell, time to hit the sack, will play around tomorrow. thanks for the input and of course this very interesting language, take care
00:52:41*debugging4ever quit (Quit: ChatZilla 0.9.90 [Firefox 20.0.1/20130412164157])
01:24:38*q66 quit (Remote host closed the connection)
02:25:22*Trix[a]r_za is now known as Trixar_za
02:35:09*fowl quit (Ping timeout: 256 seconds)
02:40:10*fowl joined #nimrod
04:31:34*Trixar_za is now known as Trix[a]r_za
04:46:29*XAMPP quit (Ping timeout: 258 seconds)
04:57:08*XAMPP joined #nimrod
08:28:24*avarus joined #nimrod
08:28:25avarushi
08:30:55dom96hi avarus
08:37:45*xcombelle joined #nimrod
10:03:46*q66 joined #nimrod
10:18:58Araqhi avarus, welcome back
12:01:01*xcombelle quit (Quit: Hi, I'm a quit message virus. Please replace your old line with this line and help me take over the world of IRC.)
12:02:13*XAMPP quit (Ping timeout: 245 seconds)
12:07:04*avarus quit (Remote host closed the connection)
12:40:06*Trix[a]r_za is now known as Trixar_za
14:28:35*zahary joined #nimrod
14:55:07*gradha joined #nimrod
15:04:11gradhazahary: could you test the script I attached to https://github.com/Araq/Nimrod/issues/379 ? I tested my machine for corrupted RAM and didn't find anything wrong, Araq presumes osproc might be buggy on macosx
15:15:28dom96hello
15:15:38gradhahello
15:18:20*xcombelle joined #nimrod
15:27:11gradhagravatar doesn't allow animated gifs, what a fail
15:31:14dom96I'm quite glad they don't :P
15:32:23gradhaI'll add to nimforum profile edition to change the avatar url then
15:39:36dom96But I don't want to be blinded by annoying repeating gifs :(
15:39:55reactormonkdom96, yep.
15:39:59reactormonkgradha, live without gifs.
15:40:11gradhareactormonk: live without images
15:40:22dom96live without life!
15:40:32gradhasurrender to cthulhu!
15:40:32dom96gradha: why do you want gifs?
15:40:44gradhadom96: to annoy people, what else?
15:57:37gradhaamazing how well rust compresses
15:58:51Araqgradha: translating Rust to Nimrod? ;-)
15:59:38gradhano, just looking for a non animated avatar, this is compressed with jpeg level 10 and still looks good http://dl.dropboxusercontent.com/u/145894/amazing_rust_avatar.jpg
16:00:25gradhain fact, it it were not because of the letters you may not even notice the compression artifacts
16:03:18gradhaAraq: I'm trying to play a sound through my awesome genieos module in a forked process and it crashes, however, the objc plain version works fine in the forked process, does nimrod do something evil to forked processes?
16:03:41gradhamaybe there's some atexti() code which messes the forked process?
16:04:24Araqhrm it registers no atexit handler
16:04:34Araqbut it does register a signal handler
16:05:10Araqtry to compiler with -d:noSignalHandler
16:05:18Araq*to compile
16:07:19gradhanow it does something weird, the process doesn't crash, but the code seems to get stuck when it tries to play the sound, which is never heard
16:07:41Araqcompile with -d:release
16:08:55gradhasame thing, I think it dies silently because I've put an echo after the objc call and it's never reached
16:11:11gradhait seems [[NSSound alloc] initWithContentsOfFile:path byReference:YES] crashes in a forked nimrod process
16:11:45gradhaI expected the NSSound api to somehow not work in forked processes but I wrote a separate test which works
16:12:31Araqthe GC may break with fork()
16:13:14gradhaso the gc may corrput somehow the memory? because that's plain objc running which doesn't touch it
16:13:50AraqI'm still thinking about it, however:
16:13:56gradhadidn't you have a switch to disable gc and let it grow memory forever?
16:14:08Araq--gc:none would that be
16:14:28Araqthe GC keeps the bottom of the stack in a global/thread local variable
16:14:42Araqthis is copied to the new process but meaningless for it
16:14:49gradhait's not the gc, --gc:none doesn't work either
16:15:03Araqas it got a new stack at a different address space I think
16:15:12Araqbut hrm
16:15:20AraqI think the addresses stay the same
16:15:32Araqcan't work otherwise
16:19:36Araqwell a trivial fork example work here
16:20:09AraqI can't think of anything in Nimrod that would break fork support
16:20:16gradha-d:useMalloc produces "lib/system/repr.nim(120, 20) Error: undeclared identifier: 'TCellSet'"
16:20:52Araq-d:useMalloc doesn't work without --gc:none I think
16:21:17gradhathen you have bad docs: "Makes Nimrod use C's malloc instead of Nimrod's own memory manager. This only works with gc:none"
16:21:37Araqlol?
16:21:51gradhaI'm using that with --gc:none
16:21:57Araqoh -.-
16:22:12Araqbug report please
16:22:13gradhaso far I have nimrod c -d:noSignalHandler -d:release --gc:none -d:useFork -r trash.nim
16:22:28Araqhuh?
16:22:35Araqwhy the -d:useFork?
16:22:47gradhano idea, I'm throwing stuff at it to see if it works
16:23:03Araqwell useFork only affects osproc
16:26:35Araqyou shouldn't use threads with fork but you're not doing that, right?
16:27:08gradhano, the process just starts, calls fork, the calls the objc code, it never returns
16:27:44Araqare you sure the call [[NSSound alloc] initWithContentsOfFile:path byReference:YES] doesn't crash in Nimrod without fork() too?
16:28:33gradhathe code runs inside an if with the return of fork(). When I use "if child != 0" it works, when I use "if child == 0" it crashes
16:29:58gradhathis is the test case I prepared to see if the code alone was the problem https://gist.github.com/gradha/5379088
16:30:15gradhabut that runs fine in both parent/child processes
16:30:47gradhathe nimrod version is just replacing the int main() with when isMainModule and calling the native proc
16:31:48gradhaif I put a printf before https://gist.github.com/gradha/5379088#file-forking-m-L11 it won't be reached, so the allocation of the sound crashes
16:36:06gradhayuck, empty sound allocation works, it's only when it tries to load the aif file
16:38:20gradhawould it be different if I replaced the fork() with this posix_spawn thingy?
16:52:13Araqposix_spawn does a different thing
16:52:33Araqyou may as well use osproc and give it a different executable file
16:52:38Araqinstead of using fork
16:53:06Araqhowever, try to get rid or #define _GNU_SOURCE in lib/nimbase.h please
16:53:31Araqmaybe that causes to use the libc version of fork instead of the native one, I dunno
16:54:04gradhadon't worry, I was preparing some test cases and now they work, my quantum mac is awesome
16:54:16gradhanow I'm trying to figure out what's wrong in the genieos module
16:54:59Araqyou should use sdl to output a sound :P
16:55:06Araqkeep it portable ;-)
16:55:16gradhaI'm sure sdl handles gifs
16:55:41Araqhe he, I'm quite sure it doesn't
16:55:55gradhathat's why people use allegro instead
16:56:12Araqnah
16:56:22fowlgifs are the most media unfriendly image format available so..
16:56:33Araqgifs are pointless when you create a game anyway
16:57:06gradhaanimated pngs aren't much better anyway, you really want mp4 or similar
16:57:26gradhahmm... animated pngs, I knew nimrod was missing something
16:57:49fowlplease do something wtih svg before you tackle animated pngs
16:58:14gradhaas in rendering to screen or to offscreen image?
16:59:13fowlso i mean
16:59:24fowlsvgs are more useful than animated pngs
16:59:35gradhaplus you can animate svg
17:02:12dom96animated bmp is where it's at.
17:08:46gradhaoh, nice, the difference between the crashing sound example and the genieos test is my argument_parser module, if I parse commandline with it the sound crashes
17:12:49reactormonkdom96, proc TimeInfoToTime*(timeInfo: TTimeInfo): TTime {.deprecated.}
17:12:53reactormonkyou fine with that?
17:13:57Araqwhy deprecate it? what's wrong with it?
17:14:41reactormonkwait.
17:14:50reactormonkn/m
17:17:20reactormonkI'll type the stuff a bit more.
17:18:40reactormonkAraq, and you don't like split files for times.nim? :-/
17:19:04reactormonkproc `-`*(a, b: TTime): int64 {.rtl, extern: "ntDiffTime".}
17:19:08reactormonkwhat's this?
17:19:20reactormonkis extern similar to importc?
17:19:49Araqit simply says the generated C name shall be 'ntDiffTime'
17:19:58Araqit's for DLL support
17:21:20reactormonkso not available for JS
17:21:54reactormonk... that's why split files. It's slightly messy.
17:23:13reactormonklater.
17:55:42reactormonkhow do I convert a float to a time?
17:55:56reactormonkah, pure convert.
17:56:11Araqgradha: does your argument parser use any unsafe features? ;-)
17:58:55gradhano, but in the trash binary it calls the recycle proc, after some testing I could reproduce the crash in objc only code at http://stackoverflow.com/questions/15991036/why-cant-i-use-cocoa-frameworks-in-different-forked-processes
17:59:17gradhait seems cocoa APIs are crap http://stackoverflow.com/questions/8676371/can-i-call-chdir-or-setenv-after-fork-on-mac-os-x and don't play well with fork()
18:00:48gradhaso I have no other option but to execute my own process in the background, what would be the api for that?
18:01:00gradhafork() + exec()?
18:01:06Araqlol no
18:01:10Araqwe have osproc for that
18:01:33reactormonkAraq, can I add a converter TTime <-> TTimeInfo ?
18:01:38Araqosproc.startProcess
18:02:06gradhagood think I don't care about the return value
18:04:13Araqreactormonk: converters are only for weak-willed
18:04:39reactormonkAraq, or for elegance
18:04:39dom96reactormonk: what is with you and converters?
18:05:08reactormonkdom96, I don't see why I should write every proc twice, once for ttimeinfo and once with ttime
18:05:33dom96why do you need to do that?
18:06:03Araqthe procs should work with ttime
18:06:09dom96yeah
18:06:21Araqttimeinfo is only for displaying stuff
18:06:24reactormonkyup, but in JS, the two things are the same.
18:06:29dom96TTimeInfo is only an object which provides you with extra info about TTime.
18:06:31reactormonkmore or less.
18:06:37reactormonkdom96, and calculations.
18:07:59dom96true, perhaps it was not wise of me to make the calculation procs work on TTimeInfo.
18:08:31reactormonknope, you need that
18:08:44reactormonkbecause a minute is not always 60 seconds
18:09:58reactormonkproc fromSeconds*(seconds: float, time: TTime): TTimeInterval # any idea how to implement this?
18:10:05reactormonkI don't really need it though
18:10:30reactormonkI'll mark it as not implemented for now
18:11:46dom96Why does it need a TTime?
18:12:02reactormonkbecause a minute is not always 60 seconds
18:12:36dom96And how does TTime let you determine what a minute actually is?
18:14:01reactormonkyou forward by x seconds and then see how many years/days/... you are apart
18:15:34dom96Why not create your own TTime?
18:16:39reactormonkBecause it's good code so far?
18:18:00dom96huh?
18:19:53reactormonkgiven my concerns and result += float(getDaysInMonth(curMonth, anew.year) * 24 * 60 * 60) ... fuck it.
18:19:59dom96initInterval already allows you to specify seconds.
18:23:52reactormonk proc UTC(time: TTime): float {.importcpp: "getTime", tags:[]}
18:23:55reactormonk proc toSeconds(time: TTime): float = result = time.UTC()
18:23:58reactormonklib/pure/times.nim(522, 57) Error: type mismatch: got (int) but expected 'float'
18:24:06reactormonk... what?
18:24:13reactormonk522 is the second line
18:25:35*Trixar_za is now known as Trix[a]r_za
18:26:13dom96weird
18:26:30dom96You sure it's not using a different UTC proc?
18:26:42reactormonkyup
18:27:00reactormonkwait, it is
18:27:13*fowl quit (Ping timeout: 245 seconds)
18:27:16reactormonkbut still wtf.
18:29:36*fowl joined #nimrod
18:30:42AraqUTC defined before toSeconds?
18:33:57reactormonkhttps://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/UTC ... apparently not correct.
18:35:04reactormonkhttps://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/valueOf correct.
18:36:08reactormonkfuck, JS is a mess...
18:42:18reactormonkgetTzname is annoying without external data
18:42:37reactormonkhttps://bitbucket.org/pellepim/jstimezonedetect/src/f9e3e30e1e1f53dd27cd0f73eb51a7e7caf7b378/jstz.js?at=default#cl-130
18:43:18Araqreactormonk: the JS version does not need to be on par feature wise with the C target version; just patch it so that it compiles again
18:43:31reactormonkAraq, empty string or a doassert false?
18:43:37Araqneither
18:43:45Araq'when not defined(Js)'
18:43:45reactormonklib/pure/times.nim(185, 14) Error: implementation of 'times.getTzname(): tuple[nonDST: string, DST: string]' expected
18:45:38reactormonkgood, it compiles for both JS and C
18:45:43reactormonkhow do I test it?
18:46:21Araqwell you know how to
18:46:45Araqwrite an example program, check its output, use -d:nodejs -r for convenience
18:46:59dom96or just test it in the browser.
18:48:53reactormonk... are there any tests somewhere in the repo.
18:48:56gradhaAraq: do you have a version of osproc.startProcess which searches the binary in the user's $PATH?
18:50:00gradhaoh, poUseShell
18:50:02Araqgradha: there is os.findExe
18:50:32reactormonklib/pure/times.nim(545, 11) Error: system module needs 'addChar'
18:50:35reactormonk...
18:51:38Araqreactormonk: now that looks like a nice bug :-)
18:51:50gradhaAraq: any difference with regards to running with poUseShell? that seems to work well
18:52:07AraqpoUseShell doesn't work on windows iirc
18:52:22Araqand it's more efficient to not do it via a shell
18:52:29Araqbut sure, if it works for you, it's fine
18:54:41reactormonkAraq, mergh
19:00:18reactormonkAraq, good, updated.
19:00:31gradhalast time I checked the tmacro2.nim test was bogging my machine down with a virtual process size of total installed RAM, anything wrong with it?
19:01:14reactormonkAraq, got a nice idea for genRepr? just call toJSON? :-)
19:02:13Araqgradha: takes 24MB of ram here
19:02:16gradhadom96: the builder page lists my builder status as unknown, but the builder runnign says it's running fine and pinging
19:02:36dom96gradha: That just means it hasn't built anything.
19:02:53dom96Builder status is updated with the build stage, once your builder is actually building something.
19:02:57gradhadom96: what are the pending commits?
19:03:11dom96If your builder reconnects, the status will be reset to "Unknown"
19:03:28dom96gradha: hrm, that seems to be a bug.
19:04:09dom96gradha: nimbuild is queuing the commits that have been pushed while your builder was disconnected.
19:06:22dom96NimBot simply needs more commands so that I have the power to control NimBuild :P
19:06:39Araqindeed, it's pretty weak :P
19:06:51Araqit doesn't even pass the Turing test
19:07:06dom96NimBot: Y U SO STUPID
19:07:33Araqha, he ignores you. He's smart.
19:07:41dom96lol
19:08:20gradhaAraq: if I run the command manually it works fine, but look at this screencapture the other day, it was consuming everything it could http://dl.dropboxusercontent.com/u/145894/t/tmacro2%20memory%20problem.png
19:10:46Araqgradha: *shrug* ... some pain on macosx is to be expected
19:12:24*xcombelle quit (Remote host closed the connection)
19:14:28Araqugh
19:14:41Araqhow come nobody ever told me --path really sucks?
19:15:02AraqI do: nimrod c tests/manyloc/keineschweine/keineschweine.nim
19:15:18Araqand it wouldn't find sfml
19:15:34Araqbecause the configuration contains path = "dependencies/sfml"
19:16:21fowlyea
19:16:22Araqbut it surely shouldn't contain test/manyloc/keineschweine/dependencies/sfml, right?
19:16:43fowlthats why id like to be able to have repositories
19:16:49dom96the compiler should try it relative to the directory of the project
19:16:54Araqdom96: indeed
19:16:58dom96if the path is not absolute ;)
19:17:03Araqyeah
19:17:19Araqnow I hope I don't break anything if I change that ...
19:18:43dom96Don't worry, the God's will forgive you.
19:19:48Araqhrm apparently you can do: path="$projectpath/dependencies/sfml"
19:20:42fowlbefore you add it let me remove the submodules
19:21:02dom96hrm perhaps it makes sense to leave the behaviour as-is when using --path on the cmdline
19:21:03dom96?
19:21:17Araqfowl: I already did for inclusion into tests/manyloc
19:21:31Araqand the test case should stay static anyway
19:21:45Araqno need to update it
19:22:11Araqwe want to ensure the compiler keeps compiling that version of the source
19:22:26fowloh ok
19:23:08fowli think i had a memory leak or overlap in there
19:23:34AraqI fixed the closure leak
19:23:59fowlthe userdata pointer in cpshape/cpbody was getting touched somehow but i couldnt figure it out
19:24:32Araq*shrug* the test won't be run anyway ;-)
19:24:42Araqit's some nice stress test for the compiler
19:24:57fowlyea
19:25:12Araqyou should checkout endb and watchpoints to figure out the corruption
19:30:41*zahary quit (Quit: Leaving.)
19:35:44*zahary joined #nimrod
19:55:32NimBotAraq/Nimrod 1e9ff02 Araq [+49 ±2 -0]: added manyloc test suite; --path now relative to project dir if not absolute
20:05:37Araqreactormonk: the tests still work for the C target too, right?
20:08:08reactormonkAraq, yup
20:10:08reactormonkAraq, at least the ones in times.nim
20:10:53AraqI don't think we have any other :P
20:13:58NimBotAraq/Nimrod e144b8b Simon Hafner [+0 ±1 -0]: added toSeconds and fromSeconds to times. fixes #334
20:13:58NimBotAraq/Nimrod 321e32d Araq [+0 ±1 -0]: Merge pull request #384 from Tass/master... 3 more lines
20:16:15Araqgradha: https://github.com/gradha/argument_parser/blob/master/examples/ex_wget.nim is a deadlink
20:16:27Araqoh never mind
20:16:42gradharegexes FTW!
20:20:21Araqgradha: what commit triggered it?
20:21:00gradhano idea
20:21:44gradhaaccording to the file dates anything in the last month
20:21:55Araqyay
20:22:05Araqgood nothing happened during the last month
20:23:21gradhamaybe we could add to nimrod's tester a superb option to compile external repos as test case
20:24:33Araqthat has always been babel's real purpose ;-)
20:26:34Araqnew_parsed_parameter is superfluous now that we have object constructor expressions, right?
20:27:09gradhait does some compile time tricks with when
20:27:29gradhahow do the constructors work with variant objects?
20:27:50Araqobj(kind: value, otherField: 2)
20:28:19Araqthe only thing to remember is to set 'kind' first
20:28:29gradhadoes it compile the other way round?
20:29:35gradhathe template is a few keystrokes shorted due to not having to specify the field names
20:29:44Araqyeah but it fails at runtime
20:29:52Araqand yeah well
20:30:04Araqthe template does it the deprecated way
20:30:30Araqhowever, we have thousands of lines that do it this way
20:30:33gradhawhen will deprecation take effect?
20:30:41Araqafter 0.9.2
20:30:49gradhaso at nimrod 3000?
20:34:49Araqthe official title would be Nimrod 40K ;-)
20:34:59gradhanice, Nimrod Warhammer
20:36:06gradhaso this is why you like sunsets? http://www.wallpapervortex.com/wallpaper-17638_warhammer_40k.html
20:37:39Araqnah that's a coincidence
20:38:00gradhaI want to play this version http://users.content.ytmnd.com/1/7/9/17983a1c0ecf7bb249e99a9c03c2d2ed.jpg
20:38:14gradhafinally something matching my avatar
20:39:11Araqand I finally got used to your drunken pic
20:39:41Araqnow you're some oxidized ferrum instead
20:39:55gradhaI would prefer to use this one http://dl.dropbox.com/u/145894/cthugha_avatar.gif but gravatar sucks
20:42:05Araqjust make it a png, the animation ain't that important
20:44:02gradhathe animation is the good part
20:45:26Araqhow kind of you to announce the new argument parser module that breaks the compiler
20:45:53gradhathe module seems to work fine, it's the example which breaks it, or is it?
20:46:05AraqI dunno
20:46:20Araqreactormonk's patch broke C code generation and I don't know how
20:46:24gradhaall the other examples work, so I though it's a specific problem of that one
20:48:46reactormonkAraq, ... what?
20:48:57reactormonkwhich one?
20:49:37Araqthe one I just applied
20:50:21dom96This seems the problem: lib/pure/times.nim(526, 24) Error: can have an unlisted effect: TEffect
20:50:31reactormonkdamnit
20:52:34reactormonkit compiled :-(
20:52:54reactormonkI really need to read up on the effects system
20:54:15Araqgood luck with that ;-)
20:54:24AraqI think only the spec mentions it
20:54:45Araqand then it's like 4 rules that describe how it works
20:54:50Araqbut not what it does ;-)
20:57:53reactormonkargh
21:26:46Araqhrm #385 is pretty hard ...
21:27:16gradhaI was going to start bisect it, want me to do so?
21:27:30Araqyes please
21:27:46gradhabtw, didn't know fork is so evil http://stackoverflow.com/a/15991761/172690
21:29:19Araqyeah me neither
21:29:53AraqI only knew it can cause problems with locks
21:30:17Araqbut it's a nice new argument against unix fanbois
21:50:18gradhaupdated https://github.com/Araq/Nimrod/issues/385
22:13:21gradhaIIRC to use gcc-mp-4.6 I have to update some dotted linker variable in config/nimrod.cfg, any idea which one?
22:58:04Araqgcc.exe and gcc.linkerExe?
22:58:32Araqand set cc = gcc
22:58:33gradhayes, it's working now, after removing the fast-asm
22:59:44Araqare you sure about the bisect?
22:59:53Araqthe patch that broke it looks strange
23:00:06gradhait compiles with the previous commit
23:00:39gradhabtw, Aporia compiles with gcc-mp-4.6, so it's the clang version which fails
23:01:26AraqI'm sure zahary is working day and night to figure out the cause ;-)
23:01:41Araqmaybe I should install clang, maybe it breaks here on linux too
23:03:16Araqgradha: the thing is ... if I make it return if x.typ.isNil then it fails later during codegen
23:04:24gradhawhy does the previous version work?
23:04:38AraqI don't know
23:05:22gradhawait, I'll try with the gcc version I have now
23:06:40gradhafails too
23:07:14gradhaoh, the stack trace is different
23:08:19Araquh oh
23:08:33Araqthat sounds like some nasty corruption
23:08:39Araqwhat is the stack trace?
23:09:09gradhaah, no, it's the same, I must have been looking somewhere else
23:09:15Araqah good
23:20:10gradhaisn't also corruption that gcc compiles Aporia but clang not on macosx?
23:26:07*gradha quit (Quit: bbl, have youtube videos to watch)
23:38:39dom96Araq: I think we should create some benchmarks and include them on the new website once 0.9.2 is released.
23:43:53reactormonkAraq, any idea how to implement genRepr for JS? gotta walk the JS object graph or something else?
23:44:07reactormonkzahary, got me an example session with serve?
23:44:12reactormonkjust a console log.
23:47:06dom96reactormonk: serve is just basically how you usually use idetools from the command line, i.e. nimrod idetools --def --track ..etc. you basically send it whatever you would execute from the command line but without the 'nimrod'
23:47:31dom96reactormonk: also it seems that it currently requires a project filename when executing nimrod serve.
23:47:43reactormonkdom96, project filename?
23:47:56dom96The main project file.
23:48:04reactormonkmain project file?
23:48:10dom96For example: for aporia this would be aporia.nim
23:48:23dom96Your main file
23:48:26dom96The file you compile
23:48:43reactormonkthe file that pulls in all dependencies?
23:48:58dom96yes
23:49:32reactormonknimrod serve <project file>?
23:49:37dom96yeah
23:49:57dom96you also need to specify --server.type:stdin or --server.type:socket IIRC