00:03:20  * piscisaureus_changed nick to piscisaureus
00:13:55  * mmaleckichanged nick to mmalecki[zzz]
00:28:12  * piscisaureusquit (Quit: ~ Trillian Astra - www.trillian.im ~)
00:28:29  * alejandromgjoined
00:54:03  * piscisaureus_joined
04:17:36  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
04:19:38  <creationix>bah, going back to the 185 release
04:19:47  <creationix>oops, wrong channel
05:40:17  * alejandromgquit (Quit: Lost terminal)
09:11:22  * mmalecki[zzz]quit (Quit: Reconnecting)
09:11:40  * mmalecki[zzz]joined
09:11:50  * mmalecki[zzz]changed nick to mmalecki
09:11:56  * mmaleckiquit (Client Quit)
09:12:13  * mmaleckijoined
09:14:13  * mmaleckichanged nick to away
09:14:20  * awaychanged nick to mmalecki[away]
13:18:33  <indutny_sleeping>evening
13:18:34  <indutny_sleeping>morning
13:18:36  * indutny_sleepingchanged nick to indutny
13:19:28  <creationix>morning
13:29:03  <creationix>we need a way to remove object properties
13:29:12  <creationix>just reuse "delete" from js?
13:34:46  <indutny>creationix: yeah, sounds good
13:34:49  <indutny>ah, wait
13:34:59  <indutny>why not just a.property = nil
13:35:30  <creationix>that's what lua does
13:35:31  <indutny>do we need to support nil values in hashmaps?
13:35:39  <indutny>isn't it good?
13:35:42  <creationix>it works fine except for json values that contain nils
13:35:53  <indutny>aaah, JSON
13:36:10  <indutny>ok, delete sounds fine then
13:36:41  <creationix>so what happens when I try to read a non-existant property
13:36:47  <creationix>a = {}; a.b
13:36:56  <creationix>does it error or return nil?
13:37:19  <indutny>nil
13:37:25  <creationix>what about undefined variables
13:37:26  <indutny>I should test it, but nil :)
13:37:33  <indutny>nil === undefined
13:37:44  <creationix>compile-time error or runtime error or nil?
13:38:02  <indutny>for what?
13:38:02  <creationix>I expect compile-time error, but just making sure
13:38:07  <creationix>undefined variables
13:38:16  <indutny>undefined variables have nil value
13:38:28  <indutny>so it's the same as a[nil]
13:38:30  <indutny>which is nil
13:38:42  <creationix>do we want that behavior?
13:38:50  <indutny>why not?
13:39:24  <creationix>I can't think where it's useful
13:39:30  <creationix>and it makes it harder to detect typos
13:39:43  <creationix>strict mode in js disallows it
13:39:54  <indutny>but js supports exceptions
13:40:02  <indutny>candor has only runtime errors
13:40:18  <indutny>which can be transformed to compile errors, actually
13:40:25  <indutny>I need to add todo for this
13:41:25  <indutny>brb
13:43:27  <creationix>right, compile errors should be possible since all local variables are explicit
13:49:41  <creationix>also we need some hook into the compiler (limited eval for module loaders and such) and a way to read characters and bytes from strings
13:50:05  <indutny>well, first of all, no eval inside candor
13:50:18  <indutny>but eval will be available as C++ API
13:50:24  <creationix>good enough
13:50:36  <indutny>i.e. you can compile script which will use same Heap as one that you already have compiled
13:51:13  <creationix>and inject local variables as if they were "scope"ed in
13:51:44  <indutny>hm...
13:51:49  <indutny>I think that won't work
13:52:04  <creationix>or treat is as a function and they are arguments passed in?
13:52:24  <indutny>it's already a function with a hidden declaration :D
13:53:08  <indutny>anyway, why not just use globals?
13:53:26  <creationix>I guess globals work, there is just the chance for name conflicts
13:53:37  <creationix>module a requires module b requires module c
13:53:54  <creationix>a is reading from global "exports", but requires b before returning
13:53:57  <indutny>ok, we can solve this by giving different globals to each module
13:54:07  <indutny>s/to/for
13:54:11  <creationix>that works
13:54:26  <indutny>global is essentially just a hashmap
13:54:33  <indutny>so that's not a problem at all
13:54:38  <creationix>global scope, function scope, upvalue scope, doesn't really matter. As long as each one has a place
13:55:52  <creationix>*as long as each module has a place to get it's injected values
14:17:16  * piscisaureus_joined
15:31:38  * hij1nxjoined
15:53:13  * piscisaureus__joined
15:53:24  * piscisaureus_quit (Read error: Connection reset by peer)
15:59:12  * piscisaureus__quit (Ping timeout: 248 seconds)
16:16:36  * mmalecki[away]changed nick to mmalecki
16:36:20  <indutny>API refactor is almost finished :)
16:36:23  <indutny>not it looks sane :D
16:36:47  <creationix>:)
16:36:55  <indutny>fixing tests
16:36:59  <indutny>actually, porting
16:37:04  <creationix>good work, I'm excited to try this
16:41:30  * hij1nxquit (Quit: hij1nx)
16:52:53  * piscisaureus_joined
17:09:51  <indutny>creationix: omg, https://github.com/indutny/candor/commit/99ebf227d1723892ff2b7e7d2475358c95ad21e2
17:09:55  <indutny>can you please review API design?
17:11:25  <indutny>it may change a little
17:11:37  <indutny>I'll introduce Handle<T> like v8 does
17:11:49  <indutny>and haven't implemented Object::Get and Object::Set yet
17:12:12  <mmalecki>indutny: are you planning on writing any repl?
17:12:20  <indutny>mmalecki: yes
17:12:28  <indutny>mmalecki: but that'll be candor.io
17:12:29  <mmalecki>maybe I'll implement it if I find some time
17:12:46  <mmalecki>but you've seen the sprint sheet too, soooo :P
17:12:55  <indutny>mmalecki:yeah
17:13:02  <indutny>I'm getting closer to C++ bindings for candor
17:13:17  <indutny>few steps left
17:14:49  <indutny>(214 commits, 13592 additions, 4604 deletions)
17:15:00  <creationix>indutny, so this will be a very V8-like API then?
17:15:07  <creationix>though simpler since it's a simpler language
17:15:16  <indutny>creationix: yes
17:15:25  <indutny>creationix: HandleScope and Handle and Persistent
17:15:52  <indutny>to be honest, I surpised that it works after such a big refactoring :D
17:16:00  <creationix>that's good
17:16:07  <creationix>so where can I review the API
17:16:10  <creationix>is there a sample using it
17:16:13  <creationix>or just the test files?
17:16:24  <indutny>creationix: https://github.com/indutny/candor/blob/master/include/candor.h
17:16:37  <creationix>heh, or that
17:16:42  <indutny>creationix: https://github.com/indutny/candor/blob/master/test/test.h#L56-63
17:16:43  * creationixis still a C/C++ noob
17:16:47  <indutny>and tests, yeah
17:17:13  <indutny>the only thing I dislike is ->Call(&i,...)
17:17:17  <creationix>I see there is no class for Arrays
17:18:12  <indutny>creationix: yeah, so far
17:18:20  <indutny>I'm doing small steps
17:18:20  <creationix>ok, so you plan to add them then?
17:18:26  <creationix>small steps is good
17:18:31  <indutny>probably
17:18:38  <indutny>I'll come to this question later again
17:18:49  <indutny>C++ bindings are much more important now
17:18:49  <kohai>C has 9 beers
17:19:02  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
17:19:32  <indutny>oooh
17:19:36  <indutny>I made a stupid thing :D
17:19:39  <indutny>it's broken now
17:19:59  <mmalecki>creationix: oh, btw, remember asking for an IRC bot with configurable drink?
17:20:16  <creationix>yeah
17:20:21  <mmalecki>creationix: !like apple juice
17:20:26  * piscisaureus_joined
17:20:33  <creationix>!like cherry juiice
17:20:35  <kohai>creationix likes cherry juiice.
17:20:41  <creationix>!like cherry juice
17:20:42  <kohai>creationix likes cherry juice.
17:20:45  <mmalecki>creationix: ++
17:20:47  <kohai>creationix has 1 cherry juice
17:20:49  <creationix>lol
17:20:50  <creationix>nice
17:21:04  * mmaleckiwrote the karma plugin
17:21:14  <mmalecki>only downside is:
17:21:17  <mmalecki>cr ++
17:21:21  <mmalecki>creationix: ++
17:21:22  <kohai>creationix has 2 cherry juices
17:21:31  <mmalecki>it just appends 's' :P
17:21:53  <mmalecki>but 'juices' is correct, I guess
17:22:13  <creationix>yep
17:23:18  <indutny>ok, fixed API and build
17:23:24  <indutny>fn->Call(context, argc, argv) now
17:23:37  <indutny>going to watch some film
17:23:42  <indutny>and then sleep :)
17:23:53  <indutny>can you guys please confirm that it's building fine?
17:24:00  <indutny>and w/o warning
17:25:34  <mmalecki>sure, I'll test on fedora
17:25:44  <indutny>mmalecki: thank you
17:26:54  <mmalecki>indutny: only the format ones
17:27:01  <mmalecki>which we don't know how to fix anyway
17:27:04  <indutny>yeah
17:27:12  <indutny>too lame for that now
17:27:12  <indutny>:D
17:27:19  <indutny>thank you
17:27:28  <mmalecki>:)
17:28:11  <indutny>time to sleep!
17:28:22  * indutnychanged nick to indutny_31456
17:28:28  * indutny_31456changed nick to indutny_sleeping
17:28:31  <indutny_sleeping>ttyl, guys!
17:28:32  <mmalecki>indutny_sleeping: night!
17:28:33  <indutny_sleeping>thank you
17:54:07  <creationix>all tests pass here too
17:54:18  <creationix>on Ubuntu 11.10 x86_64
18:34:20  <indutny_sleeping>cool
19:42:43  * alejandromgjoined
19:45:02  <creationix>looking at the API. Function::New needs to accept a custom global object as well as the filename (for debugging messages?)
19:47:36  <creationix>otherwise it's a very clean API
19:48:00  <creationix>I'm not seeing a way to wrap C/C++ functions, I assume this isn't in yet?
19:49:47  <indutny_sleeping>creationix: yeah, that isn't here yet
19:50:07  <creationix>I love how simple this is
19:50:08  <indutny_sleeping>filename is useful for exceptions
19:50:16  <creationix>makes me not hate C++
19:50:20  <indutny_sleeping>haha
19:50:21  <indutny_sleeping>great
19:50:34  <indutny_sleeping>btw, Call() accepts custom global object :)
19:50:43  <indutny_sleeping>that's what context is
19:50:43  <creationix>https://github.com/creationix/candor.io/blob/master/src/main.cc
19:50:45  <indutny_sleeping>brb
19:50:50  <creationix>ahh, I see
20:28:15  <creationix>hmm, link errors when using the API http://conquest.creationix.c9.io/
20:28:19  <creationix>err, wrong link
20:28:24  <creationix>"undefined reference to `candor::Object::New(candor::Isolate*)'"
20:29:06  <creationix>I can do Function::New and ->Call just fine
20:29:11  <creationix>the result works as expected
20:29:19  <creationix>so I know I'm linking in the candor.a file
20:38:45  <creationix>btw, calling return without a value is segfaulting on me
20:38:52  <creationix>"return" vs "return nil"
20:40:04  * alejandromgquit (Ping timeout: 245 seconds)
20:40:11  <creationix>appears to crash in the parser
20:56:35  <creationix>also missing is an api to iterate over keys of an object
21:46:47  * bradleymeckjoined
22:26:15  * bradleymeckquit (Ping timeout: 276 seconds)
22:59:36  * alejandromgjoined
22:59:36  * alejandromgquit (Client Quit)
23:12:55  * alejandromgjoined
23:25:42  * hij1nxjoined
23:52:24  * piscisaureus_changed nick to piscisaureus