00:11:09 | Araq | good 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:40 | dom96 | good morning |
09:29:19 | * | shodan45 quit (Quit: Konversation terminated!) |
09:31:15 | NimBot | Araq/Nimrod devel f9c46b0 Reimer Behrends [+0 ±1 -0]: Properly handle staticExec() generating large output.... 4 more lines |
09:31:15 | NimBot | Araq/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:35 | Araq_ | 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:09 | Araq_ | 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:14 | Araq_ | 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:15 | EXetoC | c2nim 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:39 | Joe_knock | ? |
16:56:03 | * | Joe_knock quit (Max SendQ exceeded) |
16:56:05 | EXetoC | ! |
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:35 | imjoe` | 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:30 | dom96 | It includes system and other modules I guess? |
17:09:44 | dom96 | set a breakpoint somewhere with 'break file.nim:123' |
17:13:43 | imjoe` | 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:48 | dom96 | imjoe`: the symbols have some numbers added to them to make them unique. |
17:38:04 | dom96 | imjoe`: try writing a_ and pressing tab |
17:40:32 | Araq | EXetoC: pure for objects hasn't been necessary for years now. c2nim finally knows this. |
17:40:53 | Jehan_ | Global symbols do. Local variables generally have the same name (converted to lowercase, without underscores) as the Nim source. |
17:43:54 | Jehan_ | 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:16 | Mat3 | hello |
17:45:37 | dom96 | hey Mat3, fixed your git yet? |
17:45:47 | Mat3 | hi dom96 |
17:46:02 | * | q66[lap] quit (Ping timeout: 250 seconds) |
17:46:44 | Mat3 | I have reinstalled git and now the server seem to respond |
17:46:56 | Mat3 | anyhow I need a complete new configuration |
17:47:02 | * | q66 quit (Ping timeout: 260 seconds) |
17:47:29 | imjoe` | 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:18 | Mat3 | echo a ? |
17:49:00 | dom96 | print *a I guess |
17:49:11 | dom96 | Mat3: He's using gdb. |
17:49:53 | Mat3 | imjoe': why do you not try fdbg which has a far better interface in my opinion ? |
17:50:03 | imjoe` | print *a => $5 = {Sup = {len = 140737354130720, reserved = 0}, data = 0x7ffff7ffe5d0 ""} |
17:50:20 | imjoe` | fdbg? never heard of it. let me look |
17:50:38 | dom96 | Mat3: Does that mean you can put your code on github? |
17:50:39 | * | adrusi quit (Quit: adrusi) |
17:51:17 | Araq | imjoe`: a->data should work |
17:51:53 | Mat3 | imjoe`: http://fdbg.x86asm.net/ |
17:52:33 | Mat3 | or just display the memory content at a |
17:52:49 | Mat3 | = 0x7ffff7ffe5d0 |
17:53:29 | * | q66[lap] joined #nimrod |
17:53:36 | * | q66_ is now known as q66 |
17:54:10 | imjoe` | 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:37 | Jehan_ | 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:41 | treeform2 | I 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:35 | dom96 | hello treeform2! |
19:17:48 | treeform2 | hey dom96 |
19:17:53 | treeform2 | the only thing i found was this: https://github.com/Araq/Nimrod/issues/371 |
19:17:55 | dom96 | I don't think anyone looked at that yet. It would certainly be very cool. |
19:19:04 | dom96 | If you want to take a go at generating asm.js then I would encourage you to do so :) |
19:19:26 | Araq | treeform2: looked at it, and don't see the point |
19:19:50 | Araq | emscripten works with Nim too and gives you what you're after |
19:20:06 | treeform2 | I did not know emscripten works with nim |
19:20:17 | treeform2 | is there any tutorial on how to set it up? |
19:20:21 | Araq | the thing is, JS really means 2 different things: 1. run on the browser, access the DOM |
19:20:28 | treeform2 | do i just compile to C and then compile the C code? |
19:20:45 | Araq | 2. run on the browser, pretend it's not a browser |
19:20:50 | treeform2 | Araq: yes, i just want access to webGL so that I can make games and other high performance things |
19:21:01 | Araq | for (1) we have the JS backend, for (2) there is emscripten |
19:21:24 | treeform2 | Araq: i want the option #2. |
19:21:47 | treeform2 | I'll try the emscripten approach |
19:22:21 | * | Mat3-bbl is now known as Mat3 |
19:22:24 | Araq | alright |
19:23:26 | treeform2 | emscripten 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:30 | Araq | treeform2: 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:56 | treeform2 | Araq: hmm ok, i am sure with enough time i can make it work |
19:25:04 | treeform2 | i do have the C files |
19:25:31 | Araq | well I can make emscripten a proper target |
19:25:33 | treeform2 | but 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:38 | Joe_knock | IRC is really being a pain. |
19:26:02 | treeform2 | Joe_knock: emscripten is pain or nim > c > emscripten > js is a pain? |
19:26:46 | dom96 | Joe_knock: hrm, your ping seems ok. |
19:26:56 | Joe_knock | treeform2: Communicating via IRC :'D |
19:26:59 | Araq | treeform2: yeah but asm.js requires almost a new code generator and in particular source code maps are a pita to generate |
19:27:00 | Mat3 | treeform2: I assume you are aware that asm.js don't support any dynamic Javascript features which define that language |
19:27:28 | Joe_knock | dom96: 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:03 | treeform2 | Mat3, yes i been looking at heap coffee and lljs as alternatives |
19:28:04 | dom96 | Joe_knock: xchat does its own rate limiting I think. |
19:28:23 | treeform2 | i am writing javascript with asm.js style semantics for a while now and its a pain |
19:28:28 | dom96 | Joe_knock: You're quitting with 'Max SendQ exceeded', try researching that. |
19:29:49 | Araq | treeform2: lol. nobody should write asm.js by hand |
19:30:47 | treeform2 | Araq: exactly, its not really asm.js that I am about |
19:30:52 | Joe_knock | dom96: What does the full message say? |
19:31:01 | treeform2 | i am looking for what i call "big memory model" |
19:31:02 | dom96 | Joe_knock: * Joe_knock has quit (Max SendQ exceeded) |
19:31:13 | dom96 | Joe_knock: Try asking in #freenode, they may help you. |
19:31:28 | treeform2 | basically I am into allocating everything into one big buffer and using that big buffer |
19:31:45 | treeform2 | and not using normal js high level types such as objects and arrays |
19:31:46 | Mat3 | try Cobol |
19:32:10 | Mat3 | ^(allocating everything into one big buffer) ... or BCPL |
19:32:20 | treeform2 | this way I can keep GC out of the way, align my memory access and still hit proper frame rate. |
19:32:22 | Araq | Mat3: you're not helpful |
19:32:29 | Joe_knock | dom96: "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:59 | Araq | treeform2: emscripten kind of does that and afaict nim's GC works with it |
19:33:01 | treeform2 | now i feel like you guys are making fun of me |
19:33:05 | dom96 | Joe_knock: So you are sending too much I guess? |
19:33:30 | Joe_knock | dom96: I wonder :-/ :-/ |
19:33:56 | Araq | well rumors are the GC works with emscripten, I should check that one day |
19:33:59 | Mat3 | Araq: it was a side joke |
19:35:02 | dom96 | Joe_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:20 | dom96 | Perhaps you are being sent data faster than you can receive it? |
19:35:30 | dom96 | but that sounds unlikely |
19:35:47 | Joe_knock | treeform2: "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:47 | Joe_knock | dom96: 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:28 | Joe_knock | Oddly though, once I killed off the #javascript channel, all is well :'D |
19:37:33 | dom96 | Joe_knock: maybe. |
19:42:41 | * | Sembei quit (Max SendQ exceeded) |
19:43:45 | * | Sembei joined #nimrod |
19:45:18 | treeform2 | Araq: emcc seems not to like your .h file |
19:45:26 | treeform2 | https://gist.github.com/anonymous/2d8698f90524d5d5e0ae |
19:46:39 | Araq | treeform2: use --cpu:x86 |
19:46:55 | treeform2 | for emcc? |
19:47:02 | Araq | for nimrod |
19:48:13 | treeform2 | command line(1, 1) Error: unknown CPU: 'x86' |
19:48:22 | treeform2 | without the cpu the command works |
19:48:43 | treeform2 | nimrod c --cpu:x86 hw.nim |
19:49:07 | treeform2 | http://forum.nimrod-lang.org/t/138 |
19:49:13 | treeform2 | did you mean --cpu:i386 ? |
19:49:47 | * | oddmunds quit (Ping timeout: 245 seconds) |
19:50:18 | treeform2 | https://gist.github.com/anonymous/28a3b039a65a017ecf16 |
19:50:30 | treeform2 | ^ I did the other cpu type that worked but cause issues down the road |
19:50:50 | Araq | I told you to use --compileOnly --genScript |
19:51:23 | treeform2 | ok i'll look into that |
19:51:50 | treeform2 | nimrod c --compileOnly --genScript --cpu:x86 hw.nim |
19:51:52 | treeform2 | does not work |
19:53:07 | treeform2 | nimrod c --compileOnly --genScript --cpu:i386 hw.nim |
19:53:16 | treeform2 | worked and emcc seamed to be happy |
19:53:43 | treeform2 | but i am missing symbols looks like there needs to be a linking step some place |
19:54:38 | Araq | treeform2: I know of people who got it to work |
19:55:01 | Araq | but I can make it an official target for the next release, it's not hard |
19:55:10 | treeform2 | do you have a link to a write up or some thing? I am new to both nimrod and emcc. |
19:55:43 | treeform2 | Araq: i appreciate it if that could be in the new release, that would make it much easer for people like me |
19:56:06 | Araq | unfortunately there is no documentation for em+nim |
19:57:02 | EXetoC | Joe_knock: the bandwidth must be incredibly low then |
19:57:39 | NimBot | nimrod-code/nimbuild master 28c434e Dominik Picheta [+0 ±1 -0]: Small fixes. |
19:58:38 | treeform2 | Araq: 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:21 | treeform2 | oh no it does sorry |
19:59:29 | treeform2 | (it does not if no changes) |
20:01:05 | treeform2 | https://gist.github.com/anonymous/286a6c68ad2b3e4e3c0c |
20:01:12 | treeform2 | ^ i get another error complaing the standard library |
20:01:24 | treeform2 | maybe 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:45 | Araq | treeform2: which os are you on? |
20:04:55 | treeform2 | Ubuntu |
20:05:49 | treeform2 | Ubuntu 13.10 so kind of oldish |
20:08:20 | treeform2 | gcc compiles it fine though |
20:08:32 | treeform2 | this is emcc that can't |
20:09:12 | Joe_knock | EXetoC: My connection isn't "that" slow (unless my service provider is throttling me). |
20:09:53 | Araq | treeform2: -d MAP_ANONYMOUS=0 or something like that |
20:10:01 | Araq | pass that to emcc |
20:10:50 | Araq | but 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:58 | Araq | maybe your version of emcc is old? |
20:11:22 | treeform2 | maybe |
20:15:00 | * | woodgiraffe joined #nimrod |
20:16:54 | treeform2 | Araq: 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:08 | treeform2 | now it compiles it runs through emcc and runs in node.js |
20:17:27 | Araq | nice |
20:17:33 | treeform2 | its all turtles all the way down |
20:19:26 | treeform2 | omg it generates so much code |
20:28:17 | EXetoC | too much? |
20:36:01 | * | Ven joined #nimrod |
20:36:57 | treeform2 | hw.nim 16 bytes -> hw.js (via emcc) 518,313 bytes |
20:40:19 | Mat3 | wow |
20:40:21 | * | Demos joined #nimrod |
20:43:08 | Jehan_ | That's normal for emcc. |
20:43:34 | Jehan_ | I think a simple hello world program in C runs to 250k or so of JS. |
20:44:40 | Jehan_ | 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:10 | NimBot | Araq/Nimrod bigbreak a90f73c Araq [+0 ±3 -0]: nimfix can fix obsolete statement comments |
21:26:10 | NimBot | Araq/Nimrod bigbreak 7333237 Araq [+0 ±11 -0]: 'nimfix' improvements; FdSet is TFdSet again |
21:26:10 | NimBot | Araq/Nimrod bigbreak c53a27f Araq [+0 ±4 -0]: nimfix supports specialized '.nimfix' modules |
21:26:10 | NimBot | Araq/Nimrod bigbreak 46cfff0 Araq [+1 ±0 -0]: pegs.nimfix compiles |
21:26:10 | NimBot | 8 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:18 | imjoe` | 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:59 | Araq | imjoe`: thanks |
22:33:48 | * | adrusi quit (Quit: adrusi) |
23:01:59 | Joe_knock | imjoe`: Which languages does it contain? |
23:03:28 | * | fowl joined #nimrod |
23:04:21 | imjoe` | 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:33 | Joe_knock | interesting, imjoe` Will take a look soon. |
23:14:01 | * | filwit joined #nimrod |
23:14:01 | NimBot | Happy birthday to you, happy birthday to you! Happy BIRTHDAY dear filwit! happy birthday to you!!! |
23:14:14 | filwit | yay :) |
23:14:21 | Araq | aww just when dom96 went to bed |
23:14:28 | Araq | hi filwit happy birthday! |
23:14:32 | filwit | oh, is it taht late already? |
23:14:37 | filwit | thanks Araq |
23:15:17 | filwit | trying to work on the forums/docs tonight, should have something to show tomorrow sometime, Araq |
23:16:21 | filwit | so i read logs, treeform2, if you goal is WebGL, I'm not sure ecc is your best option |
23:16:33 | treeform2 | filwit: what would you recomend? |
23:17:07 | filwit | make a WebGL backend (minimal JS) and connect Nim code to it through regular `nim js ...` compilation |
23:18:06 | filwit | so 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:49 | filwit | treeform2: 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:53 | Joe_knock | happy birthday filwit. |
23:22:01 | filwit | thanks Joe_knock |
23:22:03 | Araq | filwit: nah, chances are very slim this happens |
23:22:16 | treeform2 | filwit: also emcc seems to generate so much code. |
23:22:46 | treeform2 | filwit: the reason why i want a static language is to pack everything into efficient memory representation |
23:23:01 | treeform2 | the nim js backend seems to not produce it that way |
23:23:15 | filwit | Araq: 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:35 | treeform2 | filwit: i think that what emcc does |
23:23:45 | treeform2 | actually do this already by hand. |
23:23:49 | fowl | filwit isnt the js version targetted old enough that consideration for new js features is never needed |
23:23:59 | filwit | treeform2: 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:23 | treeform2 | emcc targets kind of sort of asm.js as backend... |
23:24:48 | filwit | interesting... i did not know that... |
23:25:06 | filwit | fowl: 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:44 | fowl | filwit you said something about a new feature (typed arrays?), nim targets some really old version of js though |
23:25:45 | treeform2 | filwit: the whole point was to make emcc target ams.js and some experimental builds do so |
23:26:19 | treeform2 | filwit: what what makes program fast is not the odd +,~,|0 typing asm.js does, but its proper memory packing |
23:26:22 | filwit | treeform2: 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:55 | treeform2 | yes its the typed arrays is what makes things fast |
23:27:11 | * | darkf joined #nimrod |
23:27:57 | filwit | treeform2: 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:13 | treeform2 | that would take some time to setup |
23:28:46 | filwit | treeform2: I have a ray-tracer benchmark I can port pretty quick actually: https://github.com/zezba9000/RayTraceBenchmark/tree/master/Nimrod |
23:28:53 | treeform2 | oh nice |
23:29:18 | filwit | I just need to make a Canvas element and fillout pixels instead of saving a raw image |
23:29:45 | treeform2 | if you need help doing the nim to emcc let me know with Araq help i managed to do it |
23:30:10 | filwit | okay, thanks |
23:30:30 | filwit | looking in Arch's repos for ECC now.. |
23:31:25 | treeform2 | i 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:24 | treeform2 | here 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:52 | treeform2 | (needs webGL) |
23:33:35 | filwit | you made that? |
23:33:49 | filwit | impressive |
23:34:33 | treeform2 | thanks |
23:34:50 | filwit | pure JS or C->ECC? |
23:35:00 | treeform2 | no |
23:35:06 | treeform2 | i used coffee script |
23:35:11 | treeform2 | but with a ton of code that looks like |
23:35:11 | filwit | ah, cool |
23:35:16 | treeform2 | just array indexing |
23:35:18 | treeform2 | like |
23:35:24 | filwit | yeah i can imagine |
23:35:47 | treeform2 | f32[df*33+3] = f32[df*2+34] ... |
23:36:20 | treeform2 | so 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:44 | filwit | lol... and you wrote that by hand? damn... |
23:37:15 | treeform2 | need to make it fast :) |
23:37:24 | filwit | well 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:35 | treeform2 | i cheated a lot and did not do this... |
23:37:46 | treeform2 | but i just want to this automatically |
23:37:51 | filwit | It would be best to do a Bullet physics test or something, true, but my engine isn't ready for that. |
23:38:08 | treeform2 | you have a Bullet written in nimrod? |
23:38:16 | filwit | lol, no way |
23:38:38 | filwit | i'm writing an engine (no available source yet), which i'll be adding bullet support to later |
23:38:44 | treeform2 | ok |
23:39:56 | filwit | I'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:14 | filwit | i guess that's another reason to use ECC actually... |
23:41:13 | treeform2 | emcc seems to produce massive amounts of code though |
23:41:32 | * | treeform2 quit (Remote host closed the connection) |
23:42:20 | filwit | that 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:18 | filwit | it 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:44 | filwit | Unreal 4* |
23:43:44 | filwit | https://blog.mozilla.org/blog/2014/03/12/mozilla-and-epic-preview-unreal-engine-4-running-in-firefox/ |
23:44:12 | filwit | er wait... that's about asm.js... |
23:44:23 | * | treeform_ joined #nimrod |
23:44:27 | filwit | well they did a little demo awhile ago with Emscripten and it worked well |
23:44:35 | treeform_ | who? |
23:45:18 | dom96 | cool, it worked |
23:45:26 | dom96 | Happy birthday filwit :) |
23:45:54 | NimBot | Araq/Nimrod devel 2c99991 Araq [+1 ±5 -0]: fixes #1444 |
23:45:54 | NimBot | Araq/Nimrod devel e766c7c Araq [+0 ±1 -0]: minor bugfix for void .compileTime procs |
23:45:54 | NimBot | Araq/Nimrod devel b7f8dbb Araq [+0 ±1 -0]: fixes #1511 |
23:45:54 | NimBot | Araq/Nimrod devel dafa8cc Araq [+0 ±1 -0]: fixes #903, fixess #1513 |
23:45:56 | filwit | thanks dom96 :) |
23:46:32 | * | vendethiel quit (Ping timeout: 245 seconds) |
23:46:55 | filwit | treeform_: 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:19 | treeform_ | yes but it required a massive 20MB of javascript |
23:47:35 | treeform_ | i remember playing the unreal demo at webGL meetup |
23:47:47 | treeform_ | and it was awesome |
23:47:58 | dom96 | anyway, good night for real. |
23:48:13 | treeform_ | but i am not sure if you want to target webGl emcc is the way to go |
23:48:29 | treeform_ | it is a way to go to move your C/C++ code base to the web though. |
23:48:36 | filwit | er wait... emcc now targets asm.js according to that Modzilla article... |
23:48:44 | treeform_ | yes |
23:48:49 | filwit | awesome |
23:48:54 | treeform_ | they made asm.js for emcc |
23:49:01 | treeform_ | but took for ever to finish the asm.js mode |
23:49:54 | filwit | well i'm installing emscripten-git ATM.. was there any steps you had to take to get a Nim program running? |
23:50:20 | filwit | treeform_: 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:45 | filwit | damn 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:46 | treeform_ | filwit: http://ishtar.aff2aw.com:9001/p/nimrod-emcc |
23:54:29 | treeform_ | you can add clarifications to it if you know of a butter way, I am new to nimrod and emcc |
23:54:37 | filwit | treeform_: awesome, thank you |
23:54:47 | treeform_ | no problem |
23:57:37 | treeform_ | i have clearfield some things |
23:58:10 | filwit | yeah i noticed |
23:59:16 | filwit | i 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) |