<< 29-08-2013 >>

00:00:45EXetoCzahary: are you up this late?
00:01:15*circ-user-pJXz2_ quit (Read error: Connection reset by peer)
00:04:36EXetoCI should just wait until tomorrow
00:14:13BitPuffinEXetoC: sov nu
00:16:46*circ-user-NOP8T joined #nimrod
00:25:31EXetoCBitPuffin: 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:45dubcanadaHello, does anyone know if there are wxWidget or any sort of HTML rendering bindings for nimrod?
01:37:52dubcanadaOr QT
01:37:54*ltbarcly quit (Ping timeout: 264 seconds)
02:19:20OrionPKdubcanada 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:00dubcanadaOrionPK, 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:35comexdubcanada: QtWebKit?
03:23:39*DAddYE joined #nimrod
03:30:31*DAddYE quit (Ping timeout: 264 seconds)
03:36:09OrionPKdubcanada ah sorry, i misunderstood
03:37:18OrionPKcomex dont know of a QtWebKit binding for nimrod
03:37:56OrionPKit'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:57dubcanadaCEF has a C api
03:43:00dubcanadaCan I use that?
03:43:05dubcanadasomehow
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:40Mat2hi all
16:22:05reactormonkmorning
16:28:11Mat2good evening reactormonk
16:46:35*DAddYE joined #nimrod
16:49:50*enurlyx joined #nimrod
16:53:43enurlyxHello
16:54:00Mat2hello enurlyx
16:55:33enurlyxIs it possible to import two modules with the same name?
16:56:09Mat2I think no (but be aware, I'm still new to Nimrod)
16:57:54EXetoCI don't know, but you can't yet qualify symbols with directory names, so you might not be able to resolve collisions
17:02:59enurlyxAh 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:48dom96Yeah, you can't.
17:04:29Mat2enurlyx: well, that is what I would always do anyway
17:04:54*brson joined #nimrod
17:08:13EXetoCit does tell you, but you'd have to rename one of the symbols in this case
17:11:23enurlyxMh. For me the compiler stops with:
17:11:25enurlyxError: undeclared identifier: 'PI'
17:11:49Mat2hi dom96 and EXetoC
17:11:49enurlyxI thought about something like: Warning 'math' already imported
17:13:40Mat2yes, 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:32enurlyxyes, c++ template errors ...
18:07:23*BitPuffin joined #nimrod
18:22:17EXetoCenurlyx: you mean *not* imported?
18:23:19*shodan45 quit (Quit: Konversation terminated!)
18:23:23EXetoCor maybe that's not related to the PI issue
18:24:22enurlyxno 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:24EXetoCmight as well just deal with the underlying issue right away
18:41:02*zahary joined #nimrod
18:41:22EXetoCI 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:41AraqEXetoC: we did make decisions; the compiler will allow multiple modules of the same name for package management
19:45:08Araqso everybody can have his "utils" and "types" modules ;-)
19:45:49Mat2hoi Araq
19:46:30Mat2so this means some sophisticated namespace support ?
19:46:35Mat2^hi
19:46:49Araqno, namespaces are fine the way they are
19:48:17Mat2then modules dpeendent of there storage overload or replace the global ones ?
19:48:37Mat2(I'm not sure how these things are handled in Nimrod)
19:51:18Mat2^dependent
19:53:46Araqno 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:10Mat2ok, thanks
20:15:04EXetoCyes, 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:26EXetoCif directory names, if any, can't be used when qualifying symbols
20:16:03Araqwe may allow package.module.abc
20:22:43EXetoCyeah that's what I meant
20:23:55Araqhow's the float32 stuff going?
20:27:03EXetoCI 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:23EXetoCbut rather as a float instance, which worked before because the rules were very relaxed
20:28:01Araqhmm well the question is what type should someFloat32 + 1.2 have?
20:28:11Araqstill float32?
20:31:09Araqand someFloat32 + someFloat should produce "float", like it's done for integers ...
20:31:25Araqso we need a "float literal" type in the compiler like we do for integers
20:31:35EXetoCyeah ok
20:31:37EXetoCf(1, 1.0): "type mismatch: got (int literal(1), float)"
20:31:46EXetoCthat seems relevant then
20:32:52EXetoCthat's with the changes I'm trying to make btw. master accepts it, which is pretty obvious I guess.
20:33:03EXetoC(proc f(a, b: float32))
20:33:12Araqcan you diff your changes to me; I'll take over from here :P
20:35:19BitPuffinAraq: Is there a quick way to combine an export and import?
20:35:25BitPuffinor do you have to do import export
20:35:54Araqthe latter
20:36:15BitPuffinAraq: Can you put them both next to each other? `import export module_foo`
20:36:29BitPuffinor `import module_foo; export module_foo`
20:36:55Araqinclude module_foo :P
20:37:21Araqbut yeah that's not the same, "import foo; export foo" should work
20:37:53BitPuffinhmm right, include might work
20:38:01BitPuffinbut that grows the size of the exe?
20:38:12BitPuffinbecause it basically copies and pastes
20:38:23Araqyeah it copies
20:38:40BitPuffinwe need an impex statement :P
20:38:42BitPuffinor not
20:39:00BitPuffinwould import linagl/primitives/* work?
20:39:11BitPuffinor do I need to make a linogl/primitives/all
20:39:14BitPuffinthat imports and exports
20:39:51Araqtemplate impex(x: expr) = import x; export x;
20:40:13BitPuffinI suppose :P
20:41:16EXetoCI might've used 'diff' once before, but it shouldn't be rocket science. sec
20:42:00EXetoCI can also push the branch if you want
20:43:01BitPuffinAraq: butt what about the wildcard import thing?
20:43:30EXetoCI'd have to mess about with git anyway
20:43:58Araqmeh I prefer the diff
20:44:12AraqBitPuffin: I don't like it
20:44:53BitPuffinAraq: Why not?
20:45:09Araqit reminds me of java
20:45:37BitPuffinAraq: doesn't have to be a *
20:46:00BitPuffinAraq: Just that it's the wildcard symbol in glob syntax
20:47:25Araqso ... 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:03BitPuffinAraq: wait, so you can import a directory just by specifying its name?
20:48:22BitPuffinAraq: So import linagl/primitives would work?
20:48:34BitPuffineven if primitives isn't a .nim file?
20:48:42BitPuffinrather it's a directory with .nim files
20:48:46BitPuffintriangle.nim
20:48:52Araqno currently there would be a "jester" module that might "export" submodules
20:48:53BitPuffinray.nim
20:49:11BitPuffinhrm
20:49:30BitPuffinI think it would be preferrable for the compiler to take import dir as import everything in that dir and below
20:49:40BitPuffinand if you want to tune what it imports
20:49:48BitPuffinyou just create a dir.nim file that imports and exports
20:49:50BitPuffinand it will override
20:50:08AraqI think it would be preferrable if the compiler doesn't care about BitPuffin's improvements
20:50:33BitPuffin:(
20:50:46BitPuffinAraq: You shouldn't be so rude
20:51:32Araqsorry but I don't like it
20:51:41BitPuffinno okay
20:51:44BitPuffinjust say that then
20:52:18BitPuffinit 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:37Araqok alright, sorry
20:53:17BitPuffinAnd 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:36Araqoh but it does
20:53:50Araqit's more explicit what the author of that package meant
20:54:21BitPuffinWell, but if the auther wants to be explicit he could just override it with a dirname.nim file
20:54:24BitPuffinauthor
20:54:43BitPuffinI get that import errthing is bad practise though
20:54:45Araqit's easier to simply write what one wants
20:54:52Araqinstead of writing what one does not want
20:55:18BitPuffinfair enough
20:55:56BitPuffinI just remembered all the all.d files from the D world
20:56:19BitPuffinIn reality it is better if the programmer always uses a from module import bla, bloh, bleh
20:56:25BitPuffinbecause then you know where everything comes from
20:56:48Araqalso you should perhaps write more code so that "import" statements do not make 90% of your code and thus need shortcuts ;-)
20:58:17BitPuffinYou mean I should put every primitive in a primitives.nim file?
20:58:20BitPuffinI don't know
20:58:27BitPuffinthat's anarch!
20:58:28BitPuffinanarchy*
21:00:45BitPuffinAraq: Does this work? import linagl/primitives \n\t line \n\t plane \n\t triangle work?
21:00:55BitPuffin- work?
21:01:12Araqno
21:01:23BitPuffinaw
21:03:35BitPuffinoh well, then i guess import \n\t linagl/primitives/triangle \n\t linagl/primitives/line etc isn't too much work
21:04:54BitPuffinAraq: I suppose you didn't like the import list in a particular directory either then?
21:04:55EXetoCAraq: http://sprunge.us/JFJK
21:05:34EXetoCso I guess isFloatLit doesn't do anything yet, but will it be useful later? I just copied isIntLit
21:07:49Araqyep
21:08:16AraqBitPuffin: I think I dislike directories altogether
21:08:35BitPuffinAraq: So you put everything in /?
21:09:15dom96how many different primitives do you have BitPuffin?
21:09:17Araqwhy is it that people do not the difference between "I can see value in it" and "I like it"?
21:11:41BitPuffinAraq: I was joking :)
21:12:47EXetoCoops, comment appears twice. I suck at programming
21:13:47AraqBitPuffin: 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:01Araqnow guess what the tools make me type
21:14:19BitPuffindom96: 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:25Araqlib/pure/strutils, so need to keep the whole stack in my head and reverse it
21:14:44dom96BitPuffin: Why are you putting them all into separate modules?
21:15:17EXetoCit's the most primitive primitive of all in the GPU world :>
21:15:20BitPuffindom96: I am not, I am just considering doing so
21:15:36Mat2ehm, ok
21:16:05EXetoCno that'd be triangles. carry on
21:16:29BitPuffinEXetoC: which one did you think?
21:21:06*enurlyx quit (Quit: Verlassend)
21:21:27Mat2get some sleep, ciao
21:21:37BitPuffinnighty 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:22BitPuffinOkay so how could one go ahead and interface nimrod to C++ classes?
23:33:25BitPuffinLike wrapping them
23:33:46BitPuffinwrite a C interface?
23:35:56OrionPKextern C wrapper in separate library?
23:36:06OrionPKor compile nimrod w/ c++
23:38:11BitPuffincompile nimrod w/ c++?
23:38:25BitPuffinI mean using C++ APIs in nimrod here to be clear
23:38:43OrionPKhttp://nimrod-code.org/nimrodc.html
23:39:15OrionPKcompiling with the "cpp" flag generates C++ code instead of C
23:39:19BitPuffinOrionPK I know that it has built in nimrod to cpp
23:39:28BitPuffinOrionPK But I am talking CPP to nimrod
23:39:45OrionPKusing nimrod code in C++?
23:39:51BitPuffinNo
23:39:55BitPuffinusing C++ code in nimrod
23:40:02OrionPKthats what Im talking about too :P
23:40:08BitPuffinwait what
23:40:22dom96haha
23:40:23BitPuffinBut I mean
23:40:27BitPuffinLike
23:40:36BitPuffinhow do you import a hpp xD
23:40:40OrionPKthere's an example of using irrlicht bitpuffin
23:40:49BitPuffinthere is not a cpp2nim tool
23:40:53BitPuffinOrionPK link?
23:41:06OrionPKhttp://nimrod-code.org/nimrodc.html#importcpp-pragma
23:41:16BitPuffinoh
23:41:19BitPuffinit is in there
23:42:13BitPuffinHM!
23:42:24BitPuffinnow that is interesting
23:42:27OrionPKhonestly I like the 1st approach better
23:42:35dom96https://github.com/Araq/Nimrod/blob/master/examples/c++iface/irrlichtex.nim
23:42:36BitPuffinthe first approach?
23:42:38dom96BitPuffin: ^
23:42:57OrionPKwrite a flat wrapper
23:43:08OrionPKin a separate library
23:44:34BitPuffinOrionPK I don't see a difference other than that the github version is more complete
23:44:55OrionPKbitpuffin dom linked that
23:45:09BitPuffinoh
23:45:10BitPuffinright
23:45:11BitPuffinsorry
23:45:35BitPuffinYou think it is better to write C wrapper and then interface to that?
23:45:47OrionPKthe problem w/ that approach is that any program that uses that module has to compile w/ cpp
23:45:57BitPuffinWhy is that a problem?
23:46:15dom96It's less tested than the C backend.
23:47:22BitPuffinHm
23:47:26BitPuffinWell
23:47:40BitPuffinI guess maybe it is good for it to be tested? 8D
23:48:23BitPuffinno but hm
23:49:23BitPuffin~/src/Nimrod> cd csources/ && ./build.sh Error: no C code generated for: [haiku: i386] :(
23:57:04dom96https://github.com/Araq/Nimrod/blob/master/compiler/nimrod.ini#L5
23:57:11dom96Doesn't seem like it's generated for haiku
23:57:45dom96Should be able to generate it yourself by changing that file, maybe.
23:58:02BitPuffindom96 but then I have to reboot xD
23:58:40AraqI don't think I ever finished the haiku port
23:59:03Araqand Haiku sucks -- no efficient thread local storage
23:59:35BitPuffinlol
23:59:40BitPuffinmaybe that has changed?