<< 26-06-2013 >>

00:02:00EXetoCfowl: thanks. I guess I needed to cast
01:05:34NimBotnimrod-code/babel master edc91d7 Dominik Picheta [+0 ±1 -0]: Switch branch to 'master' before pulling.
01:07:36BitPuffin_hrm EXetoC, how would I have 3d sound if I can't change it while it's playing?
01:09:45BitPuffin_time to sleep
01:12:59*Associat0r joined #nimrod
01:12:59*Associat0r quit (Changing host)
01:12:59*Associat0r joined #nimrod
01:16:11EXetoCBitPuffin_: no, that is determined before playing
01:17:00BitPuffin_EXetoC: so you send small chunks? I don't understand
01:17:47EXetoCyes, ideally
01:17:52BitPuffin_hm
01:17:58BitPuffin_well how do you control that?
01:18:09EXetoCin order to keep the latency to a minimum
01:18:26EXetoCBitPuffin_: you send, and while it's playing you gather new data in another thread
01:19:00EXetoCwhich will hopefully be ready in time
01:20:27EXetoCand if it's too low level, then maybe you could just generate an openal wrapper or something with c2nim
01:23:58*DAddYE quit (Remote host closed the connection)
01:28:48BitPuffin_sounds like that can have some issues
01:29:03BitPuffin_I will investigate
01:29:07BitPuffin_time to sleep
01:29:20EXetoCcya
01:29:22*EXetoC quit (Quit: WeeChat 0.4.1)
01:33:57*BitPuffin_ quit (Ping timeout: 248 seconds)
04:01:02*Associat0r quit (Quit: Associat0r)
04:09:21*Endeg joined #nimrod
07:41:42*q66 joined #nimrod
07:46:35*Araq_ joined #nimrod
07:48:54*Araq_ quit (Client Quit)
08:12:42*EXetoC joined #nimrod
09:45:42*q66 quit (Read error: Connection reset by peer)
09:46:19*q66 joined #nimrod
09:46:20EXetoCmeep meep
11:00:54dom96hello
11:04:49EXetoClo
11:05:03dom96how's nimrodding going?
11:12:35EXetoCit's going alright. should be done with the wrapper soon
11:22:13dom96awesome
11:32:13EXetoCwrapping libs is always fun
11:32:16EXetoCalmost
11:32:48dom96the fun part comes after
11:34:39EXetoC:>
11:35:34EXetoCusers of high-level GUI wrappers should be required to send cookies to all the contributors
11:38:10dom96yep
12:08:13EXetoCdo you think compiler writers deserve cookies too? it should be a less boring task though :>
12:10:51dom96I think they do. All contributors to Nimrod deserve cookies :P
12:13:07EXetoCeveryone who has added and/or removed at least, say, 41368 lines?
12:16:44dom96that sounds like a nice random number :P
12:20:55EXetoCor is it?
12:23:32*BitPuffin joined #nimrod
12:23:53EXetoCBitPuffin: yo, wassup my bruvva
12:24:00EXetoCdom96: it's based on zah's statistics :>
12:24:06BitPuffinExetoC is the glfw wrapper done? :)
12:24:10BitPuffinwaddabupuplup
12:24:21BitPuffinI can't for the life of me remember the package manager name
12:24:27EXetoCno. my predictions are always wrong
12:24:41EXetoCmy ETA's should be multiplied by about 3
12:24:47EXetoCbabel
12:25:54dom96EXetoC: But then I don't qualify D:
12:26:06EXetoCoops
12:26:56EXetoCBitPuffin: I successfully wrapped my first callback just now, which is a little annoying, because you have to mess with globals etc
12:27:03EXetoCbut wrapping the other callbacks should be easy now
12:28:22BitPuffinEXetoC: strange
12:28:30BitPuffinis it available in babel?
12:30:00EXetoCwell, it's because the C function pointers can't act as closures
12:30:05EXetoCnot yet
12:30:45EXetoCbut I'll create a repository and add the 1:1 wrapper for now
12:31:28BitPuffinEXetoC: will the wrapper make it easy to wrap callbacks?
12:35:02EXetoCthe high-level wrapper will just contain its own callback interface, that is pretty much identical, apart from stronger typing and the fact that they're closures
12:35:28EXetoCenums instead of plain ints for example, where that makes sense
12:36:09BitPuffinhmm
12:39:35EXetoCso I'm not sure what you mean by 'wrap', since the high-level callbacks will be just that: wrappers
12:43:52EXetoCone has to watch out for subtle bugs when a default function is used because an overloaded function is declared at a later stage
12:54:56EXetoCBitPuffin: https://github.com/EXetoC/nimrod-glfw3
13:23:43*Sergio965 joined #nimrod
13:59:38NimBotnimrod-code/babel master 4fe2ea6 Dominik Picheta [+0 ±1 -0]: Updated readme.
13:59:38NimBotnimrod-code/babel master 9f60514 Dominik Picheta [+0 ±2 -0]: Changed package install dir to $babelDir/pkgs.
14:11:45*gradha joined #nimrod
14:12:17dom96hey gradha
14:12:22gradhahey dom96
14:23:10dom96gradha: Any plans for the summer?
14:23:35gradhafiguring out how to join a private irc channel
14:24:04Sergio965gradha: You lead and exciting life.
14:24:08Sergio965an*
14:24:41gradhathe first time is always exciting
14:25:50gradhadom96: the demo you mentioned doesn't work on macosx, other people are also disappointed https://developer.oculusvr.com/forums/viewtopic.php?t=1974&p=25169#p25169 plus I might end up using a plastic bag http://www.mtbs3d.com/phpBB/viewtopic.php?f=140&t=17927
14:27:46Sergio965I want a Rift!
14:28:05dom96gradha: That solution is genius!
14:28:16dom96gradha: Have you seen the Omni?
14:28:29gradhayeah, not interested in moving though
14:29:12dom96also there was another cool game i've seen which will be released with rift support.
14:29:27dom96https://www.youtube.com/watch?v=iAcAd1fUiy8
14:29:53dom96I wouldn't mind playing it without a rift :P
14:30:06dom96It has a Half Life 2-like feel in the beginning.
14:30:44EXetoChave they ported super mario bros yet?
14:32:58gradhaafter suffering the rift I'm more interested now in solutions to avoid puking, the plastic bag for the eyes may double as vomit holder
14:33:09BitPuffinEXetoC: when is the high level wrapper up?
14:36:00EXetoCBitPuffin: I'll commit it soon
14:36:04BitPuffincoolio
14:36:06BitPuffinbrb walk dogs
14:45:47Sergio965Does Nimrod have default arguments?
14:45:54dom96yes
14:45:58Sergio965Hooray!
14:46:00dom96proc foo(x = 56)
14:52:00Sergio965What's Nimrod's GC? Reference counted?
14:53:39dom96"The basic algorithm is Deferrent Reference Counting with cycle detection." from http://build.nimrod-code.org/docs/gc.html
15:03:42*shafire joined #nimrod
15:04:23dom96hey shafire!
15:06:22shafirehi dom96
15:06:25shafire:-)
15:10:15shafirehow are you?
15:11:19dom96good, you?
15:12:58gradhaI guess Araq will shred this to bits just by reading the url http://blog.golang.org/race-detector
15:14:16shafiregradha: what will he shred?
15:17:11gradhaAraq has a masterplan to prevent races during compilation, no need for runtime crutches
15:18:37gradhathe problem with runtime is mentioned in the article: 10 times slower, so won't be used in all cases, or won't be able to be used under some loads
15:21:42reactormonkAraq, how's that annotate pragma going?
15:23:23gradhareactormonk: thanks for the scala doc link you posted, do you know of other fancy generated documentation I could steal from?
15:26:41shafireMh, I need to ask some silly question...
15:26:51reactormonkgradha, http://rubydoc.info/stdlib/core/frames not that bad, what the scaladoc lacks is http://lucene.apache.org/core/4_3_1/core/org/apache/lucene/index/class-use/IndexableField.html
15:26:54shafireNimrod compiles to C, is this right?
15:27:01dom96shafire: yep
15:27:04reactormonkshafire, as well as to js
15:27:22shafireWhat I can't understand, how can Nimrod provide more features which C can not provide
15:27:42gradhajust like java can provide more features which asm can not provide?
15:28:02gradhait's a matter of building on top of stuff really
15:28:19gradhaalso, there are GC for C
15:28:34shafireNimrod can compile to JS?
15:28:47gradhahttps://en.wikipedia.org/wiki/Boehm_garbage_collector
15:28:58reactormonkshafire, nimrod -d:node js <file>
15:29:11shafireoh, cool. thanks reactormonk
15:29:12reactormonkshafire, wait, it was nodejs
15:29:25reactormonkshafire, and nimrod js <file> works as well, generates an html page
15:29:46shafirefull nimrod support for js?
15:30:18shafiregradha: thanks for the link!
15:30:40reactormonkshafire, mostly, I was tinkering with it for a while
15:30:50gradhashafire: projects like http://cython.org allow using the "garbage collection" of python, but there are limitations because it's "backwards"
15:30:57reactormonkshafire, I'm not sure if the file API has been implemented
15:33:25gradhareactormonk: don't understand what the lucene indexablefield means, is it that the ruby docs can't be searched? or the results are poor?
15:37:34*gradha quit (Quit: bbl, need to watch https://www.youtube.com/watch?v=1ZZC82dgJr8 again)
15:43:41EXetoCBitPuffin: working on the test application now
15:43:47EXetoCdamn, doing things properly is tedious :<
15:51:36shafirewhy is nimrod url named -code and not -lang? :)
15:54:10reactormonkshafire, buy -lang and redirect it to -code
15:56:28shafireHow strong is Araq reputation?
15:59:08EXetoC9k
16:02:38shafire;-)
16:10:26reactormonkEXetoC, nope, 9.001k
16:15:08shafireAraq: Are you from Germany?
16:17:46reactormonkshafire, yup, he is
16:18:01shafireCool. Schon ein Grund mehr :p
16:20:12AraqJa, endlich hat ein Deutscher mal was Brauchbares erfunden, gell? ;-)
16:22:32dom96NimBot should get Google translate support...
16:22:40shafireNatürlich. Ansonsten kopieren die Samwer-Brüder alles nur und Kim erst :p
16:24:09shafireI translated the sentences in English and it's awful
16:24:15shafireinto*
16:24:46shafireSo, -1 for the Google translate support dom96 :-)
16:24:56Araqwell your german sentence is awful too ... :P
16:25:40shafireAwas, des is doch net so schlimm!
16:26:44reactormonkAraq, var x {.annotation: "$# progmem $#".}: int <- that one
16:27:10Araqreactormonk: well I am not working on it as I can't see it will solve your problems
16:27:22zahary___what is this supposed to do btw?
16:27:28Araqand you should be working on the JS target anyway
16:27:37reactormonkzahary___, http://www.arduino.cc/en/Reference/PROGMEM
16:29:43zahary___I see. does $# have a special meaning in your example?
16:30:26Araqzahary___: it's a shortcut for $1, $2 as usual, $1 standing for the type, $2 for the variable name
16:30:46Araqit overwrites how the codegen generates the declaration
16:33:45zahary___I see. sounds like a needed feature indeed for these evil SDKs. C++ is supposed to standartize the non-standard extensions with the new attributes syntax
16:36:08Araqwell I think I'll get rid of .volatile then, it can be easily implemented with "annotation"
16:36:24Araqhowever, a better name for "annotation" would be nice
16:36:32EXetoCBitPuffin: The high-level wrapper has been pushed. Some things are missing still (Setting V-Sync, querying the window state without the use of callbacks, and a couple of other things), but it should be usable
16:37:15EXetoCBitPuffin: The test can be run like so: nimrod c -p:src -r tests/callback_test.nim, assuming that pwd is the root dir
16:37:30EXetoCI should rename the dir to 'examples' though but w/e
16:37:38*DAddYE joined #nimrod
16:41:18reactormonkAraq, definition?
16:46:13Araqreactormonk: "codegenDecl" ?
16:49:18reactormonkAraq, call it codegendeclaration at least, it's not something you should use too often, so it should be clunky
16:50:03AraqI'd rather add "decl" to the name conventions
16:50:36Araqand "decl" for declaration is pretty common anyway
16:50:40reactormonkkk
16:52:57BitPuffinEXetoC: aha! coolio
16:56:08AraqEXetoC: check out system.rawProc/rawEnv. these may help for wrapping closures
17:01:11BitPuffinEXetoC: is it up in the package manager yet?
17:05:32*Associat0r joined #nimrod
17:05:33*Associat0r quit (Changing host)
17:05:33*Associat0r joined #nimrod
17:05:51BitPuffinapparently not
17:10:02EXetoCBitPuffin: I've added my lib to the json file, and now I have to wait for it to be merged
17:11:59BitPuffinEXetoC: who's in charge? (Charles?)
17:12:09EXetoCdom
17:13:39BitPuffinwhere's dom?
17:13:54BitPuffindom96 merge EXetoC's pull request! I demand it!
17:13:58dom96who's charles?
17:14:03BitPuffinCharles in charge
17:14:12shafiredo you all use github?
17:14:19dom96BitPuffin: I don't see any pull requests.
17:18:37BitPuffindom96: weird, according to EXetoC there is (?)
17:19:41dom96https://github.com/nimrod-code/packages/pulls
17:21:56BitPuffinEXetoC: what have you done! >:D
17:22:19reactormonkAraq, so the codegenDecl or variableDevl?
17:22:39AraqcodegenDecl as it's useful for procs too (interrupt handlers)
17:23:00reactormonkoh
17:23:40EXetoCBitPuffin: good question
17:25:29*shafire quit (Quit: Page closed)
17:25:35EXetoCwill try again
17:31:20EXetoCdom96: now
17:33:37dom96Your repo doesn't have a .babel file.
17:35:26dom96I think you will have to move your source files into the root dir instead of keeping them in a src dir.
17:37:34BitPuffinwoot
17:37:38BitPuffinthat should be fixed
17:39:06Araqdom96: muhaha, I told you
17:39:23Araqpeople don't like their directory structure forced upon them
17:39:58reactormonkmost seem to have adopted a src/ or lib/
17:42:13dom96Araq: I don't see any complaints from EXetoC, do you? :P
17:42:34BitPuffindon't even see a response from EXetoC so ofc not :P
17:43:45EXetoCyes, most projects have a src directory etc
17:44:20dom96yeah, I will make babel look for a .babel file recursively.
17:44:31BitPuffinwhy?
17:44:38BitPuffin.babel can be in root
17:44:45BitPuffinjust add the ability to specify source paths
17:44:47EXetoCbest would be to have a build system that allows the source files to be specified
17:45:08BitPuffinlike dub ;)
17:45:30dom96I could also add a 'rootDir' option to the .babel file.
17:45:38BitPuffinwell
17:45:52BitPuffinit would be awesome if you could have multiple build targets
17:46:30EXetoCbeing able to specify the root dir would be a start. that should be good enough for most projects
17:47:36*BitPuffin thinks babel should become at LEAST as useful as dub
17:48:33EXetoCalright, I'll wrap additional functions in a couple of hours
18:01:12BitPuffincool! nice work
18:01:25BitPuffinEXetoC: also make sure you put up the libao bundings
18:01:54EXetoCok
18:02:47BitPuffinhugs
18:02:54BitPuffinopen sauce!
18:05:20BitPuffinis there a way to have object types be references instead of value types?
18:27:43reactormonkBitPuffin, type RObj = ref TObj
18:29:28BitPuffinisn't the convention PObj?
18:29:29BitPuffinanyways cool
18:29:39BitPuffinpoint to nimrod
18:30:05BitPuffinin D the value type for objects (struct) does not offer inheritance, with this you get both!
18:30:25BitPuffinalthough it seems like it would be more efficient to have it ref by default, but I guess it's to discourage oop?
18:32:00AraqBitPuffin: there is type PObj = ref object as a shortcut too
18:32:39reactormonkBitPuffin, you can't really have inheritance with non-ref types - size matters
18:34:03Araqreactormonk: you can but you have to be careful
18:35:01EXetoCBitPuffin: it has scoped for classes, but it blows
18:44:52reactormonkAraq, should I add an issue about the codegendecl?
19:02:30*gradha joined #nimrod
19:03:39EXetoCgradha: duuuude
19:03:48gradhaEXetoC: whatsaaaaaaaaap
19:09:03gradhaI need to release a version of my hyperlinker, can't let my forum fall of the main page
19:09:16gradhas/my forum/my post/
19:09:55EXetoCone step closer to world domination
19:19:17*Associat0r quit (Quit: Associat0r)
19:20:38*shafire joined #nimrod
19:26:56*exhu joined #nimrod
19:27:29exhuwith latest update to java on mac, i have lost my favourite crossplatform text editor :(
19:27:55exhuis vim support actual?
19:28:22gradha/usr/bin/vim says 7.3
19:28:47exhugradha, i mean nimrod syntax support
19:29:19gradhathat's provided by the plugin zahary did, should work on any version once you install it to your .rc
19:29:31exhugradha, ok, thanks
19:30:45exhumac is really unfriendly to programmers, it has blurry font rendering, that can only be switched off in jEdit and macvim. jedit no longer runs properly on recent oracle java (and it's the only java avail for mac)
19:31:01gradhadepending on your vim/python combo the caas idetools stuff might act odd, if it does try to checkout version around april before caas
19:31:37exhuand vim is a hardcore, i'm learning it the second day now and constantly forget to switch between normal and insert modes
19:31:57gradhawhy are you learning vim instead of Aporia? you are going to make dom96 cry
19:32:31exhugradha, i need one tool to edit all stuff: yaml, xml, cpp, h, sql, nim...
19:33:14EXetoCgo through the vim tutorial
19:33:38EXetoCI went through it on my second attempt, and it wasn't too bad after that
19:33:54gradhadon't know what blurred fonts you have, the terminal default font looked ok to me, but I installed Source Code Pro which is slightly bigger and feels more easy on the eyes to me
19:34:36exhugradha, i have to use msvs and xcode at work, it's really painful to keep hands working smart on several keyboards and several different editors
19:35:20gradhaI learned vim when I started using the mac laptop, every other editor has default bindings which are painful for non-real keyboards, but vim is fine
19:35:36exhugradha, mac font rendering is awfull on standard displays, it's blurry, it's designed for print and "retina"
19:35:37gradhas/bindings/key shortcuts/
19:36:40gradhabefore mac I used linux on the commandline, so my taste bar for fonts is pretty low
19:36:50exhugradha, yea vim mostly uses the same keys across platforms. my mac has weird layout anyway
19:37:54exhugradha, i prefer sharp win95-like aliased fonts, although antialiasing is good on any platform except mac -)
19:38:27reactormonkEXetoC, http://vim-adventures.com/ ;-)
19:38:49exhureactormonk, omg!
19:38:57dom96exhu: You know, aporia is not nimrod-only.
19:40:53EXetoCdom96: I might use it when it gets vim support :>
19:41:16EXetoCusing the mouse is too inconvenient for me now
19:41:41EXetoCothers should like it though
19:44:03exhudom96, aporia doesn't have all that i need
19:44:38dom96EXetoC: Yeah, it will get that eventually. Although I could always use some help, so implementing it yourself is always encouraged :P
19:44:49dom96exhu: What do you need?
19:45:22exhudom96, i need visual diffs, tabs/spaces magic, keyboard-only operation, font rendering selection...
19:46:20EXetoCit sounds complicated though
19:46:33dom96exhu: Perhaps Sublime Text would suit your needs?
19:46:45dom96exhu: And you wouldn't need to learn vim.
19:46:51EXetoCwhat about scintilla or something though? it should have plugins for all kinds of things
19:47:46exhuEXetoC, of all editors i tried, jedit is the best crossplatfrom thing until recently, when they broke java on mac. now the only option is vim.
19:48:09gradhacan't you ask jedit developers to somehow bundle a java with the binary?
19:48:33exhugradha, you can't simply have your own java on mac -)
19:48:49gradhawhich is a nice segue for the first blog post I'm writing: end users prefer static linking
19:49:53*Sergio965 quit (Ping timeout: 252 seconds)
19:50:17gradhaso you can't static link java? how pitiful
19:50:33exhui hate macos, i just have to use it at work.
19:51:11gradhaare you an ios developer?
19:51:13exhuit's limited in every way and it's slow even on i7 8gb macbook pro
19:51:47exhugradha, ios and now we are starting porting to android. i hate eclipse on mac even more -) it's terribly slow.
19:52:03gradhahuh, sounds weird, I have a 4year old laptop with 4gb and it's plenty fast, so much that I'm always compressing video in the background
19:52:35gradhamaybe you got the short stick and have a spinning hd?
19:52:59exhugradha, no, there's enough ram
19:53:30exhuand the laptop is hot as hell when compilation starts
19:53:51gradhawell, that's because loading all that into ram takes time
19:54:44gradharecently I tested a brand new mb pro with the latest cpu and 16gb ram. It was perceptually three times slower than my old machine.
19:55:45exhugradha, in good old times of winxp everything was blazing fast regarding office and programming
19:56:01gradhaespecially if you used dos and djgpp
19:56:25exhugradha, in 2007 i worked with java enterprise project in eclipse running on a celeron cpu with 4 gigs of ram, it was not a problem at all
19:57:33exhugradha, there were postgres, eclipse, tomcat running on that single machine, it worked smooth
19:58:41gradhathat's your problem: you have something to compare to. I don't, so I'm happy with what I have
20:03:52exhu:)
20:04:57dom96ignorance is bliss eh?
20:05:37*Sergio965 joined #nimrod
20:07:06gradhaman I've been living a lie, turns out I had not seen the full version of https://www.youtube.com/watch?v=XQduN315etk yet
20:07:32gradhait's going to get bad for me if all the silly things I've watched in the past get a "director's cut" version...
20:10:17exhuthumb abused
20:16:33EXetoCreactormonk: neat
20:18:28exhuhttps://www.youtube.com/watch?v=19IvEyyZgUw
20:50:11*exhu quit (Quit: Ex-Chat)
21:12:44shafiregood night ;-)
21:13:05gradhanight
21:13:32*shafire quit (Quit: Page closed)
21:19:37*gradha quit (Quit: bbl, need to watch https://www.youtube.com/watch?v=1ZZC82dgJr8 again)
21:57:05*q66 quit (Remote host closed the connection)
22:24:22NimBotnimrod-code/babel master 19b5d30 Dominik Picheta [+0 ±5 -0]: Implemented a whitelist mode.
22:24:22NimBotnimrod-code/babel master 3ddb48b Dominik Picheta [+0 ±2 -0]: Implemented a 'rootDir' key.
22:24:49dom96EXetoC: Add `rootDir = "src"` to your .babel file :)
22:25:52dom96Also in case you don't know, SkipFiles/SkipDirs is optional.
22:26:45*Sergio965 quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:45:33EXetoCaight
22:54:12dom96Maybe you should also rename 'll' to 'glfw_lowlevel'?
23:04:14*Boscop quit (Ping timeout: 240 seconds)
23:07:30NimBotAraq/Nimrod master 24b4669 Araq [+0 ±7 -0]: fixed a long standing xml parser bug; html parser bugfixes + speed improvements
23:07:30NimBotAraq/Nimrod master 30483a0 Araq [+0 ±12 -0]: Merge branch 'master' of github.com:Araq/Nimrod
23:14:46BitPuffinAraq: I don't really understand when you create an object, should you write that it's object or that it's TObject or whatever the tutorial said
23:20:13dom96value type should be prefixed with 'T', reference types or pointers should be prefixed with 'P'
23:20:22dom96Exceptions with 'E'
23:20:28dom96and effects with 'F'
23:27:45*Boscop joined #nimrod
23:36:38EXetoCthere's a type called TObject though, and then there's just object
23:37:39dom96TObject is the 'root object'
23:38:10dom96You should inherit from it if you want to allow inheritance for your object.
23:42:52EXetoCTPerson {.inheritable.} = object
23:43:01EXetoCor that, if you want to introduce new object roots
23:44:40EXetoCBitPuffin: maybe I'll create a repo for ao tomorrow, but you saw my gist, right?
23:52:06BitPuffinEXetoC: gist? haven't read back
23:54:27EXetoCBitPuffin: https://gist.github.com/EXetoC/5862718