00:00:45 | EXetoC | zahary: are you up this late? |
00:01:15 | * | circ-user-pJXz2_ quit (Read error: Connection reset by peer) |
00:04:36 | EXetoC | I should just wait until tomorrow |
00:14:13 | BitPuffin | EXetoC: sov nu |
00:16:46 | * | circ-user-NOP8T joined #nimrod |
00:25:31 | EXetoC | BitPuffin: sov du! |
00:27:28 | * | BitPuffin quit (Ping timeout: 264 seconds) |
00:45:40 | * | circ-user-NOP8T quit (Remote host closed the connection) |
00:54:13 | * | EXetoC quit (Quit: WeeChat 0.4.1) |
01:08:55 | * | q66 quit (Quit: Leaving) |
01:14:11 | * | DAddYE quit (Remote host closed the connection) |
01:14:53 | * | DAddYE joined #nimrod |
01:19:11 | * | DAddYE quit (Ping timeout: 245 seconds) |
01:37:22 | * | dubcanada joined #nimrod |
01:37:45 | dubcanada | Hello, does anyone know if there are wxWidget or any sort of HTML rendering bindings for nimrod? |
01:37:52 | dubcanada | Or QT |
01:37:54 | * | ltbarcly quit (Ping timeout: 264 seconds) |
02:19:20 | OrionPK | dubcanada HTML can be rendered with filters http://nimrod-code.org/filters.html |
02:20:17 | * | DAddYE joined #nimrod |
02:26:55 | * | DAddYE quit (Ping timeout: 260 seconds) |
02:33:00 | dubcanada | OrionPK, sorry if I am missing something, but that just seems to generate HTML. It doesn't seem to be some sort of WebKit or HTML display engine? |
03:21:35 | comex | dubcanada: QtWebKit? |
03:23:39 | * | DAddYE joined #nimrod |
03:30:31 | * | DAddYE quit (Ping timeout: 264 seconds) |
03:36:09 | OrionPK | dubcanada ah sorry, i misunderstood |
03:37:18 | OrionPK | comex dont know of a QtWebKit binding for nimrod |
03:37:56 | OrionPK | it's C++ so you'd either have to write/find a C compatible wrapper library or compile nimrod w/ the c++ flag |
03:41:03 | * | OrionPK quit (Quit: Leaving) |
03:42:57 | dubcanada | CEF has a C api |
03:43:00 | dubcanada | Can I use that? |
03:43:05 | dubcanada | somehow |
04:26:04 | * | ltbarcly joined #nimrod |
04:26:33 | * | DAddYE joined #nimrod |
04:33:29 | * | DAddYE quit (Ping timeout: 268 seconds) |
04:34:26 | * | dubcanada quit (Remote host closed the connection) |
04:57:28 | * | ltbarcly quit (Quit: Computer has gone to sleep.) |
05:11:14 | * | ltbarcly joined #nimrod |
05:29:55 | * | DAddYE joined #nimrod |
05:37:07 | * | DAddYE quit (Ping timeout: 264 seconds) |
05:52:10 | * | brson quit (Ping timeout: 240 seconds) |
05:52:45 | * | brson joined #nimrod |
06:09:57 | * | brson quit (Quit: leaving) |
06:28:09 | * | Associat0r joined #nimrod |
06:28:09 | * | Associat0r quit (Changing host) |
06:28:09 | * | Associat0r joined #nimrod |
06:32:58 | * | DAddYE joined #nimrod |
06:39:54 | * | DAddYE quit (Ping timeout: 268 seconds) |
07:20:17 | * | zahary quit (Quit: Leaving.) |
07:33:03 | * | ltbarcly quit (Quit: Computer has gone to sleep.) |
07:35:57 | * | DAddYE joined #nimrod |
07:42:31 | * | DAddYE quit (Ping timeout: 264 seconds) |
07:42:43 | * | ltbarcly joined #nimrod |
08:16:58 | * | Associat0r quit (Quit: Associat0r) |
08:16:58 | * | ltbarcly quit (Quit: Computer has gone to sleep.) |
08:25:07 | * | ltbarcly joined #nimrod |
08:25:20 | * | ltbarcly quit (Client Quit) |
08:39:01 | * | DAddYE joined #nimrod |
08:45:42 | * | DAddYE quit (Ping timeout: 268 seconds) |
08:48:59 | * | Araq_ joined #nimrod |
09:02:04 | * | Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 23.0.1/20130814063812]) |
09:39:27 | * | q66 joined #nimrod |
09:42:24 | * | DAddYE joined #nimrod |
09:49:17 | * | DAddYE quit (Ping timeout: 256 seconds) |
10:45:12 | * | DAddYE joined #nimrod |
10:51:16 | * | DAddYE quit (Ping timeout: 245 seconds) |
10:56:25 | * | faassen joined #nimrod |
11:28:13 | * | EXetoC joined #nimrod |
11:36:58 | * | ltbarcly joined #nimrod |
11:41:52 | * | ltbarcly quit (Ping timeout: 264 seconds) |
11:47:10 | * | ltbarcly joined #nimrod |
11:48:44 | * | DAddYE joined #nimrod |
11:52:18 | * | ltbarcly quit (Ping timeout: 264 seconds) |
11:55:38 | * | DAddYE quit (Ping timeout: 268 seconds) |
12:51:38 | * | DAddYE joined #nimrod |
12:58:07 | * | DAddYE quit (Ping timeout: 264 seconds) |
13:03:58 | * | OrionPK joined #nimrod |
13:12:41 | * | EXetoC quit (Quit: WeeChat 0.4.1) |
13:21:54 | * | EXetoC joined #nimrod |
13:54:59 | * | DAddYE joined #nimrod |
14:02:03 | * | DAddYE quit (Ping timeout: 268 seconds) |
14:57:57 | * | DAddYE joined #nimrod |
15:04:43 | * | DAddYE quit (Ping timeout: 264 seconds) |
16:00:58 | * | DAddYE joined #nimrod |
16:01:52 | * | faassen left #nimrod (#nimrod) |
16:07:43 | * | DAddYE quit (Ping timeout: 264 seconds) |
16:12:36 | * | Mat2 joined #nimrod |
16:12:40 | Mat2 | hi all |
16:22:05 | reactormonk | morning |
16:28:11 | Mat2 | good evening reactormonk |
16:46:35 | * | DAddYE joined #nimrod |
16:49:50 | * | enurlyx joined #nimrod |
16:53:43 | enurlyx | Hello |
16:54:00 | Mat2 | hello enurlyx |
16:55:33 | enurlyx | Is it possible to import two modules with the same name? |
16:56:09 | Mat2 | I think no (but be aware, I'm still new to Nimrod) |
16:57:54 | EXetoC | I don't know, but you can't yet qualify symbols with directory names, so you might not be able to resolve collisions |
17:02:59 | enurlyx | Ah ok. Then I think i should prefix my project files. It would be great if the compiler can tell us about the collision. |
17:03:48 | dom96 | Yeah, you can't. |
17:04:29 | Mat2 | enurlyx: well, that is what I would always do anyway |
17:04:54 | * | brson joined #nimrod |
17:08:13 | EXetoC | it does tell you, but you'd have to rename one of the symbols in this case |
17:11:23 | enurlyx | Mh. For me the compiler stops with: |
17:11:25 | enurlyx | Error: undeclared identifier: 'PI' |
17:11:49 | Mat2 | hi dom96 and EXetoC |
17:11:49 | enurlyx | I thought about something like: Warning 'math' already imported |
17:13:40 | Mat2 | yes, I'm too sometimes struggling about the error messages (on the other side, there more concrete than the ones which the GCC compiler generate sometimes) |
17:18:52 | * | ltbarcly joined #nimrod |
17:21:32 | enurlyx | yes, c++ template errors ... |
18:07:23 | * | BitPuffin joined #nimrod |
18:22:17 | EXetoC | enurlyx: you mean *not* imported? |
18:23:19 | * | shodan45 quit (Quit: Konversation terminated!) |
18:23:23 | EXetoC | or maybe that's not related to the PI issue |
18:24:22 | enurlyx | no i mean *already* imported. Because if there are two math modules it will import the first one but not the second one. Instead the symbols of the second ones are missing then |
18:25:24 | EXetoC | might as well just deal with the underlying issue right away |
18:41:02 | * | zahary joined #nimrod |
18:41:22 | EXetoC | I guess it depends on how hard it actually is to resolve though, and we've discussed the module system in here before, but I don't think we made any decisions |
19:09:22 | * | Mat2 spend some time founding a nice optimization for in-order designs (specially Intel ATOM) just to notice, that a simple code reduction strategy is sufficient because these *XXXXX* Intel designers specify only a single load/store unit |
19:10:31 | * | Mat2 so most instruction combinations can't pair in no way |
19:44:41 | Araq | EXetoC: we did make decisions; the compiler will allow multiple modules of the same name for package management |
19:45:08 | Araq | so everybody can have his "utils" and "types" modules ;-) |
19:45:49 | Mat2 | hoi Araq |
19:46:30 | Mat2 | so this means some sophisticated namespace support ? |
19:46:35 | Mat2 | ^hi |
19:46:49 | Araq | no, namespaces are fine the way they are |
19:48:17 | Mat2 | then modules dpeendent of there storage overload or replace the global ones ? |
19:48:37 | Mat2 | (I'm not sure how these things are handled in Nimrod) |
19:51:18 | Mat2 | ^dependent |
19:53:46 | Araq | no idea what you mean; nimrod's module system works quite like delphi's except it has "export" and "from x import y" and "import a except b" |
19:55:10 | Mat2 | ok, thanks |
20:15:04 | EXetoC | yes, but what if you want to use the same symbol from two or modules with the same name? it might be rare, but it'll be pretty bad when it happens nevertheless |
20:15:26 | EXetoC | if directory names, if any, can't be used when qualifying symbols |
20:16:03 | Araq | we may allow package.module.abc |
20:22:43 | EXetoC | yeah that's what I meant |
20:23:55 | Araq | how's the float32 stuff going? |
20:27:03 | EXetoC | I think I did the correct thing in the float range function, but float literals aren't actually interpreted as ones according to this error message I'm getting |
20:27:23 | EXetoC | but rather as a float instance, which worked before because the rules were very relaxed |
20:28:01 | Araq | hmm well the question is what type should someFloat32 + 1.2 have? |
20:28:11 | Araq | still float32? |
20:31:09 | Araq | and someFloat32 + someFloat should produce "float", like it's done for integers ... |
20:31:25 | Araq | so we need a "float literal" type in the compiler like we do for integers |
20:31:35 | EXetoC | yeah ok |
20:31:37 | EXetoC | f(1, 1.0): "type mismatch: got (int literal(1), float)" |
20:31:46 | EXetoC | that seems relevant then |
20:32:52 | EXetoC | that's with the changes I'm trying to make btw. master accepts it, which is pretty obvious I guess. |
20:33:03 | EXetoC | (proc f(a, b: float32)) |
20:33:12 | Araq | can you diff your changes to me; I'll take over from here :P |
20:35:19 | BitPuffin | Araq: Is there a quick way to combine an export and import? |
20:35:25 | BitPuffin | or do you have to do import export |
20:35:54 | Araq | the latter |
20:36:15 | BitPuffin | Araq: Can you put them both next to each other? `import export module_foo` |
20:36:29 | BitPuffin | or `import module_foo; export module_foo` |
20:36:55 | Araq | include module_foo :P |
20:37:21 | Araq | but yeah that's not the same, "import foo; export foo" should work |
20:37:53 | BitPuffin | hmm right, include might work |
20:38:01 | BitPuffin | but that grows the size of the exe? |
20:38:12 | BitPuffin | because it basically copies and pastes |
20:38:23 | Araq | yeah it copies |
20:38:40 | BitPuffin | we need an impex statement :P |
20:38:42 | BitPuffin | or not |
20:39:00 | BitPuffin | would import linagl/primitives/* work? |
20:39:11 | BitPuffin | or do I need to make a linogl/primitives/all |
20:39:14 | BitPuffin | that imports and exports |
20:39:51 | Araq | template impex(x: expr) = import x; export x; |
20:40:13 | BitPuffin | I suppose :P |
20:41:16 | EXetoC | I might've used 'diff' once before, but it shouldn't be rocket science. sec |
20:42:00 | EXetoC | I can also push the branch if you want |
20:43:01 | BitPuffin | Araq: butt what about the wildcard import thing? |
20:43:30 | EXetoC | I'd have to mess about with git anyway |
20:43:58 | Araq | meh I prefer the diff |
20:44:12 | Araq | BitPuffin: I don't like it |
20:44:53 | BitPuffin | Araq: Why not? |
20:45:09 | Araq | it reminds me of java |
20:45:37 | BitPuffin | Araq: doesn't have to be a * |
20:46:00 | BitPuffin | Araq: Just that it's the wildcard symbol in glob syntax |
20:47:25 | Araq | so ... instead of "import jester" I do "import jester/*" and why? what does it mean anyway "import everything in jester, I don't care if the directory's content ever changes"? |
20:48:03 | BitPuffin | Araq: wait, so you can import a directory just by specifying its name? |
20:48:22 | BitPuffin | Araq: So import linagl/primitives would work? |
20:48:34 | BitPuffin | even if primitives isn't a .nim file? |
20:48:42 | BitPuffin | rather it's a directory with .nim files |
20:48:46 | BitPuffin | triangle.nim |
20:48:52 | Araq | no currently there would be a "jester" module that might "export" submodules |
20:48:53 | BitPuffin | ray.nim |
20:49:11 | BitPuffin | hrm |
20:49:30 | BitPuffin | I think it would be preferrable for the compiler to take import dir as import everything in that dir and below |
20:49:40 | BitPuffin | and if you want to tune what it imports |
20:49:48 | BitPuffin | you just create a dir.nim file that imports and exports |
20:49:50 | BitPuffin | and it will override |
20:50:08 | Araq | I think it would be preferrable if the compiler doesn't care about BitPuffin's improvements |
20:50:33 | BitPuffin | :( |
20:50:46 | BitPuffin | Araq: You shouldn't be so rude |
20:51:32 | Araq | sorry but I don't like it |
20:51:41 | BitPuffin | no okay |
20:51:44 | BitPuffin | just say that then |
20:52:18 | BitPuffin | it wasn't clear to me if it was just the syntax of bla/bloh/* you didn't like or the whole idea of importing everything in a directory |
20:52:37 | Araq | ok alright, sorry |
20:53:17 | BitPuffin | And I don't really think the argument of "I don't care if the directory's content ever changes?" holds when you import a module that exports the modules |
20:53:36 | Araq | oh but it does |
20:53:50 | Araq | it's more explicit what the author of that package meant |
20:54:21 | BitPuffin | Well, but if the auther wants to be explicit he could just override it with a dirname.nim file |
20:54:24 | BitPuffin | author |
20:54:43 | BitPuffin | I get that import errthing is bad practise though |
20:54:45 | Araq | it's easier to simply write what one wants |
20:54:52 | Araq | instead of writing what one does not want |
20:55:18 | BitPuffin | fair enough |
20:55:56 | BitPuffin | I just remembered all the all.d files from the D world |
20:56:19 | BitPuffin | In reality it is better if the programmer always uses a from module import bla, bloh, bleh |
20:56:25 | BitPuffin | because then you know where everything comes from |
20:56:48 | Araq | also you should perhaps write more code so that "import" statements do not make 90% of your code and thus need shortcuts ;-) |
20:58:17 | BitPuffin | You mean I should put every primitive in a primitives.nim file? |
20:58:20 | BitPuffin | I don't know |
20:58:27 | BitPuffin | that's anarch! |
20:58:28 | BitPuffin | anarchy* |
21:00:45 | BitPuffin | Araq: Does this work? import linagl/primitives \n\t line \n\t plane \n\t triangle work? |
21:00:55 | BitPuffin | - work? |
21:01:12 | Araq | no |
21:01:23 | BitPuffin | aw |
21:03:35 | BitPuffin | oh well, then i guess import \n\t linagl/primitives/triangle \n\t linagl/primitives/line etc isn't too much work |
21:04:54 | BitPuffin | Araq: I suppose you didn't like the import list in a particular directory either then? |
21:04:55 | EXetoC | Araq: http://sprunge.us/JFJK |
21:05:34 | EXetoC | so I guess isFloatLit doesn't do anything yet, but will it be useful later? I just copied isIntLit |
21:07:49 | Araq | yep |
21:08:16 | Araq | BitPuffin: I think I dislike directories altogether |
21:08:35 | BitPuffin | Araq: So you put everything in /? |
21:09:15 | dom96 | how many different primitives do you have BitPuffin? |
21:09:17 | Araq | why is it that people do not the difference between "I can see value in it" and "I like it"? |
21:11:41 | BitPuffin | Araq: I was joking :) |
21:12:47 | EXetoC | oops, comment appears twice. I suck at programming |
21:13:47 | Araq | BitPuffin: when I want to edit some file like "strutils" I think "strutils" and then I remember it's in "pure" and then that's in "lib" |
21:14:01 | Araq | now guess what the tools make me type |
21:14:19 | BitPuffin | dom96: none yet, but I will have: Lines, Rays, spheres, circles, AABB, OBB, Bounding Spheres, Planes, triangles, and I am not sure if I am gonne consider a polygon primitive or not |
21:14:25 | Araq | lib/pure/strutils, so need to keep the whole stack in my head and reverse it |
21:14:44 | dom96 | BitPuffin: Why are you putting them all into separate modules? |
21:15:17 | EXetoC | it's the most primitive primitive of all in the GPU world :> |
21:15:20 | BitPuffin | dom96: I am not, I am just considering doing so |
21:15:36 | Mat2 | ehm, ok |
21:16:05 | EXetoC | no that'd be triangles. carry on |
21:16:29 | BitPuffin | EXetoC: which one did you think? |
21:21:06 | * | enurlyx quit (Quit: Verlassend) |
21:21:27 | Mat2 | get some sleep, ciao |
21:21:37 | BitPuffin | nighty night Mat2 |
21:21:37 | * | Mat2 quit (Quit: Verlassend) |
22:08:16 | * | BitPuffin quit (Ping timeout: 264 seconds) |
22:29:19 | * | ltbarcly quit (Ping timeout: 264 seconds) |
22:32:00 | * | noam quit (Read error: Connection reset by peer) |
23:21:20 | * | BitPuffin joined #nimrod |
23:33:22 | BitPuffin | Okay so how could one go ahead and interface nimrod to C++ classes? |
23:33:25 | BitPuffin | Like wrapping them |
23:33:46 | BitPuffin | write a C interface? |
23:35:56 | OrionPK | extern C wrapper in separate library? |
23:36:06 | OrionPK | or compile nimrod w/ c++ |
23:38:11 | BitPuffin | compile nimrod w/ c++? |
23:38:25 | BitPuffin | I mean using C++ APIs in nimrod here to be clear |
23:38:43 | OrionPK | http://nimrod-code.org/nimrodc.html |
23:39:15 | OrionPK | compiling with the "cpp" flag generates C++ code instead of C |
23:39:19 | BitPuffin | OrionPK I know that it has built in nimrod to cpp |
23:39:28 | BitPuffin | OrionPK But I am talking CPP to nimrod |
23:39:45 | OrionPK | using nimrod code in C++? |
23:39:51 | BitPuffin | No |
23:39:55 | BitPuffin | using C++ code in nimrod |
23:40:02 | OrionPK | thats what Im talking about too :P |
23:40:08 | BitPuffin | wait what |
23:40:22 | dom96 | haha |
23:40:23 | BitPuffin | But I mean |
23:40:27 | BitPuffin | Like |
23:40:36 | BitPuffin | how do you import a hpp xD |
23:40:40 | OrionPK | there's an example of using irrlicht bitpuffin |
23:40:49 | BitPuffin | there is not a cpp2nim tool |
23:40:53 | BitPuffin | OrionPK link? |
23:41:06 | OrionPK | http://nimrod-code.org/nimrodc.html#importcpp-pragma |
23:41:16 | BitPuffin | oh |
23:41:19 | BitPuffin | it is in there |
23:42:13 | BitPuffin | HM! |
23:42:24 | BitPuffin | now that is interesting |
23:42:27 | OrionPK | honestly I like the 1st approach better |
23:42:35 | dom96 | https://github.com/Araq/Nimrod/blob/master/examples/c++iface/irrlichtex.nim |
23:42:36 | BitPuffin | the first approach? |
23:42:38 | dom96 | BitPuffin: ^ |
23:42:57 | OrionPK | write a flat wrapper |
23:43:08 | OrionPK | in a separate library |
23:44:34 | BitPuffin | OrionPK I don't see a difference other than that the github version is more complete |
23:44:55 | OrionPK | bitpuffin dom linked that |
23:45:09 | BitPuffin | oh |
23:45:10 | BitPuffin | right |
23:45:11 | BitPuffin | sorry |
23:45:35 | BitPuffin | You think it is better to write C wrapper and then interface to that? |
23:45:47 | OrionPK | the problem w/ that approach is that any program that uses that module has to compile w/ cpp |
23:45:57 | BitPuffin | Why is that a problem? |
23:46:15 | dom96 | It's less tested than the C backend. |
23:47:22 | BitPuffin | Hm |
23:47:26 | BitPuffin | Well |
23:47:40 | BitPuffin | I guess maybe it is good for it to be tested? 8D |
23:48:23 | BitPuffin | no but hm |
23:49:23 | BitPuffin | ~/src/Nimrod> cd csources/ && ./build.sh Error: no C code generated for: [haiku: i386] :( |
23:57:04 | dom96 | https://github.com/Araq/Nimrod/blob/master/compiler/nimrod.ini#L5 |
23:57:11 | dom96 | Doesn't seem like it's generated for haiku |
23:57:45 | dom96 | Should be able to generate it yourself by changing that file, maybe. |
23:58:02 | BitPuffin | dom96 but then I have to reboot xD |
23:58:40 | Araq | I don't think I ever finished the haiku port |
23:59:03 | Araq | and Haiku sucks -- no efficient thread local storage |
23:59:35 | BitPuffin | lol |
23:59:40 | BitPuffin | maybe that has changed? |