<< 27-06-2013 >>

00:07:25dom96'night
00:07:39EXetoCl8r!
00:08:01EXetoCcan parameters be of type array?
00:08:10EXetoCstatic arrays
00:11:16EXetoCoops, must've messed up the syntax
00:19:30EXetoCcya
00:20:12*EXetoC quit (Quit: WeeChat 0.4.1)
01:11:19*BitPuffin quit (Ping timeout: 264 seconds)
01:17:04*DAddYE quit (Remote host closed the connection)
01:17:38*DAddYE joined #nimrod
01:22:09*DAddYE quit (Ping timeout: 252 seconds)
02:18:20*DAddYE joined #nimrod
02:25:05*DAddYE quit (Ping timeout: 248 seconds)
02:43:15*DAddYE joined #nimrod
03:02:04*DAddYE quit (Read error: Connection reset by peer)
03:02:34*DAddYE joined #nimrod
03:05:05*DAddYE quit (Remote host closed the connection)
05:16:32*Associat0r joined #nimrod
05:16:32*Associat0r quit (Changing host)
05:16:32*Associat0r joined #nimrod
07:34:59*comex quit (*.net *.split)
07:35:01*mal`` quit (*.net *.split)
07:35:03*Boscop quit (*.net *.split)
07:35:08*Trix[a]r_za quit (*.net *.split)
07:35:09*Roin quit (*.net *.split)
07:35:14*Araq_ joined #nimrod
07:36:10*Araq_ quit (Client Quit)
07:37:16*Boscop joined #nimrod
07:37:16*comex joined #nimrod
07:37:16*mal`` joined #nimrod
07:37:16*Trix[a]r_za joined #nimrod
07:37:16*Roin joined #nimrod
08:43:37*q66 joined #nimrod
09:14:34*EXetoC joined #nimrod
09:39:49*Araq_ joined #nimrod
09:45:02*Araq_ quit (Quit: ChatZilla 0.9.90 [Firefox 21.0/20130511120803])
10:05:55*mario-goulart joined #nimrod
10:33:35dom96hello
10:38:14EXetoCyoo
10:46:23dom96EXetoC: You know what would be great? If you move your 'll.nim' into a 'glfw3' directory and change it's name to 'wrapper.nim', then users will be able to import it with: import glfw3/wrapper
10:47:20EXetoCyeah, good idea
10:52:32EXetoCsequences are not reference types, right? if I've understood the manual correctly
10:53:12EXetoCand does bycopy just insert an implicit 'ref' or something?
10:54:29EXetoCI meant byref. is so, then does bycopy remove it if present? or is the compiler allowed to add 'ref' implicitly if it thinks that it will result in less overhead?
10:56:31dom96Yeah, I think by default it's up to the compiler and you can use byref or bycopy to change the behaviour.
10:57:52EXetoCright
11:01:22NimBotnimrod-code/Aporia master cf1200f Dominik Picheta [+0 ±1 -0]: Fixes another bug caused by 'bool' in GTK signals.
11:28:08EXetoCgotta spam some code until I'm able to wrap C code with ease
11:28:21EXetoChiding pointer-based buffers can be tricky, but it should be well worth it
11:31:28dom96Araq: Hrm, deprecation warnings are a problem when we have a test which is meant to reproduce some old bug, i'm worried about accidentally getting rid of the piece of the code which reproduces the bug. What should be done in this situation? I will leave it alone for now.
11:34:25EXetoCor maybe not so tricky if you know about addr, array, ptr, pointer and cast
11:36:50*BitPuffin joined #nimrod
11:37:29EXetoChas not much been worked on lately or is someone secretely holding on to a load of commits? :>
11:38:41dom96probably the former D:
11:39:51dom96but hey, i'm doing stuff
11:40:37EXetoCI meant on the compiler, but yeah sure
11:40:38BitPuffinhey dudies!
11:41:27EXetoCI'll donate if I ever get rich though
11:41:30BitPuffinstill no glfw3 in babel? :/
11:41:33EXetoCor at least when I have *some* money :>
11:41:36EXetoChm
11:42:16dom96yeah, you should. And it's very easy nowadays.
11:43:07EXetoCI've barely had any money for years though, no joke, but I'd love to do that some time
11:43:36EXetoCdom96: I submitted a pull request to packages yesterday in case you didn't notice
11:43:42EXetoCmy fellow swede is getting impatient :>
11:44:03dom96I know, I was waiting for you to move that low level wrapper :P
11:44:06BitPuffinadd btc donations!
11:44:08EXetoCor maybe he's just pretending to be swedish in order to seem smarter, who knows
11:44:10EXetoCoh ok
11:44:15dom96BitPuffin: We have that.
11:44:16EXetoCI'll get to it then
11:46:16*BitPuffin is totally not pretending to be a swede, definitely not, why would that be the case, he, he, he...
11:47:46EXetoC:>
11:47:51BitPuffindom96: wouldn't it be better to have a dedicated site where devs can sign up and add their packages to a database instead of doing gh pull requests?
11:49:12dom96BitPuffin: Yeah, that's what I wanted to do at first. But then Araq said that I should do it this way, and since it's simpler I just did it.
11:49:40BitPuffinwell I guess it's a good way to bootstrap it
11:49:52BitPuffinbut it does mean a lot of maintanance for you
11:50:02BitPuffinlike if one day nimrod gets HUGE
11:50:16BitPuffinit is better to have already moved the stuff so that you don't have to deal with it
11:50:24dom96lol true.
11:50:27EXetoCcan't fields be separated by comments? I always get "invalid indentation" no matter what I try
11:50:41EXetoCa: int\n#ohai\nb: int
11:50:42dom96It should be easy to create a quick bot which checks basic things though.
11:50:51BitPuffinperhaps
11:50:53dom96So we don't actually need a website.
11:51:01BitPuffinI guess not
11:51:06BitPuffinbut it's kind of elegant
11:51:11dom96Rust does it the same way btw.
11:51:19BitPuffinI am aware
11:51:26BitPuffinD doesn't, however
11:51:29EXetoCoh well, empty newlines will do
11:52:09dom96hrm, not much activity on cargo-central.
11:52:11EXetoCthey're working on an implementation in D though, but that should take a long time
11:52:30BitPuffinhttp://registry.vibed.org/
11:53:11dom96the advantage of having a website would be that we could list the versions.
11:53:17BitPuffinyep
11:53:29BitPuffinthis thing integrates with github
11:53:38BitPuffinit uses tags to set versions
11:53:50dom96That's how we do it too.
11:54:07dom96Only way to check what versions a package has would be to query github for tag data.
11:54:14dom96which is doable I guess
11:55:28EXetoCyou know what you should implement? internet-global package discovery. ftw!
11:56:08dom96yeah, I don't know what you mean by that.
11:58:37EXetoCwrite an iterator that traverses the internet, and then store all new babel files that you encounter
12:00:02BitPuffinyou mean a crawler?
12:00:14dom96oh wow, the rust cargo tool is gone.
12:00:39BitPuffindom96: how did you manage to resist naming your gameboy emulator "nimboy"?
12:01:08EXetoCrustpkg is the planned successor
12:01:12dom96lol, I'm getting a bit bored of that prefix.
12:01:20dom96And I didn't think long about the name
12:03:29BitPuffinnameboy
12:03:34EXetoCis documentation generated only for public and documented symbols?
12:03:45dom96only for public
12:04:08BitPuffinone thing that's not very clear to me regarding objects
12:04:18BitPuffinif you don't mark something as public (*)
12:04:22EXetoCdom96: but not undocumented and public?
12:04:31BitPuffinif you create an object of that type externally?
12:04:41dom96EXetoC: it is generated even if there is no documentation.
12:04:41BitPuffinbecause it said it was local to the module
12:04:45BitPuffinnot the object
12:04:47BitPuffinwhich is weird
12:05:42EXetoChow can it be local to the object? whatever that means. anyway, it might just be enough to have public functions that return an instance of said type
12:06:27BitPuffinbecause all values that aren't static are local to the object
12:07:11*Araq_ joined #nimrod
12:07:41BitPuffin`name*: string # the * means that `name` is accessible from other modules`
12:07:47EXetoCyes
12:08:28BitPuffinso that is not like saying something is public in a class?
12:08:46BitPuffinis it like saying that something is public and static?
12:09:37Araq_BitPuffin: * marks a field as public, default is private
12:09:42Araq_no staticness involved
12:09:51BitPuffinwell
12:09:58BitPuffinthen why does it say accessible from other modules?
12:10:19BitPuffinit's not really what public means
12:10:30BitPuffinit means that it's accessible from the object handle
12:10:45BitPuffinweather it's in the same module or not
12:10:48Araq_EXetoC: we have 2 branches to merge and I have a couple of bugfixes pending; however I'm spending most of my time on a competitive concurrency model ... ;-)
12:11:06EXetoCaccessible through an *instance* of said type
12:11:06EXetoCpretty much like in D or C++ in other words
12:11:14EXetoCwell, slightly different in C++, because of a lack of modules etc
12:11:52Araq_hi mario-goulart, welcome
12:11:53BitPuffinwell then it shouldn't say accessible from other modules
12:12:06BitPuffinbut okay
12:12:14BitPuffin* makes it accessible from the public interface
12:12:30EXetoCBitPuffin: everything in a module can access everything else in a module regardless
12:12:35EXetoCright
12:12:53BitPuffinEXetoC: kind of like with private in D? where classes in the same file are friends?
12:12:58BitPuffinsame module*
12:14:15EXetoCyes, that's exactly the same I think
12:14:16Araq_BitPuffin: it's accessible from other modules via the instance ...
12:14:25BitPuffinwell okay
12:14:45BitPuffinAraq_: yes and the instance holds the public interface :)
12:14:58BitPuffinso there is no protected in nimrod?
12:15:51dom96EXetoC: hrm, sorry. I'm going to rename 'rootDir' to 'srcDir' it makes more sense IMO.
12:15:56Araq_no protected, no
12:17:58EXetoCdom96: that's alright I guess :-)
12:22:12BitPuffinyeah that's probably better dom96
12:22:25BitPuffinAraq_: okay, any particular reason?
12:22:31NimBotnimrod-code/babel master 2b201fe Dominik Picheta [+0 ±1 -0]: Rename 'rootDir' to 'srcDir'.
12:23:00*dom96 waits patiently for EXetoC to update his repo :P
12:23:23*BitPuffin does too
12:23:34Araq_BitPuffin: there is some value in simplicity and I as I said elsewhere OO has a low priority for me
12:27:21BitPuffinAraq_: okay :) yeah OO is not all that great all the times
12:27:25EXetoCdom96, BitPuffin: done
12:27:27BitPuffintime*
12:27:31BitPuffinEXetoC: score!
12:27:52BitPuffinAraq_: so when you inherit you don't get access to variables not marked with *?
12:29:38*Araq_ quit (Read error: Connection timed out)
12:30:25*Araq_ joined #nimrod
12:31:23NimBotnimrod-code/packages master dda2912 Erik Johansson Andersson [+0 ±1 -0]: Add library... 2 more lines
12:31:23NimBotnimrod-code/packages master fd5dec7 Dominik Picheta [+0 ±1 -0]: Merge pull request #17 from EXetoC/master... 2 more lines
12:32:11dom96Done. But now i'm thinking that perhaps prefixing the package name with 'nimrod-' is a bit ugly.
12:32:13dom96But meh.
12:33:05BitPuffinI have to update babel?
12:33:10dom96yes
12:34:25EXetoCI just followed the convention :P but I think <name>-nim would be better
12:34:30BitPuffinthere
12:34:55dom96You mean you copied the other glfw library? :P
12:36:18mario-goulartHi Araq_. Thanks!
12:36:20EXetoCother libs follow that convention too
12:36:20EXetoCabout 5 or 6 :>
12:36:20EXetoCoops, gotta update the example module
12:36:39dom96hello mario-goulart!
12:36:55mario-goulartHello dom96!
12:37:05EXetoCboth modules actually
12:37:22dom96EXetoC: There are only two which use the 'nimrod' prefix
12:37:27dom961 other uses 'nim'
12:37:43dom96*'nim-'
12:38:15EXetoCnimrod-sfml nimrod-enet nimrod-glfw nimrod-chipmunk
12:38:19EXetoCI'll rename it either way
12:38:36dom96where do you see nimrod-sfml?
12:38:58dom96oh, you're looking at github repo names.
12:39:13dom96You don't have to rename it if you don't want to.
12:39:56BitPuffinactually sfml is just called sfml
12:39:58BitPuffinthe package
12:40:11dom96yep, and so is enet.
12:40:19dom96and chipmunk
12:40:22EXetoC"import glfw3/high_level" I don't know how to fully qualify symbols declared in that module
12:40:48BitPuffinnoob
12:40:52*BitPuffin is kidding
12:41:13dom96hrm, that's a problem.
12:41:24dom96Does simply using high_level. work?
12:41:25EXetoCeh, I have to do high_level.terminate(), which is not ideal
12:41:36EXetoCyes
12:41:41BitPuffinwhat's the difference between doing `TFoo = object` and `TFoo = object of TObject`
12:41:52dom96BitPuffin: Didn't I answer that yesterday?
12:42:05BitPuffinlet me check
12:42:09dom96BitPuffin: Latter means TFoo is 'inheritable'
12:42:10EXetoCyou won't be able to inherit from the former unless you do "TFoo {.inheritable.} = object"
12:42:19EXetoCwhich introduces another object root
12:42:37BitPuffinah I missed that
12:42:39dom96EXetoC: What would be ideal? glfw3/high_level. ?
12:42:41EXetoCI'm not sure why you need that. I just inherit from TObject
12:43:10BitPuffinthanks guys, sorry :)
12:43:30EXetoCdom96: something like that, in order to be able to avoid name collisions when using multiple libraries
12:43:51BitPuffinso TObject is basically just `TObject {.inheritable.} = object`?
12:45:15dom96I can see that conflicts may arise...
12:46:23dom96EXetoC: That's Araq_'s department :P
12:46:47EXetoCand whoever wants to fully qualify symbols is going to have to type a lot, without the ability to rename imports
12:48:16EXetoCI guess I can just rename my modules for now
12:50:55dom96Yeah, renaming imports would be nice. I think Araq said that he won't add that though :\
12:51:22BitPuffin:(
12:53:35EXetoCas long as the former is dealt with at the very least
12:55:04Araq_BitPuffin: you can look up the definition in system.nim
12:55:33Araq_EXetoC: .inheritable is only for low level hacking really
12:55:44EXetoCright
12:56:32BitPuffinTObject* {.exportc: "TNimObject", inheritable.} = object
12:56:40BitPuffinwhat does exportc do?
12:56:57EXetoChttp://nimrod-code.org/manual.html#exportc-pragma_toc
12:59:31BitPuffinaha
13:02:47EXetoCdom96: you could just name the modules like this: glfw3/glfw3.nim glfw3/glfw3_wrapper.nim
13:02:56BitPuffinyup
13:03:36EXetoCthough keeping the sub directory will be a little redundant with the current rules
13:03:46dom96I would prefer a glfw3.nim in src/ and a wrapper.nim in glfw3/wrapper.nim
13:04:13dom96Would allow: import glfw3, glfw3/wrapper
13:05:21EXetoCdom96: I was going to say that it will be bad with regards to collisions, but all glfw symbols are prefixed with 'glfw' anyway
13:06:34dom96why will it be bad?
13:06:59*Araq_ quit (Read error: Connection timed out)
13:08:23*Araq_ joined #nimrod
13:09:20EXetoCdom96: because you'd qualify the symbol like so: wrapper.foo, but basically every C library has its own unique symbol prefix anyway
13:10:34Araq_these symbol prefixes are often stripped for nimrod wrappers
13:11:06dom96ahh, yeah. So we either get nice syntax to qualify 'pkg/wrapper.nim'-like imports, or we use pkg_wrapper.nim instead.
13:11:15EXetoCright. that can even be done automatically IIRC
13:11:16Araq_dom96: yeah let's encourage our users to name the modules "utils", "types", "helpers" and "wrapper". Good idea with the current compiler which can't handle 2 modules of the same name ...
13:11:20EXetoC(Araq_)
13:11:58EXetoC:p
13:12:00dom96Araq_: You said you would fix it.
13:12:08BitPuffinwhy can't we rename import?
13:12:13BitPuffinimport x as y
13:12:20Araq_I will fix it ... some day
13:12:20dom96And I still think you should.
13:13:10Araq_BitPuffin: because it's somewhat hard to implement :P
13:13:19EXetoCBitPuffin: gonna try the example soon?
13:13:27dom96Araq_: You are welcome to beg people to prefix their modules with 'pkgname' but I won't be doing that.
13:14:06EXetoCoh well. it shouldn't be an issue atm
13:14:27BitPuffinoh really, sounds trivial, but I guess it's difficult to know for someone who's never coded a compiler
13:15:11BitPuffinEXetoC: yeah!
13:15:59Araq_BitPuffin: depends on your architecture, if you plan for the feature it's trivial
13:16:28BitPuffinlike with every code project then
13:17:31EXetoCI love this align plugin for vim
13:17:52BitPuffindoes kind of sound like something one would anticiptate though, but I digress
13:18:40BitPuffinEXetoC: align?
13:19:38EXetoCBitPuffin: for aligning vertically
13:19:52*EXetoC quit (Quit: WeeChat 0.4.1)
13:20:09*EXetoC joined #nimrod
13:20:16NimBotnimrod-code/babel master 946fa7c Dominik Picheta [+0 ±1 -0]: Documented all .babel options.
13:20:24EXetoCwrong keyboard sequence :p
13:23:22BitPuffinEXetoC: okay I'm gonna try running your example, no idea how though
13:23:36EXetoCnub
13:23:39EXetoCj/k. sec
13:24:23EXetoCBitPuffin: do this if pwd is the root directory: nimrod c -p:./src -r examples/callback_test.nim
13:24:24dom96Araq_: Even if babel didn't "encourage" it users would eventually do it. AFAIK it's a pretty common thing to do.
13:25:25BitPuffinEXetoC: doesn't work, how do I link to glfw?
13:26:34BitPuffincould not import: glfwSetFramebufferSizeCallback
13:26:57EXetoCBitPuffin: have you updated glfw?
13:27:05EXetoCin other words, do you have version 3 rather than version 2?
13:27:11EXetoCglfw3 was released not long ago
13:28:14BitPuffinEXetoC: yeah I have glfw3, it's the glfw in arch
13:28:52EXetoCBitPuffin: me too: community/glfw 3.0-1
13:28:59BitPuffinyep
13:29:13EXetoC:o
13:29:28EXetoCand you don't have some other version in /usr/local or something?
13:29:52BitPuffinactually I do
13:31:23EXetoCyou can try to either remove that one, or by re-ordering the path entries
13:31:43BitPuffinnow it works :)
13:31:45EXetoCs/by re-ordering/re-order
13:31:50EXetoCcool
13:31:51BitPuffini removed it
13:32:31BitPuffinstrange, it polls qwerty keys when I use dvorak
13:32:32BitPuffinbut whatever
13:32:36BitPuffinthat's actually a good thing
13:33:47BitPuffinhowever that it polls US layout is not a good thing
13:34:00EXetoChuh
13:34:18EXetoCno, not for me
13:34:58EXetoCshift-3 for example generates # as expected
13:35:17BitPuffinactually isn't it better if it's called binding rather than wrapper?
13:35:25BitPuffinEXetoC: well try pressing -, gives a /
13:35:58EXetoCit doesn't
13:36:26EXetoCbut maybe the scan code parameter is relevant in this case. I will add it now
13:43:02EXetoCLater I mean. Coffee and lack of exercise has made me dizzy :>
13:43:31EXetoCaka excess energy I think. happy coding
13:45:20EXetoCBitPuffin: no other issues?
13:45:29BitPuffindon't think so? seems good to me
13:45:42EXetoCok good
13:47:05Araq_binding, wrapper, give it a real name for god's sake
13:49:07EXetoCI will
13:54:02BitPuffinis there a logging utility for nimrod?
13:55:02dom96There is but someone needs to finish it: https://github.com/Araq/Nimrod/blob/master/devel/logging.nim
13:58:02BitPuffinpart of stdlib?
13:58:25dom96no.
14:07:13NimBotAraq/Nimrod master dd1107c Dominik Picheta [+0 ±4 -0]: Fixed OSError + recvLine deprecation warnings.
14:23:42*Associat0r quit (Quit: Associat0r)
14:30:00BitPuffinwhat's the difference between dynamic and static dispatch?
14:32:51dom96It's something to do with picking the correct function at runtime vs. compile-time. But I never use methods so I'm not entirely sure.
14:33:01dom96Wikipedia may help.
14:48:03*Amrykid quit (Ping timeout: 245 seconds)
14:48:28*dom96 quit (Ping timeout: 245 seconds)
14:56:14*Amrykid joined #nimrod
14:57:44*dom96 joined #nimrod
14:58:43*Amrykid quit (Changing host)
14:58:43*Amrykid joined #nimrod
15:01:51BitPuffinwhen parametrizing types, can I put anything in the []?
15:02:31dom96I think so yeah
15:11:23*Amrykid quit (Ping timeout: 245 seconds)
15:11:23*dom96 quit (Ping timeout: 245 seconds)
15:16:16*Amrykid joined #nimrod
15:16:16*Amrykid quit (Changing host)
15:16:16*Amrykid joined #nimrod
15:18:44*dom96 joined #nimrod
15:23:15*dom96 quit (Read error: Operation timed out)
15:23:16*Amrykid quit (Read error: Operation timed out)
15:26:44*Amrykid joined #nimrod
15:31:38*Amrykid quit (Ping timeout: 252 seconds)
15:33:15*Amrykid joined #nimrod
15:33:44*dom96 joined #nimrod
15:37:41*Sergio965 joined #nimrod
15:39:11*Amrykid quit (Changing host)
15:39:11*Amrykid joined #nimrod
15:48:25*XAMPP_ quit (Read error: Connection reset by peer)
15:48:26EXetoCbotters eh?
15:48:44dom96it's a channel :P
15:48:55*mario-goulart quit (Remote host closed the connection)
15:49:03*mario-goulart joined #nimrod
15:52:12EXetoCI guess they have their own web client then
15:52:24dom96it's a cloak
15:52:28dom96:P
15:55:55*Associat0r joined #nimrod
16:09:51EXetoCBitPuffin: which of the key code and unicode representation are incorrect?
16:12:17EXetoCfor me, both are correct. altgr-8 give me 8 as the key code, and ] as the character value
16:12:30EXetoCwhich for me is correct
16:13:34EXetoCit should be GLFW's fault though, if it's incorrect
16:25:43*nihathrael joined #nimrod
16:25:55dom96hello nihathrael
16:26:54nihathraelhi all, quick question: client.send("Hello for the $#th time." % $counter & wwwNL) is what i found in the docs, now say I want to add another variable to that string, like "Hello for the $#th time. Hallo $#!", how would the syntax behind the % look like?
16:27:33dom96% [$counter, anotherVar]
16:27:35*Endy joined #nimrod
16:28:01nihathraelof course "[", tried every other brace type :)
16:28:17dom96heh
16:29:21nihathraelthanks
16:29:25dom96np
16:30:07EXetoCprecedence issue? because there's a single-argument version as well for `%`
16:30:36dom96hrm?
16:30:42dom96where do you see an issue?
16:31:14EXetoCnevermind
16:31:58EXetoCbut yes, there are two overloads as you can see here http://www.nimrod-code.org/strutils.html#174
16:34:47nihathraelEXetoC: thanks, that was precisely what I was looking for and not findin
16:37:19dom96bbl
16:37:39nihathraelwhich editor do you guys recommend for nimrod programming? I was looking at aporia, it seems a little unstable at times
16:40:41BitPuffinEXetoC: I'm not sure
16:40:44BitPuffinnihathrael: I use vim
16:41:15nihathraelis outcompletion available for vim?
16:41:48reactormonknihathrael, the nimrod completion is editor-agnostic
16:41:53EXetoCI think so, but I haven't used it
16:42:07EXetoChttps://github.com/zah/nimrod.vim
16:42:09BitPuffinreactormonk: nimrod has autocompletion?
16:42:16reactormonkBitPuffin, sure, nimrod idetools
16:42:28reactormonknihathrael, for the emacs part, I'll have to take a look again
16:43:06reactormonknihathrael, https://github.com/Tass/nimrod-mode
16:43:41BitPuffinwoot
16:43:46BitPuffinnow that's maturity
16:46:02nihathraelvim doesn't look too bad, I'd really like something with working auto-complete
16:46:06*DAddYE joined #nimrod
16:47:18reactormonknihathrael, I can make the emacs thingy work... maybe
16:47:48nihathraeli'll try aporia for now, seems to work so far
16:48:14nihathraelmaybe if I get somewhat familiar with the syntax and all I can hack it a bit
16:48:57reactormonkAraq_, https://github.com/Araq/Nimrod/pull/486 fine to pull?
16:50:20BitPuffinnihathrael: install YouCompleteMe plugin for Vim
17:01:20*q66 quit (Quit: Quit)
17:01:42*q66 joined #nimrod
17:03:18*q66 quit (Remote host closed the connection)
17:03:37*q66 joined #nimrod
17:07:54*XAMPP-8 joined #nimrod
17:12:05BitPuffinzah should have named nimrod.vim to vimrod :3
17:17:36*BitPuffin quit (Ping timeout: 256 seconds)
17:20:58*BitPuffin joined #nimrod
17:21:36EXetoCBitPuffin: what do you mean?
17:21:36dom96back
17:21:44EXetoCdom96: sup holmes
17:21:49BitPuffinEXetoC: what I mean?
17:22:06dom96EXetoC: That's Mr. Holmes to you, good sir.
17:22:16*q66 quit (Quit: Leaving)
17:22:27EXetoCdom96: gangsta slang, biatch
17:22:34EXetoCBitPuffin: I misread
17:22:42*q66 joined #nimrod
17:22:45BitPuffinEXetoC: misread what?
17:22:56reactormonkdom96, any idea why idetools isn't suggesting me anything?
17:23:27dom96EXetoC: I beg your pardon.
17:23:48reactormonknow it works
17:23:59dom96reactormonk: No id-- ok.
17:24:29EXetoCdom96: holmes, bruvva, homie :>
17:24:48dom96nihathrael: Aporia dev here, I am aware of many issues with aporia but if you let me know what issues bother you the most I will fix them sooner.
17:25:49reactormonknihathrael, works in emacs too
17:26:28dom96Are the suggestions any good?
17:26:34BitPuffinEXetoC: you should change the window in the example to not be resizable, makes it floating in tiling wms
17:27:06BitPuffinunless you are also showing of resize callbacks
17:28:37dom96reactormonk: ^
17:29:49reactormonkdom96, +/-
17:29:56reactormonklittle bit too many for e.g. string
17:30:07dom96are they relevant?
17:31:30reactormonkyup
17:31:54EXetoCBitPuffin: said tiling wm isn't too good then if that's an issue :-P
17:32:49EXetoCwhich wm are you using?
17:33:26BitPuffinEXetoC: xmonad
17:35:55EXetoCok
17:38:50BitPuffinsame "problem" in other wms though
17:38:54BitPuffinlike awesome
17:40:04EXetoChow so? I just need to either switch to the floating layout, or toggle floating for that particular window
17:40:59BitPuffinwell same in xmonda
17:41:02BitPuffinxmonad
17:48:57Araqok... you guys talk too much ;-)
17:49:07Araqhi nihathrael, welcome
17:50:23Araqdom96: what was the module that rendered in a weird way with [generated:type] ?
17:51:59dom96Araq: All I remember is times.fromSeconds being generated weirdly.
17:52:10dom96I think it might be related.
17:53:52Araqok I see
17:55:03Araqwtf lexer.GetNumber is almost 200 lines ...
17:58:03nihathraeldom96: currently what I find most troubling is that sometimes using the "Terminate current process" will close aporia with Error: unhandled exception: No child processes [EOS]
17:58:44dom96That's weird. I never encountered that bug. What platform are you on?
17:59:00NimBotAraq/Nimrod master 22d7df1 Araq [+0 ±2 -0]: fixes #492
17:59:00NimBotAraq/Nimrod master 2ccf8be Araq [+1 ±1 -0]: fixes #442
17:59:00NimBotAraq/Nimrod master 35b39d2 Araq [+0 ±2 -0]: fixes #488
17:59:00NimBotAraq/Nimrod master 7077d11 Araq [+0 ±3 -0]: bugfix: marshal supports unsigned numbers
17:59:00NimBot4 more commits.
17:59:06EXetoCBitPuffin: you got the ao gist this time, right?
17:59:09dom96if you could get a stack trace that would be great.
18:00:11nihathraeldom96: arch linux 64bit
18:00:51dom96nihathrael: yeah, get me a stack trace please, is it random or can you reproduce it?
18:01:00BitPuffinEXetoC: yup I did, when is it coming to github?
18:01:08nihathraeli'm currently trying to reproduce it reliably
18:01:08BitPuffinas a library
18:01:13BitPuffinand in babel
18:01:20nihathraelhow can I enable the stacktrace, it was just printing the exception with no stacktrace
18:01:34dom96nihathrael: compile without -d:release
18:02:21EXetoCBitPuffin: dare I say today? :>
18:02:28BitPuffinyou should dare!
18:02:43EXetoCI'll take a break and then work on ao. it should be pretty much done
18:02:59nihathraeldom96: ok, i'll enable that andsee if I get it to crash again
18:03:04EXetoCjust gotta handle a discarded return value or two
18:03:13dom96nihathrael: thanks
18:05:45EXetoCis the destructor ever run when returning an object by value?
18:06:32AraqEXetoC: yes but for the 'var' that you assign it to
18:06:33nihathraeldom96: should stuff with echo("foo") be displayed on the Output window?
18:06:51dom96nihathrael: yeah, if you Compile & Run.
18:07:33EXetoCAraq: including the implicit 'result'?
18:08:18EXetoCI got a couple of RAII-style objects, but I don't know if that's a good idea in this case
18:10:27EXetoCI want a destructor that is run only after the "constructor" scope, but I still want it to be deterministic (no reference semantics in other words)
18:10:35EXetoCbut maybe I'm over-engineering
18:13:14nihathraeldom96: here is the first one: http://pastebin.com/QRGE1pdR but this did not happen because I used the menu, just happened during typing
18:14:14AraqEXetoC: http://nimrod-code.org/manual.html#destructor-pragma
18:14:27nihathraelgot that one twice already
18:14:32dom96nihathrael: You're running git HEAD right?
18:14:47nihathraelmake that three, yes aporia git head
18:15:42nihathraelah ok, I can even reproduce that one.
18:15:51nihathraelprobaby as something to do with my keyboard layout
18:16:16dom96yeah, that's what I'm thinking.
18:16:41nihathraelI use the neo layout, using capslock(which is a modifier on my layout) + backspace will crash it
18:17:30AraqEXetoC: the idea is to get the behavior of C++ with named return value and move optimizations
18:18:08Araqso there are no destructors invoked for temporary objects, only for the final variable that binds the constructed value
18:18:45dom96nihathrael: What does that key combination do usually?
18:19:08nihathraelnothing
18:19:13Araqand the rules (should) ensure that it ends up being bound to a variable
18:19:14nihathraelit just happened as a typo
18:20:19*XAMPP-8 quit (Ping timeout: 276 seconds)
18:20:25*BitPuffin quit (Ping timeout: 246 seconds)
18:20:43dom96nihathrael: I think I see what is happening.
18:26:58NimBotnimrod-code/Aporia master 974c047 Dominik Picheta [+0 ±1 -0]: Fixed another 'bool' bug.
18:26:58NimBotnimrod-code/Aporia master 4526f59 Dominik Picheta [+0 ±1 -0]: Fixed crash when 'keyval_name' returns nil.
18:27:09dom96nihathrael: Try it now.
18:28:06dom96Araq: Did you read the logs? I asked you a question at the beginning of today.
18:28:56dom96nihathrael: oh crap, sorry forgot something.
18:30:37NimBotnimrod-code/Aporia master 1542eae Dominik Picheta [+0 ±1 -0]: Fixes 'keyval_name' crash in SourceViewKeyPress properly.
18:30:46dom96nihathrael: now try it please
18:32:28Araqdom96: as I said, too much talk, didn't read it
18:32:30EXetoCAraq: ok
18:32:47Araqreactormonk: I've implemented codegenDecl for you
18:41:06dom96Araq: Too much work to find my question? :P
18:44:52Araqif you can't bother to repeat it, I can't be bothered to read it
18:45:34dom96<dom96> Araq: Hrm, deprecation warnings are a problem when we have a test which is meant to reproduce some old bug, i'm worried about accidentally getting rid of the piece of the code which reproduces the bug. What should be done in this situation? I will leave it alone for now.
18:46:59Araqperhaps the tester should do --warning[deprecated]:off
18:47:13dom96Yes, that's what I thought.
18:47:27Araqbut then when we remove things the tests will fail
18:47:31dom96But these functions will be removed eventually..
18:49:18Araqwell the tests should get rid of deprecated stuff as fast as possible
18:50:00EXetoCAraq: I guess such return semantics will completely remove the need for a constructor pragma for example
18:51:24AraqEXetoC: I think the recently introduced .requiresInit was the last missing piece and no constructors are necessary
18:52:30Araqconstructors suck anyway; they make factories a special design pattern
18:53:08dom96Araq: Well I don't know what to do. On another note, a separate issue i've encountered: the tester still complains about the deprecation warnings which i've fixed.
18:53:42Araqdom96: that's impossible unless it uses an older stdlib
18:55:10EXetoCyeah
18:57:23Araqdom96: so ... libzip now depends on libzip.so.2
18:57:34Araqhow do we get that on our testing machines?
18:58:07*Endy quit (Ping timeout: 264 seconds)
19:00:04dom96Araq: no idea. Do we have libzip.so installed?
19:00:18Araqof course not
19:00:32Araqit wasn't even installed here on my desktop machine
19:00:57nihathraeldom96: cheers, works great. Thanks for the quick fix
19:01:02AraqI'll revert to my libzip_all.c hack
19:01:10dom96nihathrael: great, no problem :)
19:02:41dom96Araq: It looks like the guys fedora package won't get in anyway... I think he gave up :\
19:03:01Araqnope
19:03:12Araqwell yes; he answered to wait for 0.9.4
19:03:41dom96thanks for telling me...
19:03:59Araqsorry, thought you got that email too
19:05:01Araqwell without it nimbuild doesn't build the zip ... so ugh
19:06:54Araqoh I know
19:11:43dom96please don't add the .so to the git repo :P
19:16:08*Sergio965 quit (Ping timeout: 264 seconds)
19:16:41Araqhmm now I know why I made a libzip_all.c file
19:17:04Araqthe library has a *file per function*
19:17:08Araq!!!
19:23:19EXetoCbrilliant
19:24:19Araqit also consists mostly of 'if (blah) return ERR_Exceptions_missing_in_C' and mixes tabs and spaces ...
19:24:39*XAMPP-8 joined #nimrod
19:25:51*Sergio965 joined #nimrod
19:26:44*XAMPP_8 joined #nimrod
19:27:09*Sergio965 quit (Client Quit)
19:30:31*XAMPP-8 quit (Ping timeout: 276 seconds)
19:33:07*XAMPP_8 quit (Ping timeout: 276 seconds)
19:35:17Araqgah, say what you want, but the old way of using libzip_all.c was brilliant, no headaches whatsoever for years
19:42:06NimBotAraq/Nimrod master 456785f Araq [+0 ±2 -0]: attempt to make libzip work on the testing machines
19:44:15dom96I think gradha's builder always crashes during bootstrapping.
20:03:25*apotheon quit (Ping timeout: 256 seconds)
20:05:44dom96Araq: I think both regex and pegs search in Aporia leaks memory, and i'm not sure why.
20:05:58dom96I think I will refactor the code though since it's pretty messy.
20:07:10Araqok ...
20:11:57reactormonkAraq, sweet
20:14:32Araqreactormonk: I don't believe it will help you :P
20:19:47reactormonkAraq, why?
20:21:50Araqyou still need the memcpy crap to read from prog_mem memory
20:23:05NimBotAraq/Nimrod master ed33495 Araq [+0 ±2 -0]: implements nicer floating point literals
20:23:45reactormonkhttp://sprunge.us/ecNY
20:25:59Araqpointer increments, hu? nice. Doesn't compile.
20:26:05reactormonkaww
20:33:28*apotheon joined #nimrod
20:33:28*apotheon quit (Changing host)
20:33:28*apotheon joined #nimrod
20:39:25reactormonkAraq, it does compile.
20:39:34reactormonkeh wait, not used.
20:42:02reactormonklib/system/arduino.nim(26, 8) Error: 'cast[ptr Byte](copy_to)' cannot be assigned to
20:42:07reactormonkAraq, ^ this one?
20:45:46Araqcast[ptr byte](copy_to)[] = pgm_read_byte(pgm)
20:46:24Araq copy_to = cast[ptr byte](cast[int16](copy_to) + 1)
20:53:58reactormonkI read bytes there... why the int16 cast?
20:54:42Araqbecause + likes integers
20:55:14Araqand your address space is 16 bit iirc
20:55:46reactormonkyup
20:56:14reactormonkso I gotta read words and not bytes
20:56:52Araqno ...
20:57:31Araquse your brain, you write bytes, but a byte has an address and this address is 16 bits wide
21:04:47reactormonkproc pgm_read_word(pointer: prog_ptr): cint {.importc: "pgm_read_word", header: "avr/pgmspace.h".} # invalid pragma here
21:07:36reactormonkdoesn't tell me much more
21:21:22NimBotnimrod-code/Aporia master 8918f0f Dominik Picheta [+0 ±2 -0]: Fixes duplicates getting added to the recently closed files list.
21:21:22NimBotnimrod-code/Aporia master d2ba991 Dominik Picheta [+0 ±1 -0]: Fixes highlight all not being reset when typing.
22:07:49nihathraeldom96: i'm not seing any of the echo() calls here on the console, I guess i'm doing something wrong? i'm using "compile file & run" from the tools menu to start it. Source is here: http://pastebin.com/27ws3ym0
22:08:52dom96nihathrael: ahh, you will have to either flush() or wait until your app closes.
22:11:28dom96In most cases it is still more practical to just use a terminal :\
22:12:48nihathraelah ok, where can I find that flush?
22:13:30dom96oh sorry, FlushFile: stdout.FlushFile()
22:14:23nihathraelah great, that works. thanks!
22:14:46dom96cool
22:20:59nihathraelis there a special convention on when proc names should be started with an uppercase letter when with lowercas?
22:29:24*XAMPP_8 joined #nimrod
22:31:22EXetoCnihathrael: the grammar is case-insensitive
22:31:38EXetoCbut I prefer the style used in the standard library
22:32:14EXetoChttp://nimrod-code.org/manual.html#identifiers-keywords_toc
22:34:22Araqnihathrael: exported procs should be uppercased, the other lowercased ... this way you can easily tell every exported symbol which helps readability because <insert cargo cult reason here>. Oh wait ... I forgot Nimrod is not Go ...
22:34:28*XAMPP_8 quit (Ping timeout: 276 seconds)
22:35:39nihathraelwas just wondering because setCurrentDir() is lowercase and JoinPath() is uppercase
22:36:16Araqactually the convention is to use lowerCase and no underscores
22:36:37Araqunless the underscores separate an abbreviation like GC_disable()
22:36:56nihathraelso pretty javaish style
22:39:43Araqyeah
22:47:01Araqdom96: koch> sh: ./tools/niminst/niminst: not found
22:47:42Araqand then later it's compiled
22:47:56AraqI guess the output order is still wrong?
22:49:37dom96I guess so.
22:55:50*BitPuffin joined #nimrod
23:02:02Araqgood night
23:03:10*Araq__ joined #nimrod
23:04:05*Araq_ quit (Ping timeout: 248 seconds)
23:09:42*Associat0r quit (Read error: Connection reset by peer)
23:09:49*q66 quit (Quit: Leaving)
23:10:39dom96EXetoC: Please say what library you're adding in your commit message next time :P
23:10:43*Associat0r joined #nimrod
23:10:43*Associat0r quit (Changing host)
23:10:43*Associat0r joined #nimrod
23:11:40NimBotnimrod-code/packages master d82f1fe Erik Johansson Andersson [+0 ±1 -0]: Add library
23:11:40NimBotnimrod-code/packages master fe815e8 Dominik Picheta [+0 ±1 -0]: Merge pull request #18 from EXetoC/patch-1... 2 more lines
23:12:13nihathraelalright, finished a first draft of a very simple fileserver. Quite pleased with the results so far
23:13:17dom96nihathrael: nice, make sure to blog about it if you have a blog and spam reddit with it ;)
23:13:48nihathraelfew things, mainy ide related. Can the autocompletion not be used to autocomplete variable names?
23:14:12nihathraelalso, the ide needs a strg+d shortcut to delete the entire current line :) But maybe I can actually add that myself
23:14:55EXetoCstrg? interesting :>
23:15:12nihathraelcould be pretty much everything, just my eclipse habbit
23:15:19EXetoCdom96: but it says it right there. oh, alright :p
23:16:22EXetoCBitPuffin: ao added
23:16:36BitPuffinEXetoC: woho!
23:16:40BitPuffinEXetoC: to babel too?
23:16:45EXetoCyes
23:16:59BitPuffinEXetoC: what's it called?
23:17:32dom96nihathrael: strg?
23:17:39BitPuffinweird
23:17:44BitPuffinbabel search couldn't find it
23:17:47BitPuffinbut babel list listed it
23:17:53BitPuffindom96: is search broken?
23:18:22BitPuffindoesn't find anything on ao
23:18:23BitPuffinor nim
23:18:28EXetoCjust search for nim-ao :p
23:18:37dom96nihathrael: The 'suggest' feature is still a prototype really, I don't use it. Scanning the document for variables and function names might be a nice addition, although the compiler should give the correct suggestions.
23:18:44dom96AFAIK that's what sublime does.
23:18:55dom96BitPuffin: It should.
23:19:05dom96BitPuffin: Remember you need to 'babel update'
23:19:17BitPuffini did
23:19:23BitPuffinI even said it listed it
23:19:27BitPuffintry it yourself!
23:19:29BitPuffinsearch for ao
23:19:29nihathraeldom96: I think it's probably mainly a problem of triggering the suggest feature at that point
23:19:30BitPuffinand nim
23:20:03dom96nihathrael: The compiler can now run as a 'service' which means suggest can be faster, I will implement that eventually.
23:20:05nihathraeldom96: sorry ctrl, getting late and thinking german keyboard
23:20:25dom96BitPuffin: oh, didn't notice you said that babel list listed it
23:22:40dom96BitPuffin: Yeah, seems 'search' sucks :P
23:23:00nihathraeljust took a look at the code, I think I can implement the line deletion myself and open a PR for it
23:24:00dom96looks like I will have to add a way to customise keys ASAP.
23:24:42nihathraelyea that'll probably prove useful on the long run
23:24:42dom96But yeah, Ctrl+D is no problem.
23:27:29NimBotnimrod-code/babel master d826584 Dominik Picheta [+0 ±1 -0]: Improved 'babel search'.
23:27:34dom96BitPuffin: That should be better.
23:42:17EXetoCplop