00:07:25 | dom96 | 'night |
00:07:39 | EXetoC | l8r! |
00:08:01 | EXetoC | can parameters be of type array? |
00:08:10 | EXetoC | static arrays |
00:11:16 | EXetoC | oops, must've messed up the syntax |
00:19:30 | EXetoC | cya |
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:35 | dom96 | hello |
10:38:14 | EXetoC | yoo |
10:46:23 | dom96 | EXetoC: 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:20 | EXetoC | yeah, good idea |
10:52:32 | EXetoC | sequences are not reference types, right? if I've understood the manual correctly |
10:53:12 | EXetoC | and does bycopy just insert an implicit 'ref' or something? |
10:54:29 | EXetoC | I 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:31 | dom96 | Yeah, I think by default it's up to the compiler and you can use byref or bycopy to change the behaviour. |
10:57:52 | EXetoC | right |
11:01:22 | NimBot | nimrod-code/Aporia master cf1200f Dominik Picheta [+0 ±1 -0]: Fixes another bug caused by 'bool' in GTK signals. |
11:28:08 | EXetoC | gotta spam some code until I'm able to wrap C code with ease |
11:28:21 | EXetoC | hiding pointer-based buffers can be tricky, but it should be well worth it |
11:31:28 | 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. |
11:34:25 | EXetoC | or maybe not so tricky if you know about addr, array, ptr, pointer and cast |
11:36:50 | * | BitPuffin joined #nimrod |
11:37:29 | EXetoC | has not much been worked on lately or is someone secretely holding on to a load of commits? :> |
11:38:41 | dom96 | probably the former D: |
11:39:51 | dom96 | but hey, i'm doing stuff |
11:40:37 | EXetoC | I meant on the compiler, but yeah sure |
11:40:38 | BitPuffin | hey dudies! |
11:41:27 | EXetoC | I'll donate if I ever get rich though |
11:41:30 | BitPuffin | still no glfw3 in babel? :/ |
11:41:33 | EXetoC | or at least when I have *some* money :> |
11:41:36 | EXetoC | hm |
11:42:16 | dom96 | yeah, you should. And it's very easy nowadays. |
11:43:07 | EXetoC | I've barely had any money for years though, no joke, but I'd love to do that some time |
11:43:36 | EXetoC | dom96: I submitted a pull request to packages yesterday in case you didn't notice |
11:43:42 | EXetoC | my fellow swede is getting impatient :> |
11:44:03 | dom96 | I know, I was waiting for you to move that low level wrapper :P |
11:44:06 | BitPuffin | add btc donations! |
11:44:08 | EXetoC | or maybe he's just pretending to be swedish in order to seem smarter, who knows |
11:44:10 | EXetoC | oh ok |
11:44:15 | dom96 | BitPuffin: We have that. |
11:44:16 | EXetoC | I'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:46 | EXetoC | :> |
11:47:51 | BitPuffin | dom96: 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:12 | dom96 | BitPuffin: 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:40 | BitPuffin | well I guess it's a good way to bootstrap it |
11:49:52 | BitPuffin | but it does mean a lot of maintanance for you |
11:50:02 | BitPuffin | like if one day nimrod gets HUGE |
11:50:16 | BitPuffin | it is better to have already moved the stuff so that you don't have to deal with it |
11:50:24 | dom96 | lol true. |
11:50:27 | EXetoC | can't fields be separated by comments? I always get "invalid indentation" no matter what I try |
11:50:41 | EXetoC | a: int\n#ohai\nb: int |
11:50:42 | dom96 | It should be easy to create a quick bot which checks basic things though. |
11:50:51 | BitPuffin | perhaps |
11:50:53 | dom96 | So we don't actually need a website. |
11:51:01 | BitPuffin | I guess not |
11:51:06 | BitPuffin | but it's kind of elegant |
11:51:11 | dom96 | Rust does it the same way btw. |
11:51:19 | BitPuffin | I am aware |
11:51:26 | BitPuffin | D doesn't, however |
11:51:29 | EXetoC | oh well, empty newlines will do |
11:52:09 | dom96 | hrm, not much activity on cargo-central. |
11:52:11 | EXetoC | they're working on an implementation in D though, but that should take a long time |
11:52:30 | BitPuffin | http://registry.vibed.org/ |
11:53:11 | dom96 | the advantage of having a website would be that we could list the versions. |
11:53:17 | BitPuffin | yep |
11:53:29 | BitPuffin | this thing integrates with github |
11:53:38 | BitPuffin | it uses tags to set versions |
11:53:50 | dom96 | That's how we do it too. |
11:54:07 | dom96 | Only way to check what versions a package has would be to query github for tag data. |
11:54:14 | dom96 | which is doable I guess |
11:55:28 | EXetoC | you know what you should implement? internet-global package discovery. ftw! |
11:56:08 | dom96 | yeah, I don't know what you mean by that. |
11:58:37 | EXetoC | write an iterator that traverses the internet, and then store all new babel files that you encounter |
12:00:02 | BitPuffin | you mean a crawler? |
12:00:14 | dom96 | oh wow, the rust cargo tool is gone. |
12:00:39 | BitPuffin | dom96: how did you manage to resist naming your gameboy emulator "nimboy"? |
12:01:08 | EXetoC | rustpkg is the planned successor |
12:01:12 | dom96 | lol, I'm getting a bit bored of that prefix. |
12:01:20 | dom96 | And I didn't think long about the name |
12:03:29 | BitPuffin | nameboy |
12:03:34 | EXetoC | is documentation generated only for public and documented symbols? |
12:03:45 | dom96 | only for public |
12:04:08 | BitPuffin | one thing that's not very clear to me regarding objects |
12:04:18 | BitPuffin | if you don't mark something as public (*) |
12:04:22 | EXetoC | dom96: but not undocumented and public? |
12:04:31 | BitPuffin | if you create an object of that type externally? |
12:04:41 | dom96 | EXetoC: it is generated even if there is no documentation. |
12:04:41 | BitPuffin | because it said it was local to the module |
12:04:45 | BitPuffin | not the object |
12:04:47 | BitPuffin | which is weird |
12:05:42 | EXetoC | how 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:27 | BitPuffin | because all values that aren't static are local to the object |
12:07:11 | * | Araq_ joined #nimrod |
12:07:41 | BitPuffin | `name*: string # the * means that `name` is accessible from other modules` |
12:07:47 | EXetoC | yes |
12:08:28 | BitPuffin | so that is not like saying something is public in a class? |
12:08:46 | BitPuffin | is it like saying that something is public and static? |
12:09:37 | Araq_ | BitPuffin: * marks a field as public, default is private |
12:09:42 | Araq_ | no staticness involved |
12:09:51 | BitPuffin | well |
12:09:58 | BitPuffin | then why does it say accessible from other modules? |
12:10:19 | BitPuffin | it's not really what public means |
12:10:30 | BitPuffin | it means that it's accessible from the object handle |
12:10:45 | BitPuffin | weather it's in the same module or not |
12:10:48 | Araq_ | 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:06 | EXetoC | accessible through an *instance* of said type |
12:11:06 | EXetoC | pretty much like in D or C++ in other words |
12:11:14 | EXetoC | well, slightly different in C++, because of a lack of modules etc |
12:11:52 | Araq_ | hi mario-goulart, welcome |
12:11:53 | BitPuffin | well then it shouldn't say accessible from other modules |
12:12:06 | BitPuffin | but okay |
12:12:14 | BitPuffin | * makes it accessible from the public interface |
12:12:30 | EXetoC | BitPuffin: everything in a module can access everything else in a module regardless |
12:12:35 | EXetoC | right |
12:12:53 | BitPuffin | EXetoC: kind of like with private in D? where classes in the same file are friends? |
12:12:58 | BitPuffin | same module* |
12:14:15 | EXetoC | yes, that's exactly the same I think |
12:14:16 | Araq_ | BitPuffin: it's accessible from other modules via the instance ... |
12:14:25 | BitPuffin | well okay |
12:14:45 | BitPuffin | Araq_: yes and the instance holds the public interface :) |
12:14:58 | BitPuffin | so there is no protected in nimrod? |
12:15:51 | dom96 | EXetoC: hrm, sorry. I'm going to rename 'rootDir' to 'srcDir' it makes more sense IMO. |
12:15:56 | Araq_ | no protected, no |
12:17:58 | EXetoC | dom96: that's alright I guess :-) |
12:22:12 | BitPuffin | yeah that's probably better dom96 |
12:22:25 | BitPuffin | Araq_: okay, any particular reason? |
12:22:31 | NimBot | nimrod-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:34 | Araq_ | BitPuffin: there is some value in simplicity and I as I said elsewhere OO has a low priority for me |
12:27:21 | BitPuffin | Araq_: okay :) yeah OO is not all that great all the times |
12:27:25 | EXetoC | dom96, BitPuffin: done |
12:27:27 | BitPuffin | time* |
12:27:31 | BitPuffin | EXetoC: score! |
12:27:52 | BitPuffin | Araq_: 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:23 | NimBot | nimrod-code/packages master dda2912 Erik Johansson Andersson [+0 ±1 -0]: Add library... 2 more lines |
12:31:23 | NimBot | nimrod-code/packages master fd5dec7 Dominik Picheta [+0 ±1 -0]: Merge pull request #17 from EXetoC/master... 2 more lines |
12:32:11 | dom96 | Done. But now i'm thinking that perhaps prefixing the package name with 'nimrod-' is a bit ugly. |
12:32:13 | dom96 | But meh. |
12:33:05 | BitPuffin | I have to update babel? |
12:33:10 | dom96 | yes |
12:34:25 | EXetoC | I just followed the convention :P but I think <name>-nim would be better |
12:34:30 | BitPuffin | there |
12:34:55 | dom96 | You mean you copied the other glfw library? :P |
12:36:18 | mario-goulart | Hi Araq_. Thanks! |
12:36:20 | EXetoC | other libs follow that convention too |
12:36:20 | EXetoC | about 5 or 6 :> |
12:36:20 | EXetoC | oops, gotta update the example module |
12:36:39 | dom96 | hello mario-goulart! |
12:36:55 | mario-goulart | Hello dom96! |
12:37:05 | EXetoC | both modules actually |
12:37:22 | dom96 | EXetoC: There are only two which use the 'nimrod' prefix |
12:37:27 | dom96 | 1 other uses 'nim' |
12:37:43 | dom96 | *'nim-' |
12:38:15 | EXetoC | nimrod-sfml nimrod-enet nimrod-glfw nimrod-chipmunk |
12:38:19 | EXetoC | I'll rename it either way |
12:38:36 | dom96 | where do you see nimrod-sfml? |
12:38:58 | dom96 | oh, you're looking at github repo names. |
12:39:13 | dom96 | You don't have to rename it if you don't want to. |
12:39:56 | BitPuffin | actually sfml is just called sfml |
12:39:58 | BitPuffin | the package |
12:40:11 | dom96 | yep, and so is enet. |
12:40:19 | dom96 | and chipmunk |
12:40:22 | EXetoC | "import glfw3/high_level" I don't know how to fully qualify symbols declared in that module |
12:40:48 | BitPuffin | noob |
12:40:52 | * | BitPuffin is kidding |
12:41:13 | dom96 | hrm, that's a problem. |
12:41:24 | dom96 | Does simply using high_level. work? |
12:41:25 | EXetoC | eh, I have to do high_level.terminate(), which is not ideal |
12:41:36 | EXetoC | yes |
12:41:41 | BitPuffin | what's the difference between doing `TFoo = object` and `TFoo = object of TObject` |
12:41:52 | dom96 | BitPuffin: Didn't I answer that yesterday? |
12:42:05 | BitPuffin | let me check |
12:42:09 | dom96 | BitPuffin: Latter means TFoo is 'inheritable' |
12:42:10 | EXetoC | you won't be able to inherit from the former unless you do "TFoo {.inheritable.} = object" |
12:42:19 | EXetoC | which introduces another object root |
12:42:37 | BitPuffin | ah I missed that |
12:42:39 | dom96 | EXetoC: What would be ideal? glfw3/high_level. ? |
12:42:41 | EXetoC | I'm not sure why you need that. I just inherit from TObject |
12:43:10 | BitPuffin | thanks guys, sorry :) |
12:43:30 | EXetoC | dom96: something like that, in order to be able to avoid name collisions when using multiple libraries |
12:43:51 | BitPuffin | so TObject is basically just `TObject {.inheritable.} = object`? |
12:45:15 | dom96 | I can see that conflicts may arise... |
12:46:23 | dom96 | EXetoC: That's Araq_'s department :P |
12:46:47 | EXetoC | and whoever wants to fully qualify symbols is going to have to type a lot, without the ability to rename imports |
12:48:16 | EXetoC | I guess I can just rename my modules for now |
12:50:55 | dom96 | Yeah, renaming imports would be nice. I think Araq said that he won't add that though :\ |
12:51:22 | BitPuffin | :( |
12:53:35 | EXetoC | as long as the former is dealt with at the very least |
12:55:04 | Araq_ | BitPuffin: you can look up the definition in system.nim |
12:55:33 | Araq_ | EXetoC: .inheritable is only for low level hacking really |
12:55:44 | EXetoC | right |
12:56:32 | BitPuffin | TObject* {.exportc: "TNimObject", inheritable.} = object |
12:56:40 | BitPuffin | what does exportc do? |
12:56:57 | EXetoC | http://nimrod-code.org/manual.html#exportc-pragma_toc |
12:59:31 | BitPuffin | aha |
13:02:47 | EXetoC | dom96: you could just name the modules like this: glfw3/glfw3.nim glfw3/glfw3_wrapper.nim |
13:02:56 | BitPuffin | yup |
13:03:36 | EXetoC | though keeping the sub directory will be a little redundant with the current rules |
13:03:46 | dom96 | I would prefer a glfw3.nim in src/ and a wrapper.nim in glfw3/wrapper.nim |
13:04:13 | dom96 | Would allow: import glfw3, glfw3/wrapper |
13:05:21 | EXetoC | dom96: 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:34 | dom96 | why will it be bad? |
13:06:59 | * | Araq_ quit (Read error: Connection timed out) |
13:08:23 | * | Araq_ joined #nimrod |
13:09:20 | EXetoC | dom96: because you'd qualify the symbol like so: wrapper.foo, but basically every C library has its own unique symbol prefix anyway |
13:10:34 | Araq_ | these symbol prefixes are often stripped for nimrod wrappers |
13:11:06 | dom96 | ahh, yeah. So we either get nice syntax to qualify 'pkg/wrapper.nim'-like imports, or we use pkg_wrapper.nim instead. |
13:11:15 | EXetoC | right. that can even be done automatically IIRC |
13:11:16 | Araq_ | 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:20 | EXetoC | (Araq_) |
13:11:58 | EXetoC | :p |
13:12:00 | dom96 | Araq_: You said you would fix it. |
13:12:08 | BitPuffin | why can't we rename import? |
13:12:13 | BitPuffin | import x as y |
13:12:20 | Araq_ | I will fix it ... some day |
13:12:20 | dom96 | And I still think you should. |
13:13:10 | Araq_ | BitPuffin: because it's somewhat hard to implement :P |
13:13:19 | EXetoC | BitPuffin: gonna try the example soon? |
13:13:27 | dom96 | Araq_: You are welcome to beg people to prefix their modules with 'pkgname' but I won't be doing that. |
13:14:06 | EXetoC | oh well. it shouldn't be an issue atm |
13:14:27 | BitPuffin | oh really, sounds trivial, but I guess it's difficult to know for someone who's never coded a compiler |
13:15:11 | BitPuffin | EXetoC: yeah! |
13:15:59 | Araq_ | BitPuffin: depends on your architecture, if you plan for the feature it's trivial |
13:16:28 | BitPuffin | like with every code project then |
13:17:31 | EXetoC | I love this align plugin for vim |
13:17:52 | BitPuffin | does kind of sound like something one would anticiptate though, but I digress |
13:18:40 | BitPuffin | EXetoC: align? |
13:19:38 | EXetoC | BitPuffin: for aligning vertically |
13:19:52 | * | EXetoC quit (Quit: WeeChat 0.4.1) |
13:20:09 | * | EXetoC joined #nimrod |
13:20:16 | NimBot | nimrod-code/babel master 946fa7c Dominik Picheta [+0 ±1 -0]: Documented all .babel options. |
13:20:24 | EXetoC | wrong keyboard sequence :p |
13:23:22 | BitPuffin | EXetoC: okay I'm gonna try running your example, no idea how though |
13:23:36 | EXetoC | nub |
13:23:39 | EXetoC | j/k. sec |
13:24:23 | EXetoC | BitPuffin: do this if pwd is the root directory: nimrod c -p:./src -r examples/callback_test.nim |
13:24:24 | dom96 | Araq_: Even if babel didn't "encourage" it users would eventually do it. AFAIK it's a pretty common thing to do. |
13:25:25 | BitPuffin | EXetoC: doesn't work, how do I link to glfw? |
13:26:34 | BitPuffin | could not import: glfwSetFramebufferSizeCallback |
13:26:57 | EXetoC | BitPuffin: have you updated glfw? |
13:27:05 | EXetoC | in other words, do you have version 3 rather than version 2? |
13:27:11 | EXetoC | glfw3 was released not long ago |
13:28:14 | BitPuffin | EXetoC: yeah I have glfw3, it's the glfw in arch |
13:28:52 | EXetoC | BitPuffin: me too: community/glfw 3.0-1 |
13:28:59 | BitPuffin | yep |
13:29:13 | EXetoC | :o |
13:29:28 | EXetoC | and you don't have some other version in /usr/local or something? |
13:29:52 | BitPuffin | actually I do |
13:31:23 | EXetoC | you can try to either remove that one, or by re-ordering the path entries |
13:31:43 | BitPuffin | now it works :) |
13:31:45 | EXetoC | s/by re-ordering/re-order |
13:31:50 | EXetoC | cool |
13:31:51 | BitPuffin | i removed it |
13:32:31 | BitPuffin | strange, it polls qwerty keys when I use dvorak |
13:32:32 | BitPuffin | but whatever |
13:32:36 | BitPuffin | that's actually a good thing |
13:33:47 | BitPuffin | however that it polls US layout is not a good thing |
13:34:00 | EXetoC | huh |
13:34:18 | EXetoC | no, not for me |
13:34:58 | EXetoC | shift-3 for example generates # as expected |
13:35:17 | BitPuffin | actually isn't it better if it's called binding rather than wrapper? |
13:35:25 | BitPuffin | EXetoC: well try pressing -, gives a / |
13:35:58 | EXetoC | it doesn't |
13:36:26 | EXetoC | but maybe the scan code parameter is relevant in this case. I will add it now |
13:43:02 | EXetoC | Later I mean. Coffee and lack of exercise has made me dizzy :> |
13:43:31 | EXetoC | aka excess energy I think. happy coding |
13:45:20 | EXetoC | BitPuffin: no other issues? |
13:45:29 | BitPuffin | don't think so? seems good to me |
13:45:42 | EXetoC | ok good |
13:47:05 | Araq_ | binding, wrapper, give it a real name for god's sake |
13:49:07 | EXetoC | I will |
13:54:02 | BitPuffin | is there a logging utility for nimrod? |
13:55:02 | dom96 | There is but someone needs to finish it: https://github.com/Araq/Nimrod/blob/master/devel/logging.nim |
13:58:02 | BitPuffin | part of stdlib? |
13:58:25 | dom96 | no. |
14:07:13 | NimBot | Araq/Nimrod master dd1107c Dominik Picheta [+0 ±4 -0]: Fixed OSError + recvLine deprecation warnings. |
14:23:42 | * | Associat0r quit (Quit: Associat0r) |
14:30:00 | BitPuffin | what's the difference between dynamic and static dispatch? |
14:32:51 | dom96 | It'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:01 | dom96 | Wikipedia 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:51 | BitPuffin | when parametrizing types, can I put anything in the []? |
15:02:31 | dom96 | I 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:26 | EXetoC | botters eh? |
15:48:44 | dom96 | it's a channel :P |
15:48:55 | * | mario-goulart quit (Remote host closed the connection) |
15:49:03 | * | mario-goulart joined #nimrod |
15:52:12 | EXetoC | I guess they have their own web client then |
15:52:24 | dom96 | it's a cloak |
15:52:28 | dom96 | :P |
15:55:55 | * | Associat0r joined #nimrod |
16:09:51 | EXetoC | BitPuffin: which of the key code and unicode representation are incorrect? |
16:12:17 | EXetoC | for me, both are correct. altgr-8 give me 8 as the key code, and ] as the character value |
16:12:30 | EXetoC | which for me is correct |
16:13:34 | EXetoC | it should be GLFW's fault though, if it's incorrect |
16:25:43 | * | nihathrael joined #nimrod |
16:25:55 | dom96 | hello nihathrael |
16:26:54 | nihathrael | hi 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:33 | dom96 | % [$counter, anotherVar] |
16:27:35 | * | Endy joined #nimrod |
16:28:01 | nihathrael | of course "[", tried every other brace type :) |
16:28:17 | dom96 | heh |
16:29:21 | nihathrael | thanks |
16:29:25 | dom96 | np |
16:30:07 | EXetoC | precedence issue? because there's a single-argument version as well for `%` |
16:30:36 | dom96 | hrm? |
16:30:42 | dom96 | where do you see an issue? |
16:31:14 | EXetoC | nevermind |
16:31:58 | EXetoC | but yes, there are two overloads as you can see here http://www.nimrod-code.org/strutils.html#174 |
16:34:47 | nihathrael | EXetoC: thanks, that was precisely what I was looking for and not findin |
16:37:19 | dom96 | bbl |
16:37:39 | nihathrael | which editor do you guys recommend for nimrod programming? I was looking at aporia, it seems a little unstable at times |
16:40:41 | BitPuffin | EXetoC: I'm not sure |
16:40:44 | BitPuffin | nihathrael: I use vim |
16:41:15 | nihathrael | is outcompletion available for vim? |
16:41:48 | reactormonk | nihathrael, the nimrod completion is editor-agnostic |
16:41:53 | EXetoC | I think so, but I haven't used it |
16:42:07 | EXetoC | https://github.com/zah/nimrod.vim |
16:42:09 | BitPuffin | reactormonk: nimrod has autocompletion? |
16:42:16 | reactormonk | BitPuffin, sure, nimrod idetools |
16:42:28 | reactormonk | nihathrael, for the emacs part, I'll have to take a look again |
16:43:06 | reactormonk | nihathrael, https://github.com/Tass/nimrod-mode |
16:43:41 | BitPuffin | woot |
16:43:46 | BitPuffin | now that's maturity |
16:46:02 | nihathrael | vim doesn't look too bad, I'd really like something with working auto-complete |
16:46:06 | * | DAddYE joined #nimrod |
16:47:18 | reactormonk | nihathrael, I can make the emacs thingy work... maybe |
16:47:48 | nihathrael | i'll try aporia for now, seems to work so far |
16:48:14 | nihathrael | maybe if I get somewhat familiar with the syntax and all I can hack it a bit |
16:48:57 | reactormonk | Araq_, https://github.com/Araq/Nimrod/pull/486 fine to pull? |
16:50:20 | BitPuffin | nihathrael: 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:05 | BitPuffin | zah 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:36 | EXetoC | BitPuffin: what do you mean? |
17:21:36 | dom96 | back |
17:21:44 | EXetoC | dom96: sup holmes |
17:21:49 | BitPuffin | EXetoC: what I mean? |
17:22:06 | dom96 | EXetoC: That's Mr. Holmes to you, good sir. |
17:22:16 | * | q66 quit (Quit: Leaving) |
17:22:27 | EXetoC | dom96: gangsta slang, biatch |
17:22:34 | EXetoC | BitPuffin: I misread |
17:22:42 | * | q66 joined #nimrod |
17:22:45 | BitPuffin | EXetoC: misread what? |
17:22:56 | reactormonk | dom96, any idea why idetools isn't suggesting me anything? |
17:23:27 | dom96 | EXetoC: I beg your pardon. |
17:23:48 | reactormonk | now it works |
17:23:59 | dom96 | reactormonk: No id-- ok. |
17:24:29 | EXetoC | dom96: holmes, bruvva, homie :> |
17:24:48 | dom96 | nihathrael: 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:49 | reactormonk | nihathrael, works in emacs too |
17:26:28 | dom96 | Are the suggestions any good? |
17:26:34 | BitPuffin | EXetoC: you should change the window in the example to not be resizable, makes it floating in tiling wms |
17:27:06 | BitPuffin | unless you are also showing of resize callbacks |
17:28:37 | dom96 | reactormonk: ^ |
17:29:49 | reactormonk | dom96, +/- |
17:29:56 | reactormonk | little bit too many for e.g. string |
17:30:07 | dom96 | are they relevant? |
17:31:30 | reactormonk | yup |
17:31:54 | EXetoC | BitPuffin: said tiling wm isn't too good then if that's an issue :-P |
17:32:49 | EXetoC | which wm are you using? |
17:33:26 | BitPuffin | EXetoC: xmonad |
17:35:55 | EXetoC | ok |
17:38:50 | BitPuffin | same "problem" in other wms though |
17:38:54 | BitPuffin | like awesome |
17:40:04 | EXetoC | how so? I just need to either switch to the floating layout, or toggle floating for that particular window |
17:40:59 | BitPuffin | well same in xmonda |
17:41:02 | BitPuffin | xmonad |
17:48:57 | Araq | ok... you guys talk too much ;-) |
17:49:07 | Araq | hi nihathrael, welcome |
17:50:23 | Araq | dom96: what was the module that rendered in a weird way with [generated:type] ? |
17:51:59 | dom96 | Araq: All I remember is times.fromSeconds being generated weirdly. |
17:52:10 | dom96 | I think it might be related. |
17:53:52 | Araq | ok I see |
17:55:03 | Araq | wtf lexer.GetNumber is almost 200 lines ... |
17:58:03 | nihathrael | dom96: 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:44 | dom96 | That's weird. I never encountered that bug. What platform are you on? |
17:59:00 | NimBot | Araq/Nimrod master 22d7df1 Araq [+0 ±2 -0]: fixes #492 |
17:59:00 | NimBot | Araq/Nimrod master 2ccf8be Araq [+1 ±1 -0]: fixes #442 |
17:59:00 | NimBot | Araq/Nimrod master 35b39d2 Araq [+0 ±2 -0]: fixes #488 |
17:59:00 | NimBot | Araq/Nimrod master 7077d11 Araq [+0 ±3 -0]: bugfix: marshal supports unsigned numbers |
17:59:00 | NimBot | 4 more commits. |
17:59:06 | EXetoC | BitPuffin: you got the ao gist this time, right? |
17:59:09 | dom96 | if you could get a stack trace that would be great. |
18:00:11 | nihathrael | dom96: arch linux 64bit |
18:00:51 | dom96 | nihathrael: yeah, get me a stack trace please, is it random or can you reproduce it? |
18:01:00 | BitPuffin | EXetoC: yup I did, when is it coming to github? |
18:01:08 | nihathrael | i'm currently trying to reproduce it reliably |
18:01:08 | BitPuffin | as a library |
18:01:13 | BitPuffin | and in babel |
18:01:20 | nihathrael | how can I enable the stacktrace, it was just printing the exception with no stacktrace |
18:01:34 | dom96 | nihathrael: compile without -d:release |
18:02:21 | EXetoC | BitPuffin: dare I say today? :> |
18:02:28 | BitPuffin | you should dare! |
18:02:43 | EXetoC | I'll take a break and then work on ao. it should be pretty much done |
18:02:59 | nihathrael | dom96: ok, i'll enable that andsee if I get it to crash again |
18:03:04 | EXetoC | just gotta handle a discarded return value or two |
18:03:13 | dom96 | nihathrael: thanks |
18:05:45 | EXetoC | is the destructor ever run when returning an object by value? |
18:06:32 | Araq | EXetoC: yes but for the 'var' that you assign it to |
18:06:33 | nihathrael | dom96: should stuff with echo("foo") be displayed on the Output window? |
18:06:51 | dom96 | nihathrael: yeah, if you Compile & Run. |
18:07:33 | EXetoC | Araq: including the implicit 'result'? |
18:08:18 | EXetoC | I got a couple of RAII-style objects, but I don't know if that's a good idea in this case |
18:10:27 | EXetoC | I 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:35 | EXetoC | but maybe I'm over-engineering |
18:13:14 | nihathrael | dom96: 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:14 | Araq | EXetoC: http://nimrod-code.org/manual.html#destructor-pragma |
18:14:27 | nihathrael | got that one twice already |
18:14:32 | dom96 | nihathrael: You're running git HEAD right? |
18:14:47 | nihathrael | make that three, yes aporia git head |
18:15:42 | nihathrael | ah ok, I can even reproduce that one. |
18:15:51 | nihathrael | probaby as something to do with my keyboard layout |
18:16:16 | dom96 | yeah, that's what I'm thinking. |
18:16:41 | nihathrael | I use the neo layout, using capslock(which is a modifier on my layout) + backspace will crash it |
18:17:30 | Araq | EXetoC: the idea is to get the behavior of C++ with named return value and move optimizations |
18:18:08 | Araq | so there are no destructors invoked for temporary objects, only for the final variable that binds the constructed value |
18:18:45 | dom96 | nihathrael: What does that key combination do usually? |
18:19:08 | nihathrael | nothing |
18:19:13 | Araq | and the rules (should) ensure that it ends up being bound to a variable |
18:19:14 | nihathrael | it 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:43 | dom96 | nihathrael: I think I see what is happening. |
18:26:58 | NimBot | nimrod-code/Aporia master 974c047 Dominik Picheta [+0 ±1 -0]: Fixed another 'bool' bug. |
18:26:58 | NimBot | nimrod-code/Aporia master 4526f59 Dominik Picheta [+0 ±1 -0]: Fixed crash when 'keyval_name' returns nil. |
18:27:09 | dom96 | nihathrael: Try it now. |
18:28:06 | dom96 | Araq: Did you read the logs? I asked you a question at the beginning of today. |
18:28:56 | dom96 | nihathrael: oh crap, sorry forgot something. |
18:30:37 | NimBot | nimrod-code/Aporia master 1542eae Dominik Picheta [+0 ±1 -0]: Fixes 'keyval_name' crash in SourceViewKeyPress properly. |
18:30:46 | dom96 | nihathrael: now try it please |
18:32:28 | Araq | dom96: as I said, too much talk, didn't read it |
18:32:30 | EXetoC | Araq: ok |
18:32:47 | Araq | reactormonk: I've implemented codegenDecl for you |
18:41:06 | dom96 | Araq: Too much work to find my question? :P |
18:44:52 | Araq | if you can't bother to repeat it, I can't be bothered to read it |
18:45:34 | dom96 | <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:59 | Araq | perhaps the tester should do --warning[deprecated]:off |
18:47:13 | dom96 | Yes, that's what I thought. |
18:47:27 | Araq | but then when we remove things the tests will fail |
18:47:31 | dom96 | But these functions will be removed eventually.. |
18:49:18 | Araq | well the tests should get rid of deprecated stuff as fast as possible |
18:50:00 | EXetoC | Araq: I guess such return semantics will completely remove the need for a constructor pragma for example |
18:51:24 | Araq | EXetoC: I think the recently introduced .requiresInit was the last missing piece and no constructors are necessary |
18:52:30 | Araq | constructors suck anyway; they make factories a special design pattern |
18:53:08 | dom96 | Araq: 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:42 | Araq | dom96: that's impossible unless it uses an older stdlib |
18:55:10 | EXetoC | yeah |
18:57:23 | Araq | dom96: so ... libzip now depends on libzip.so.2 |
18:57:34 | Araq | how do we get that on our testing machines? |
18:58:07 | * | Endy quit (Ping timeout: 264 seconds) |
19:00:04 | dom96 | Araq: no idea. Do we have libzip.so installed? |
19:00:18 | Araq | of course not |
19:00:32 | Araq | it wasn't even installed here on my desktop machine |
19:00:57 | nihathrael | dom96: cheers, works great. Thanks for the quick fix |
19:01:02 | Araq | I'll revert to my libzip_all.c hack |
19:01:10 | dom96 | nihathrael: great, no problem :) |
19:02:41 | dom96 | Araq: It looks like the guys fedora package won't get in anyway... I think he gave up :\ |
19:03:01 | Araq | nope |
19:03:12 | Araq | well yes; he answered to wait for 0.9.4 |
19:03:41 | dom96 | thanks for telling me... |
19:03:59 | Araq | sorry, thought you got that email too |
19:05:01 | Araq | well without it nimbuild doesn't build the zip ... so ugh |
19:06:54 | Araq | oh I know |
19:11:43 | dom96 | please don't add the .so to the git repo :P |
19:16:08 | * | Sergio965 quit (Ping timeout: 264 seconds) |
19:16:41 | Araq | hmm now I know why I made a libzip_all.c file |
19:17:04 | Araq | the library has a *file per function* |
19:17:08 | Araq | !!! |
19:23:19 | EXetoC | brilliant |
19:24:19 | Araq | it 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:17 | Araq | gah, say what you want, but the old way of using libzip_all.c was brilliant, no headaches whatsoever for years |
19:42:06 | NimBot | Araq/Nimrod master 456785f Araq [+0 ±2 -0]: attempt to make libzip work on the testing machines |
19:44:15 | dom96 | I think gradha's builder always crashes during bootstrapping. |
20:03:25 | * | apotheon quit (Ping timeout: 256 seconds) |
20:05:44 | dom96 | Araq: I think both regex and pegs search in Aporia leaks memory, and i'm not sure why. |
20:05:58 | dom96 | I think I will refactor the code though since it's pretty messy. |
20:07:10 | Araq | ok ... |
20:11:57 | reactormonk | Araq, sweet |
20:14:32 | Araq | reactormonk: I don't believe it will help you :P |
20:19:47 | reactormonk | Araq, why? |
20:21:50 | Araq | you still need the memcpy crap to read from prog_mem memory |
20:23:05 | NimBot | Araq/Nimrod master ed33495 Araq [+0 ±2 -0]: implements nicer floating point literals |
20:23:45 | reactormonk | http://sprunge.us/ecNY |
20:25:59 | Araq | pointer increments, hu? nice. Doesn't compile. |
20:26:05 | reactormonk | aww |
20:33:28 | * | apotheon joined #nimrod |
20:33:28 | * | apotheon quit (Changing host) |
20:33:28 | * | apotheon joined #nimrod |
20:39:25 | reactormonk | Araq, it does compile. |
20:39:34 | reactormonk | eh wait, not used. |
20:42:02 | reactormonk | lib/system/arduino.nim(26, 8) Error: 'cast[ptr Byte](copy_to)' cannot be assigned to |
20:42:07 | reactormonk | Araq, ^ this one? |
20:45:46 | Araq | cast[ptr byte](copy_to)[] = pgm_read_byte(pgm) |
20:46:24 | Araq | copy_to = cast[ptr byte](cast[int16](copy_to) + 1) |
20:53:58 | reactormonk | I read bytes there... why the int16 cast? |
20:54:42 | Araq | because + likes integers |
20:55:14 | Araq | and your address space is 16 bit iirc |
20:55:46 | reactormonk | yup |
20:56:14 | reactormonk | so I gotta read words and not bytes |
20:56:52 | Araq | no ... |
20:57:31 | Araq | use your brain, you write bytes, but a byte has an address and this address is 16 bits wide |
21:04:47 | reactormonk | proc pgm_read_word(pointer: prog_ptr): cint {.importc: "pgm_read_word", header: "avr/pgmspace.h".} # invalid pragma here |
21:07:36 | reactormonk | doesn't tell me much more |
21:21:22 | NimBot | nimrod-code/Aporia master 8918f0f Dominik Picheta [+0 ±2 -0]: Fixes duplicates getting added to the recently closed files list. |
21:21:22 | NimBot | nimrod-code/Aporia master d2ba991 Dominik Picheta [+0 ±1 -0]: Fixes highlight all not being reset when typing. |
22:07:49 | nihathrael | dom96: 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:52 | dom96 | nihathrael: ahh, you will have to either flush() or wait until your app closes. |
22:11:28 | dom96 | In most cases it is still more practical to just use a terminal :\ |
22:12:48 | nihathrael | ah ok, where can I find that flush? |
22:13:30 | dom96 | oh sorry, FlushFile: stdout.FlushFile() |
22:14:23 | nihathrael | ah great, that works. thanks! |
22:14:46 | dom96 | cool |
22:20:59 | nihathrael | is 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:22 | EXetoC | nihathrael: the grammar is case-insensitive |
22:31:38 | EXetoC | but I prefer the style used in the standard library |
22:32:14 | EXetoC | http://nimrod-code.org/manual.html#identifiers-keywords_toc |
22:34:22 | Araq | nihathrael: 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:39 | nihathrael | was just wondering because setCurrentDir() is lowercase and JoinPath() is uppercase |
22:36:16 | Araq | actually the convention is to use lowerCase and no underscores |
22:36:37 | Araq | unless the underscores separate an abbreviation like GC_disable() |
22:36:56 | nihathrael | so pretty javaish style |
22:39:43 | Araq | yeah |
22:47:01 | Araq | dom96: koch> sh: ./tools/niminst/niminst: not found |
22:47:42 | Araq | and then later it's compiled |
22:47:56 | Araq | I guess the output order is still wrong? |
22:49:37 | dom96 | I guess so. |
22:55:50 | * | BitPuffin joined #nimrod |
23:02:02 | Araq | good 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:39 | dom96 | EXetoC: 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:40 | NimBot | nimrod-code/packages master d82f1fe Erik Johansson Andersson [+0 ±1 -0]: Add library |
23:11:40 | NimBot | nimrod-code/packages master fe815e8 Dominik Picheta [+0 ±1 -0]: Merge pull request #18 from EXetoC/patch-1... 2 more lines |
23:12:13 | nihathrael | alright, finished a first draft of a very simple fileserver. Quite pleased with the results so far |
23:13:17 | dom96 | nihathrael: nice, make sure to blog about it if you have a blog and spam reddit with it ;) |
23:13:48 | nihathrael | few things, mainy ide related. Can the autocompletion not be used to autocomplete variable names? |
23:14:12 | nihathrael | also, the ide needs a strg+d shortcut to delete the entire current line :) But maybe I can actually add that myself |
23:14:55 | EXetoC | strg? interesting :> |
23:15:12 | nihathrael | could be pretty much everything, just my eclipse habbit |
23:15:19 | EXetoC | dom96: but it says it right there. oh, alright :p |
23:16:22 | EXetoC | BitPuffin: ao added |
23:16:36 | BitPuffin | EXetoC: woho! |
23:16:40 | BitPuffin | EXetoC: to babel too? |
23:16:45 | EXetoC | yes |
23:16:59 | BitPuffin | EXetoC: what's it called? |
23:17:32 | dom96 | nihathrael: strg? |
23:17:39 | BitPuffin | weird |
23:17:44 | BitPuffin | babel search couldn't find it |
23:17:47 | BitPuffin | but babel list listed it |
23:17:53 | BitPuffin | dom96: is search broken? |
23:18:22 | BitPuffin | doesn't find anything on ao |
23:18:23 | BitPuffin | or nim |
23:18:28 | EXetoC | just search for nim-ao :p |
23:18:37 | dom96 | nihathrael: 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:44 | dom96 | AFAIK that's what sublime does. |
23:18:55 | dom96 | BitPuffin: It should. |
23:19:05 | dom96 | BitPuffin: Remember you need to 'babel update' |
23:19:17 | BitPuffin | i did |
23:19:23 | BitPuffin | I even said it listed it |
23:19:27 | BitPuffin | try it yourself! |
23:19:29 | BitPuffin | search for ao |
23:19:29 | nihathrael | dom96: I think it's probably mainly a problem of triggering the suggest feature at that point |
23:19:30 | BitPuffin | and nim |
23:20:03 | dom96 | nihathrael: The compiler can now run as a 'service' which means suggest can be faster, I will implement that eventually. |
23:20:05 | nihathrael | dom96: sorry ctrl, getting late and thinking german keyboard |
23:20:25 | dom96 | BitPuffin: oh, didn't notice you said that babel list listed it |
23:22:40 | dom96 | BitPuffin: Yeah, seems 'search' sucks :P |
23:23:00 | nihathrael | just took a look at the code, I think I can implement the line deletion myself and open a PR for it |
23:24:00 | dom96 | looks like I will have to add a way to customise keys ASAP. |
23:24:42 | nihathrael | yea that'll probably prove useful on the long run |
23:24:42 | dom96 | But yeah, Ctrl+D is no problem. |
23:27:29 | NimBot | nimrod-code/babel master d826584 Dominik Picheta [+0 ±1 -0]: Improved 'babel search'. |
23:27:34 | dom96 | BitPuffin: That should be better. |
23:42:17 | EXetoC | plop |