<< 10-09-2014 >>

00:11:09Araqgood night
00:26:44*saml_ joined #nimrod
00:33:29*saml_ quit (Ping timeout: 276 seconds)
00:38:40*boydgreenfield quit (Quit: boydgreenfield)
00:43:12*flaviu quit (Ping timeout: 246 seconds)
00:45:56*saml_ joined #nimrod
00:52:47*saml_ quit (Ping timeout: 245 seconds)
00:59:57*boydgreenfield joined #nimrod
01:05:45*saml_ joined #nimrod
01:13:55*BlameStross joined #nimrod
01:14:08*BlameStross left #nimrod (#nimrod)
01:15:56*saml_ quit (Ping timeout: 252 seconds)
01:18:21*q66 quit (Quit: Leaving)
01:28:24*saml_ joined #nimrod
01:36:04*saml_ quit (Ping timeout: 268 seconds)
01:42:06*adrusi joined #nimrod
01:48:43*saml_ joined #nimrod
02:03:41*boydgreenfield quit (Quit: boydgreenfield)
02:04:13*saml_ quit (Ping timeout: 260 seconds)
02:16:51*saml_ joined #nimrod
02:23:21*willwillson quit (Ping timeout: 264 seconds)
02:44:22*brson quit (Quit: leaving)
02:46:42*xenagi quit (Read error: Connection reset by peer)
03:34:12*fowl joined #nimrod
04:00:59*saml_ quit (Ping timeout: 268 seconds)
04:04:44*Demos quit (Quit: Leaving)
04:10:40*ARCADIVS joined #nimrod
04:12:15*fowlmouth joined #nimrod
04:12:59*fowl quit (Ping timeout: 272 seconds)
04:19:05*fowlmouth quit (Ping timeout: 260 seconds)
04:37:34*nande quit (Remote host closed the connection)
05:19:09*boydgreenfield joined #nimrod
05:27:21*shodan45 joined #nimrod
05:47:35*boydgreenfield quit (Quit: boydgreenfield)
05:48:31*boydgreenfield joined #nimrod
05:49:53*ARCADIVS quit (Ping timeout: 272 seconds)
05:52:48*ARCADIVS joined #nimrod
06:10:13*BlaXpirit joined #nimrod
06:57:09*boydgreenfield quit (Quit: boydgreenfield)
06:59:57*kunev joined #nimrod
07:48:04*io2 joined #nimrod
08:53:22*jszymanski joined #nimrod
09:10:42*untitaker quit (Ping timeout: 245 seconds)
09:16:29*untitaker joined #nimrod
09:23:40dom96good morning
09:29:19*shodan45 quit (Quit: Konversation terminated!)
09:31:15NimBotAraq/Nimrod devel f9c46b0 Reimer Behrends [+0 ±1 -0]: Properly handle staticExec() generating large output.... 4 more lines
09:31:15NimBotAraq/Nimrod devel dcc00b3 Dominik Picheta [+0 ±1 -0]: Merge pull request #1524 from rbehrends/fix-staticexec2... 2 more lines
09:53:32*jszymanski left #nimrod ("Textual IRC Client: www.textualapp.com")
11:11:32*Araq_ joined #nimrod
11:11:34*[CBR]Unspoken quit (Quit: Leaving.)
11:26:00*adrusi quit (Quit: adrusi)
11:32:17*ARCADIVS quit (Quit: WeeChat 0.4.3)
12:01:03*fowl joined #nimrod
12:05:07*adrusi joined #nimrod
12:05:35*willwillson joined #nimrod
12:06:32*fowlmouth joined #nimrod
12:08:37*fowl quit (Ping timeout: 272 seconds)
12:26:35Araq_ping Varriount
12:36:16*xcombelle joined #nimrod
12:36:59*boydgreenfield joined #nimrod
12:37:45*fowlmouth quit (Ping timeout: 264 seconds)
12:38:00*DiffuseStorm left #nimrod ("Leaving")
12:42:44*adrusi quit (Quit: adrusi)
12:46:24*1JTAAEMB7 joined #nimrod
12:47:10*boydgreenfield quit (Quit: boydgreenfield)
12:48:09Araq_hi 1JTAAEMB7 welcome
13:12:11*1JTAAEMB7 quit (Remote host closed the connection)
13:17:23*darkf quit (Quit: Leaving)
13:23:18*Sembei joined #nimrod
13:24:21*Pisuke quit (Read error: Connection reset by peer)
13:29:31*xcombelle quit (Quit: Quitte)
13:31:54*[CBR]Unspoken joined #nimrod
13:35:32*francisl joined #nimrod
14:03:59*adrusi joined #nimrod
14:04:33*TestBot1234 joined #nimrod
14:05:14*TestBot1234 quit (Read error: Connection reset by peer)
14:11:13*adrusi quit (Quit: adrusi)
14:37:57*francisl quit (Quit: francisl)
14:38:21*francisl joined #nimrod
15:12:02*kuzy000_ joined #nimrod
15:18:13*francisl quit (Quit: francisl)
15:19:22*adrusi joined #nimrod
15:22:55*jasondotstar joined #nimrod
15:31:08*tillzy joined #nimrod
15:44:44*francisl joined #nimrod
15:47:58*Jesin joined #nimrod
15:49:00*francisl quit (Client Quit)
15:59:01*francisl joined #nimrod
16:02:20*kunev quit (Quit: leaving)
16:09:18*nande joined #nimrod
16:11:04*Jesin quit (Read error: Connection reset by peer)
16:11:10*Jessin joined #nimrod
16:12:26*Jessin quit (Remote host closed the connection)
16:12:41*nullmove joined #nimrod
16:12:43*brson joined #nimrod
16:13:14Araq_hi nullmove welcome
16:19:12*Jesin joined #nimrod
16:26:01*Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 32.0/20140825202822])
16:26:05*boydgreenfield joined #nimrod
16:26:15*boydgreenfield quit (Read error: Connection reset by peer)
16:27:11*boydgreenfield joined #nimrod
16:27:31*boydgreenfield quit (Read error: Connection reset by peer)
16:28:22*boydgreenfield joined #nimrod
16:29:11*boydgreenfield quit (Read error: Connection reset by peer)
16:30:00*boydgreenfield joined #nimrod
16:30:11*boydgreenfield quit (Read error: Connection reset by peer)
16:30:55*boydgreenfield joined #nimrod
16:31:05*boydgreenfield quit (Client Quit)
16:31:15EXetoCc2nim doesn't apply 'pure' anymore?
16:32:03*nullmove quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
16:35:52*Jesin quit (Quit: Leaving)
16:46:27*q66 joined #nimrod
16:53:22*Joe_knock joined #nimrod
16:53:48*Joe_knock quit (Max SendQ exceeded)
16:54:27*Joe_knock joined #nimrod
16:54:35*Joe_knock quit (Max SendQ exceeded)
16:55:03*Joe_knock joined #nimrod
16:55:39Joe_knock?
16:56:03*Joe_knock quit (Max SendQ exceeded)
16:56:05EXetoC!
16:57:12*Joe_knock joined #nimrod
16:57:21*Joe_knock quit (Max SendQ exceeded)
16:57:51*Joe_knock joined #nimrod
16:58:41*Joe_knock quit (Max SendQ exceeded)
16:59:09*Joe_knock joined #nimrod
17:00:00*Joe_knock quit (Max SendQ exceeded)
17:02:39*boydgreenfield joined #nimrod
17:08:17*boydgreenfield quit (Read error: Connection reset by peer)
17:08:35imjoe`how to debug nimrod programs? I compile with --debugInfo --lineDir:on but then when i gdb echotest, it is showing thousands of lines of code when i do "l". i would expect it would just show the 2 lines of this 2 line program?
17:08:38*boydgreenfield joined #nimrod
17:09:30dom96It includes system and other modules I guess?
17:09:44dom96set a breakpoint somewhere with 'break file.nim:123'
17:13:43imjoe`oh yeah. i have var a = "hello world\n" when i do "print a" it says "No symbol "a" in current context."
17:16:32*boydgreenfield quit (Read error: Connection reset by peer)
17:16:54*boydgreenfield joined #nimrod
17:22:57*boydgreenfield quit (Read error: Connection reset by peer)
17:23:00*vendethiel joined #nimrod
17:23:21*boydgreenfield joined #nimrod
17:25:06*boydgreenfield quit (Read error: Connection reset by peer)
17:25:53*boydgreenfield joined #nimrod
17:26:58*boydgreenfield quit (Read error: Connection reset by peer)
17:27:44*boydgreenfield joined #nimrod
17:28:53*boydgreenfield quit (Read error: Connection reset by peer)
17:29:59*boydgreenfield joined #nimrod
17:31:04*boydgreenfield quit (Client Quit)
17:33:30*adrusi quit (Quit: adrusi)
17:34:10*adrusi joined #nimrod
17:35:02*francisl_ joined #nimrod
17:36:09*francisl quit (Ping timeout: 260 seconds)
17:36:09*francisl_ is now known as francisl
17:37:30*Jehan_ joined #nimrod
17:37:48dom96imjoe`: the symbols have some numbers added to them to make them unique.
17:38:04dom96imjoe`: try writing a_ and pressing tab
17:40:32AraqEXetoC: pure for objects hasn't been necessary for years now. c2nim finally knows this.
17:40:53Jehan_Global symbols do. Local variables generally have the same name (converted to lowercase, without underscores) as the Nim source.
17:43:54Jehan_It should in principle be possible to write a Python extension for gdb/lldb to handle that.
17:44:57*q66_ joined #nimrod
17:45:10*Mat3 joined #nimrod
17:45:16Mat3hello
17:45:37dom96hey Mat3, fixed your git yet?
17:45:47Mat3hi dom96
17:46:02*q66[lap] quit (Ping timeout: 250 seconds)
17:46:44Mat3I have reinstalled git and now the server seem to respond
17:46:56Mat3anyhow I need a complete new configuration
17:47:02*q66 quit (Ping timeout: 260 seconds)
17:47:29imjoe`ah, yes a_ tab worked as did putting it in a proc and then just print a. so "a" is a string: var a = "hello world". print a shows: $2 = (NimStringDesc *) 0x7ffff7ffe5c0 how can i make it show the content "hello world" ?
17:48:18Mat3echo a ?
17:49:00dom96print *a I guess
17:49:11dom96Mat3: He's using gdb.
17:49:53Mat3imjoe': why do you not try fdbg which has a far better interface in my opinion ?
17:50:03imjoe`print *a => $5 = {Sup = {len = 140737354130720, reserved = 0}, data = 0x7ffff7ffe5d0 ""}
17:50:20imjoe`fdbg? never heard of it. let me look
17:50:38dom96Mat3: Does that mean you can put your code on github?
17:50:39*adrusi quit (Quit: adrusi)
17:51:17Araqimjoe`: a->data should work
17:51:53Mat3imjoe`: http://fdbg.x86asm.net/
17:52:33Mat3or just display the memory content at a
17:52:49Mat3= 0x7ffff7ffe5d0
17:53:29*q66[lap] joined #nimrod
17:53:36*q66_ is now known as q66
17:54:10imjoe`oh yeah *a and a->data work. weird thing, i have var a="hello" on line 3, and echo(a) on line 4. and breakpoint at line 4. but a->data is empty at that breakpoint. if i step through, it gets set. so i guess var statements are done "just in time"?
17:58:48*tillzy quit (Read error: No route to host)
18:20:26*Mat3 is now known as Mat3-bbl
18:28:10*BlaXpirit quit (Quit: Quit Konversation)
18:30:14*adrusi joined #nimrod
18:33:15*BlaXpirit joined #nimrod
18:34:31*BlaXpirit quit (Client Quit)
18:40:55*adrusi quit (Quit: adrusi)
18:42:05*BlaXpirit joined #nimrod
18:44:03*francisl quit (Quit: francisl)
18:45:06*Matthias247 joined #nimrod
18:45:26*francisl joined #nimrod
18:49:52*francisl quit (Ping timeout: 240 seconds)
18:54:37Jehan_imjoe`: Not really, more likely it's the backend optimizer moving stuff around.
18:55:29*TestBot1234 joined #nimrod
18:55:35*TestBot1234 quit (Read error: Connection reset by peer)
19:14:30*Skrylar is now known as ASkrylarA
19:14:48*treeform2 joined #nimrod
19:15:44*ASkrylarA is now known as Skrylar
19:16:41treeform2I just compiled nimrod and tried out the JS back end. I am kind of excited about where this is going. Looks like it compiles to normalish js with js objects, etc... has any one ever looked at compiling it to some thing like asm.js instead (using just a huge js array as memory, not using more C like objects)?
19:17:35dom96hello treeform2!
19:17:48treeform2hey dom96
19:17:53treeform2the only thing i found was this: https://github.com/Araq/Nimrod/issues/371
19:17:55dom96I don't think anyone looked at that yet. It would certainly be very cool.
19:19:04dom96If you want to take a go at generating asm.js then I would encourage you to do so :)
19:19:26Araqtreeform2: looked at it, and don't see the point
19:19:50Araqemscripten works with Nim too and gives you what you're after
19:20:06treeform2I did not know emscripten works with nim
19:20:17treeform2is there any tutorial on how to set it up?
19:20:21Araqthe thing is, JS really means 2 different things: 1. run on the browser, access the DOM
19:20:28treeform2do i just compile to C and then compile the C code?
19:20:45Araq2. run on the browser, pretend it's not a browser
19:20:50treeform2Araq: yes, i just want access to webGL so that I can make games and other high performance things
19:21:01Araqfor (1) we have the JS backend, for (2) there is emscripten
19:21:24treeform2Araq: i want the option #2.
19:21:47treeform2I'll try the emscripten approach
19:22:21*Mat3-bbl is now known as Mat3
19:22:24Araqalright
19:23:26treeform2emscripten type code still can access the dom through a ffi layer of some sort
19:23:57*Joe_knock joined #nimrod
19:24:06*Joe_knock quit (Max SendQ exceeded)
19:24:30Araqtreeform2: yeah well for now you have to use --genScript --compileOnly and then adapt the script for emscripten
19:24:38*Joe_knock joined #nimrod
19:24:56treeform2Araq: hmm ok, i am sure with enough time i can make it work
19:25:04treeform2i do have the C files
19:25:31Araqwell I can make emscripten a proper target
19:25:33treeform2but doesn't emscripten do a bunch of C style things, that would not be needed for a direct nim to asm.js compile?
19:25:38Joe_knockIRC is really being a pain.
19:26:02treeform2Joe_knock: emscripten is pain or nim > c > emscripten > js is a pain?
19:26:46dom96Joe_knock: hrm, your ping seems ok.
19:26:56Joe_knocktreeform2: Communicating via IRC :'D
19:26:59Araqtreeform2: yeah but asm.js requires almost a new code generator and in particular source code maps are a pita to generate
19:27:00Mat3treeform2: I assume you are aware that asm.js don't support any dynamic Javascript features which define that language
19:27:28Joe_knockdom96: I have my xchat setup to join about 10 channels on startup. I hope freenode is not seeing me as a bot/spammer.
19:28:03treeform2Mat3, yes i been looking at heap coffee and lljs as alternatives
19:28:04dom96Joe_knock: xchat does its own rate limiting I think.
19:28:23treeform2i am writing javascript with asm.js style semantics for a while now and its a pain
19:28:28dom96Joe_knock: You're quitting with 'Max SendQ exceeded', try researching that.
19:29:49Araqtreeform2: lol. nobody should write asm.js by hand
19:30:47treeform2Araq: exactly, its not really asm.js that I am about
19:30:52Joe_knockdom96: What does the full message say?
19:31:01treeform2i am looking for what i call "big memory model"
19:31:02dom96Joe_knock: * Joe_knock has quit (Max SendQ exceeded)
19:31:13dom96Joe_knock: Try asking in #freenode, they may help you.
19:31:28treeform2basically I am into allocating everything into one big buffer and using that big buffer
19:31:45treeform2and not using normal js high level types such as objects and arrays
19:31:46Mat3try Cobol
19:32:10Mat3^(allocating everything into one big buffer) ... or BCPL
19:32:20treeform2this way I can keep GC out of the way, align my memory access and still hit proper frame rate.
19:32:22AraqMat3: you're not helpful
19:32:29Joe_knockdom96: "This is an old configuration on some servers that holds a max amount of data you can send during one session. This means that the server can't relay the text you sent to it and the server disconnects you to make you start a new session. " This is the info on the interwebs
19:32:59Araqtreeform2: emscripten kind of does that and afaict nim's GC works with it
19:33:01treeform2now i feel like you guys are making fun of me
19:33:05dom96Joe_knock: So you are sending too much I guess?
19:33:30Joe_knockdom96: I wonder :-/ :-/
19:33:56Araqwell rumors are the GC works with emscripten, I should check that one day
19:33:59Mat3Araq: it was a side joke
19:35:02dom96Joe_knock: This is what wikipedia says though: "It is possible to flood a client off the network simply by sending them data faster than they can receive it and thus cause a quit with the "max sendq exceeded" message"
19:35:20dom96Perhaps you are being sent data faster than you can receive it?
19:35:30dom96but that sounds unlikely
19:35:47Joe_knocktreeform2: "now i feel like you guys are making fun of me" . Please don't feel that way. We want you to visit nimrod as much as you can and we will try our best to make this your defacto language.
19:36:47Joe_knockdom96: I wonder if this is happening due to me trying to join 10 channels at once. I am receiving too much channel data too quickly (possibly).
19:37:28Joe_knockOddly though, once I killed off the #javascript channel, all is well :'D
19:37:33dom96Joe_knock: maybe.
19:42:41*Sembei quit (Max SendQ exceeded)
19:43:45*Sembei joined #nimrod
19:45:18treeform2Araq: emcc seems not to like your .h file
19:45:26treeform2https://gist.github.com/anonymous/2d8698f90524d5d5e0ae
19:46:39Araqtreeform2: use --cpu:x86
19:46:55treeform2for emcc?
19:47:02Araqfor nimrod
19:48:13treeform2command line(1, 1) Error: unknown CPU: 'x86'
19:48:22treeform2without the cpu the command works
19:48:43treeform2nimrod c --cpu:x86 hw.nim
19:49:07treeform2http://forum.nimrod-lang.org/t/138
19:49:13treeform2did you mean --cpu:i386 ?
19:49:47*oddmunds quit (Ping timeout: 245 seconds)
19:50:18treeform2https://gist.github.com/anonymous/28a3b039a65a017ecf16
19:50:30treeform2^ I did the other cpu type that worked but cause issues down the road
19:50:50AraqI told you to use --compileOnly --genScript
19:51:23treeform2ok i'll look into that
19:51:50treeform2nimrod c --compileOnly --genScript --cpu:x86 hw.nim
19:51:52treeform2does not work
19:53:07treeform2 nimrod c --compileOnly --genScript --cpu:i386 hw.nim
19:53:16treeform2worked and emcc seamed to be happy
19:53:43treeform2but i am missing symbols looks like there needs to be a linking step some place
19:54:38Araqtreeform2: I know of people who got it to work
19:55:01Araqbut I can make it an official target for the next release, it's not hard
19:55:10treeform2do you have a link to a write up or some thing? I am new to both nimrod and emcc.
19:55:43treeform2Araq: i appreciate it if that could be in the new release, that would make it much easer for people like me
19:56:06Araqunfortunately there is no documentation for em+nim
19:57:02EXetoCJoe_knock: the bandwidth must be incredibly low then
19:57:39NimBotnimrod-code/nimbuild master 28c434e Dominik Picheta [+0 ±1 -0]: Small fixes.
19:58:38treeform2Araq: one other question. nimrod seems to print out the gcc command line to link things, but not the gcc command to compile the c thing. Or does it not use gcc to compile .c to .o ?
19:59:21treeform2oh no it does sorry
19:59:29treeform2(it does not if no changes)
20:01:05treeform2https://gist.github.com/anonymous/286a6c68ad2b3e4e3c0c
20:01:12treeform2^ i get another error complaing the standard library
20:01:24treeform2maybe its not meant to be compiled with emcc?
20:03:30*Matthias247 quit (Quit: Matthias247)
20:03:52*Matthias247 joined #nimrod
20:04:36*NimBot joined #nimrod
20:04:45Araqtreeform2: which os are you on?
20:04:55treeform2Ubuntu
20:05:49treeform2Ubuntu 13.10 so kind of oldish
20:08:20treeform2gcc compiles it fine though
20:08:32treeform2this is emcc that can't
20:09:12Joe_knockEXetoC: My connection isn't "that" slow (unless my service provider is throttling me).
20:09:53Araqtreeform2: -d MAP_ANONYMOUS=0 or something like that
20:10:01Araqpass that to emcc
20:10:50Araqbut seriously ... if it doesn't know about MAP_ANONYMOUS I don't know how millions of lines of code can be ported to JS with it ...
20:10:58Araqmaybe your version of emcc is old?
20:11:22treeform2maybe
20:15:00*woodgiraffe joined #nimrod
20:16:54treeform2Araq: i made it worke, for some reading the -d MAP_ANONYMOUS=0 was not working for me, #define MAP_ANONYMOUS 0 at top of file did
20:17:08treeform2now it compiles it runs through emcc and runs in node.js
20:17:27Araqnice
20:17:33treeform2its all turtles all the way down
20:19:26treeform2omg it generates so much code
20:28:17EXetoCtoo much?
20:36:01*Ven joined #nimrod
20:36:57treeform2hw.nim 16 bytes -> hw.js (via emcc) 518,313 bytes
20:40:19Mat3wow
20:40:21*Demos joined #nimrod
20:43:08Jehan_That's normal for emcc.
20:43:34Jehan_I think a simple hello world program in C runs to 250k or so of JS.
20:44:40Jehan_I'd also try with -d:release (for optimization and dead code elimination).
20:49:10*saml quit (Quit: Leaving)
21:04:12*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
21:04:13*nande quit (Read error: Connection reset by peer)
21:14:38*Matthias247 quit (Read error: Connection reset by peer)
21:15:02*DiffuseStorm joined #nimrod
21:16:17*nande joined #nimrod
21:20:27*Mat3 quit (Quit: Verlassend)
21:26:10NimBotAraq/Nimrod bigbreak a90f73c Araq [+0 ±3 -0]: nimfix can fix obsolete statement comments
21:26:10NimBotAraq/Nimrod bigbreak 7333237 Araq [+0 ±11 -0]: 'nimfix' improvements; FdSet is TFdSet again
21:26:10NimBotAraq/Nimrod bigbreak c53a27f Araq [+0 ±4 -0]: nimfix supports specialized '.nimfix' modules
21:26:10NimBotAraq/Nimrod bigbreak 46cfff0 Araq [+1 ±0 -0]: pegs.nimfix compiles
21:26:10NimBot8 more commits.
21:32:51*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:37:11*adrusi joined #nimrod
21:46:16*flaviu joined #nimrod
21:49:19*BlaXpirit quit (Quit: Quit Konversation)
21:53:03*kuzy000_ quit (Ping timeout: 264 seconds)
22:06:18imjoe`this 40 minute video might be of interest to some here: http://www.infoq.com/presentations/tools-language-workbench . uses http://www.jetbrains.com/mps/
22:31:59Araqimjoe`: thanks
22:33:48*adrusi quit (Quit: adrusi)
23:01:59Joe_knockimjoe`: Which languages does it contain?
23:03:28*fowl joined #nimrod
23:04:21imjoe`Joe_knock: the gist of the presentation was extending "C" It's more at a presentational layer and then compiled down... also examples of extending plain prose, i.e. insurance contracts, requirements documents and such.
23:11:33Joe_knockinteresting, imjoe` Will take a look soon.
23:14:01*filwit joined #nimrod
23:14:01NimBotHappy birthday to you, happy birthday to you! Happy BIRTHDAY dear filwit! happy birthday to you!!!
23:14:14filwityay :)
23:14:21Araqaww just when dom96 went to bed
23:14:28Araqhi filwit happy birthday!
23:14:32filwitoh, is it taht late already?
23:14:37filwitthanks Araq
23:15:17filwittrying to work on the forums/docs tonight, should have something to show tomorrow sometime, Araq
23:16:21filwitso i read logs, treeform2, if you goal is WebGL, I'm not sure ecc is your best option
23:16:33treeform2filwit: what would you recomend?
23:17:07filwitmake a WebGL backend (minimal JS) and connect Nim code to it through regular `nim js ...` compilation
23:18:06filwitso all of you application code is still written in Nim, only the rendering needs be written in JS (you could even wrap WebGL calls if you really wanted too, but it would be easier to just do those in JS directly and wrap higher-level procs)
23:20:49filwittreeform2: i tried this out awhile ago (with Canvas2d, not WebGL) and it worked pretty well. I won't trust ecc to run Nim's GC faster than the existing JS ones... not because it may not be capable, but because it's impossible to completely turn off JS's GC.. so you *might* be paying double memory management, depending on what Nim and ECC do.
23:21:53Joe_knockhappy birthday filwit.
23:22:01filwitthanks Joe_knock
23:22:03Araqfilwit: nah, chances are very slim this happens
23:22:16treeform2filwit: also emcc seems to generate so much code.
23:22:46treeform2filwit: the reason why i want a static language is to pack everything into efficient memory representation
23:23:01treeform2the nim js backend seems to not produce it that way
23:23:15filwitAraq: i was just thinking it would be interesting if ECC actually generated faster memory management (if it managed the heap through JS's new typed arrays... but i doubt it does that)
23:23:35treeform2filwit: i think that what emcc does
23:23:45treeform2actually do this already by hand.
23:23:49fowlfilwit isnt the js version targetted old enough that consideration for new js features is never needed
23:23:59filwittreeform2: yes, the only way that's possible (it's not going to be possible with ECC either, probably) is to target asm.js as a backend
23:24:23treeform2emcc targets kind of sort of asm.js as backend...
23:24:48filwitinteresting... i did not know that...
23:25:06filwitfowl: i'm not sure what you're saying.. i wasn't suggesting adding any features to the JS backend
23:25:34*Joe_knock quit (Quit: Leaving)
23:25:44fowlfilwit you said something about a new feature (typed arrays?), nim targets some really old version of js though
23:25:45treeform2filwit: the whole point was to make emcc target ams.js and some experimental builds do so
23:26:19treeform2filwit: what what makes program fast is not the odd +,~,|0 typing asm.js does, but its proper memory packing
23:26:22filwittreeform2: i think you're right. Thinking about this more, It would probably be possible for ECC to target JS's typed arrays in the same way asm.js does
23:26:55treeform2yes its the typed arrays is what makes things fast
23:27:11*darkf joined #nimrod
23:27:57filwittreeform2: if that's the case, I'm very interested to know the performance difference between the Nim's JS backend and Nim + ECC now...
23:28:13treeform2that would take some time to setup
23:28:46filwittreeform2: I have a ray-tracer benchmark I can port pretty quick actually: https://github.com/zezba9000/RayTraceBenchmark/tree/master/Nimrod
23:28:53treeform2oh nice
23:29:18filwitI just need to make a Canvas element and fillout pixels instead of saving a raw image
23:29:45treeform2if you need help doing the nim to emcc let me know with Araq help i managed to do it
23:30:10filwitokay, thanks
23:30:30filwitlooking in Arch's repos for ECC now..
23:31:25treeform2i usually use n-body gravity simulation as a bench mark. Because it requires a bunch of desecrate elements interacting with each other in game or other simulaitons.
23:32:24treeform2here is an example where i had to hand roll a bunch of array object management: http://katana.aff2aw.com/p/web2aw/build/loader.html?map=ti
23:32:52treeform2(needs webGL)
23:33:35filwityou made that?
23:33:49filwitimpressive
23:34:33treeform2thanks
23:34:50filwitpure JS or C->ECC?
23:35:00treeform2no
23:35:06treeform2i used coffee script
23:35:11treeform2but with a ton of code that looks like
23:35:11filwitah, cool
23:35:16treeform2just array indexing
23:35:18treeform2like
23:35:24filwityeah i can imagine
23:35:47treeform2f32[df*33+3] = f32[df*2+34] ...
23:36:20treeform2so ship is at f[ship] and its health is at f[ship+4] and its pos is at f[ship+8] etc... you get the idea
23:36:44filwitlol... and you wrote that by hand? damn...
23:37:15treeform2need to make it fast :)
23:37:24filwitwell let me install a few things and get my RayTracer working on both the JS backend and ECC... then i'll let you know.
23:37:35treeform2i cheated a lot and did not do this...
23:37:46treeform2but i just want to this automatically
23:37:51filwitIt would be best to do a Bullet physics test or something, true, but my engine isn't ready for that.
23:38:08treeform2you have a Bullet written in nimrod?
23:38:16filwitlol, no way
23:38:38filwiti'm writing an engine (no available source yet), which i'll be adding bullet support to later
23:38:44treeform2ok
23:39:56filwitI've thought about porting Jitter physics engine before, but since Nim has such great interop with C it's best just to connect to the existing ones...
23:40:14filwiti guess that's another reason to use ECC actually...
23:41:13treeform2emcc seems to produce massive amounts of code though
23:41:32*treeform2 quit (Remote host closed the connection)
23:42:20filwitthat may be due to a required minimum runtime... that is, it may not scale that way with larger code bases, only it needs a basic runtime system so small tests still seem huge.
23:43:18filwitit would still be best (probably) to get an official asm.js backend, but I know the Unreal 3 engine runs pretty good with Emscripten
23:43:44filwitUnreal 4*
23:43:44filwithttps://blog.mozilla.org/blog/2014/03/12/mozilla-and-epic-preview-unreal-engine-4-running-in-firefox/
23:44:12filwiter wait... that's about asm.js...
23:44:23*treeform_ joined #nimrod
23:44:27filwitwell they did a little demo awhile ago with Emscripten and it worked well
23:44:35treeform_who?
23:45:18dom96cool, it worked
23:45:26dom96Happy birthday filwit :)
23:45:54NimBotAraq/Nimrod devel 2c99991 Araq [+1 ±5 -0]: fixes #1444
23:45:54NimBotAraq/Nimrod devel e766c7c Araq [+0 ±1 -0]: minor bugfix for void .compileTime procs
23:45:54NimBotAraq/Nimrod devel b7f8dbb Araq [+0 ±1 -0]: fixes #1511
23:45:54NimBotAraq/Nimrod devel dafa8cc Araq [+0 ±1 -0]: fixes #903, fixess #1513
23:45:56filwitthanks dom96 :)
23:46:32*vendethiel quit (Ping timeout: 245 seconds)
23:46:55filwittreeform_: Epic games made an Unreal 3 engine emscripten test awhile ago which ran good... i was trying to look it up, but i remember playing around with it and it worked well.
23:47:19treeform_yes but it required a massive 20MB of javascript
23:47:35treeform_i remember playing the unreal demo at webGL meetup
23:47:47treeform_and it was awesome
23:47:58dom96anyway, good night for real.
23:48:13treeform_but i am not sure if you want to target webGl emcc is the way to go
23:48:29treeform_it is a way to go to move your C/C++ code base to the web though.
23:48:36filwiter wait... emcc now targets asm.js according to that Modzilla article...
23:48:44treeform_yes
23:48:49filwitawesome
23:48:54treeform_they made asm.js for emcc
23:49:01treeform_but took for ever to finish the asm.js mode
23:49:54filwitwell i'm installing emscripten-git ATM.. was there any steps you had to take to get a Nim program running?
23:50:20filwittreeform_: i read something in the logs about some #define, but didn't see exactly the what was said
23:50:53*fowl quit (Ping timeout: 260 seconds)
23:51:26*vendethiel joined #nimrod
23:51:45filwitdamn this is taking forever to build... i should have let my system upgrade to LLVM/Clang 3.5 before compiling it as well
23:53:28*adrusi joined #nimrod
23:53:46treeform_filwit: http://ishtar.aff2aw.com:9001/p/nimrod-emcc
23:54:29treeform_you can add clarifications to it if you know of a butter way, I am new to nimrod and emcc
23:54:37filwittreeform_: awesome, thank you
23:54:47treeform_no problem
23:57:37treeform_i have clearfield some things
23:58:10filwityeah i noticed
23:59:16filwiti don't have node.js, so I'll try and call a JS console.log() function or something (cause I doubt echo works in browser)