00:00:22 | ldlework | it just produces the same 'libtcod' binary |
00:00:28 | ldlework | renaming it doesn't fix the issue |
00:00:43 | fowl | ldlework, no just take that crap out of libtcod_define.nim |
00:00:49 | fowl | this wrapper needs help |
00:01:00 | ldlework | fowl: :( |
00:01:17 | fowl | take the when defined(debug) stuff out |
00:01:34 | ldlework | ok |
00:02:41 | hopla | Araq: it wouild be dangerous, no? I would trust the compiler in most cases. The compiler may just refuse to inline and would be right in most of the cases (lot of hidden call to GC for example?). In some cases, the compiler is not allowed to be *wrong*. I never use "inline" personally and let the compiler choose. Otherwise, forceinline. Are you sure nim -> asm mapping is so straightforward that the user can guess correctly? |
00:02:54 | ldlework | fowl: lots of other parts of the code depend on that LIB_NAME constant |
00:03:38 | fowl | ldlework, in the end that section should look like when defined(linux): const libname = ... when defined(windows): const libname = ... |
00:04:26 | fowl | just take the debug sections out because thats a misuse of the debug symbol |
00:04:39 | ldlework | aha, https://gist.github.com/dustinlacewell/c4fcc861e7c52d8e45c7 |
00:06:04 | * | hopla_ joined #nimrod |
00:06:26 | hopla_ | Araq: I guess the decision is more based on statistics on "inline" in nim code. It they are all legitimate, I would go for __forceinline :-) |
00:06:39 | Araq | hopla: not sure what your point is. if you use .inline, you get inline. if you're unsure, don't use .inline? now that might be that code out there gets slower because of this. but that's acceptable for a pre 1.0 language, IMO |
00:06:55 | * | hopla quit (Ping timeout: 246 seconds) |
00:08:05 | * | Matthias247 quit (Read error: Connection reset by peer) |
00:08:45 | hopla_ | Araq: my point is more about inline. inline is useless and full of heuristics. forceinline is just what we may expect from inline. It just does inline. |
00:10:25 | Araq | yes |
00:10:44 | hopla_ | Araq: so, if you want the {.inline} for nim to inline 100% of the code marked as such (even a 10,000 LOC proc) , you want forceinline actually. |
00:13:26 | Araq | yeah I dont mind as long as we don't copy C here by having 2 ways with subtle differences |
00:14:02 | Araq | which then don't make any difference anyway with a decent compiler |
00:14:28 | * | hopla joined #nimrod |
00:14:51 | Araq | btw I note that you didn't show me that LLVM's heuristics screw it up ;-) |
00:14:58 | * | hopla_ quit (Ping timeout: 246 seconds) |
00:15:29 | ldlework | Printing out "maxx = node.x + node.w - 1" gives me, 149. Right before this line I printed node.x and node.w; x == 0, w == 50; |
00:15:32 | ldlework | How is this possible? |
00:16:07 | ldlework | oh |
00:16:09 | ldlework | nm |
00:16:11 | ldlework | sorry |
00:16:55 | flaviu | ldlework: What was the problem? |
00:17:02 | * | Francisco quit (Ping timeout: 256 seconds) |
00:17:13 | * | Sembei joined #nimrod |
00:17:16 | ldlework | flaviu: there is another function that resets them I had blindness to |
00:17:31 | flaviu | oh, ok |
00:18:37 | hopla | Araq: they don't screw. They may just not want to inline your code. no inlining of leafs in call graphs was with old GCCs. I guess they overcome it now :-) |
00:18:58 | hopla | Araq: now about having only *one* inliner. I am a bit nervous: |
00:19:31 | hopla | https://gist.github.com/anonymous/9d6dcc1b80a7c26ec2f6 |
00:19:41 | hopla | This is obviously pure shit |
00:19:53 | hopla | but you have a compile time error with always_inline |
00:19:59 | ldlework | fowl: This wrapper is fucked because it doesn't use cint anywhere right? |
00:20:43 | Araq | hopla: yeah and that's good |
00:21:29 | Araq | hopla: the problem is that 'inline' is a misnomer for this case. you want 'hot' instead. |
00:21:35 | * | hopla_ joined #nimrod |
00:22:24 | Araq | hot vs inline is fine with me :P |
00:22:31 | Araq | gotta sleep now, good night |
00:22:54 | hopla_ | Araq: even if this is that late for nim compilation process? Also, you have discrepancies between gcc/clang here (clang does not abort). But if you are OK with all this, I would go for forceinline to start with so. Good night! |
00:24:04 | * | hopla quit (Ping timeout: 246 seconds) |
00:33:17 | ldlework | I did it! |
00:33:25 | ldlework | wooo |
00:34:28 | * | brson quit (Quit: leaving) |
00:34:58 | * | brson joined #nimrod |
00:35:27 | ldlework | gar it still crashes sometimes |
00:38:53 | * | darkf joined #nimrod |
00:39:49 | * | hopla_ quit (Ping timeout: 246 seconds) |
00:40:20 | * | Hakaslak quit (Quit: TODO: Generate 'Computer Sleep Quit Message') |
00:40:40 | * | Hakaslak joined #nimrod |
00:41:54 | * | vendethiel quit (Ping timeout: 245 seconds) |
00:44:51 | * | vendethiel joined #nimrod |
00:44:55 | * | hopla joined #nimrod |
00:45:15 | * | Hakaslak quit (Ping timeout: 258 seconds) |
00:45:37 | hopla | Araq: I just saw your last answer. Yes, hot vs inline is good naming! I like it. |
00:48:04 | * | brson quit (Quit: leaving) |
00:48:17 | * | brson joined #nimrod |
00:54:08 | * | flaviu quit (Remote host closed the connection) |
00:55:16 | * | Francisco joined #nimrod |
00:58:41 | * | q66 quit (Quit: Leaving) |
01:06:46 | * | flaviu joined #nimrod |
01:19:16 | * | rpag joined #nimrod |
01:32:38 | * | superfunc quit (Quit: Connection closed for inactivity) |
01:38:53 | * | flaviu quit (Remote host closed the connection) |
01:46:03 | * | mko quit (Read error: Connection reset by peer) |
01:50:53 | * | vendethiel quit (Ping timeout: 255 seconds) |
01:51:53 | ldlework | fowl: When should I be using cints? |
01:52:33 | Varriount | ldlework: cint should be used anywhere a C function expects an int |
01:53:05 | Varriount | Nimrod ints vary depending on the platform (32 bits on 32 bit systems, 64 bits on 64 bit systems) |
01:53:16 | Varriount | cints are usually always 32 bits. |
01:53:22 | * | flaviu joined #nimrod |
01:53:56 | * | vendethiel joined #nimrod |
01:54:42 | * | Joe_knock quit (Quit: Leaving) |
01:59:16 | * | hopla quit (Ping timeout: 246 seconds) |
02:11:24 | * | brson quit (Quit: leaving) |
02:24:34 | * | superfunc joined #nimrod |
02:25:55 | superfunc | fowl: yo, would there be a way to specify multiple possible names for a libSDL_gfx under linux? |
02:26:15 | Varriount | superfunc: Is that a library? |
02:26:19 | superfunc | yeah |
02:26:31 | Varriount | I think you can define a symbol via the command line. |
02:26:46 | Varriount | I mean, a symbol with a value |
02:26:54 | superfunc | yeah, I was just wondering if we could make it search through a few possibilities making it easier for users |
02:28:03 | Varriount | Well, creating a build script like koch would work. |
02:28:13 | Varriount | Or a config file. |
02:28:20 | Varriount | (which can have comments) |
02:29:02 | superfunc | for things as old and older than debian wheezy, they only really have access to sdl1.2 for the image, gfx libraries, which seem to work ok with sdl2 core |
02:29:18 | superfunc | they have sdl2 core available via backports |
02:31:50 | superfunc | it would be really nice if we had a little DSL to say something like: when underLinux: libraries_are: "a.so", "b.so", ... when underWindows: libraries_are: "a.dll".... |
02:36:53 | * | vendethiel quit (Ping timeout: 240 seconds) |
02:39:23 | superfunc | also, whoever cleaned up the compiler output with CC: ...., you're awesome |
02:46:57 | * | Francisco quit (Quit: Leaving) |
02:49:25 | * | vendethiel joined #nimrod |
02:59:06 | * | Fr4n joined #nimrod |
03:06:37 | Varriount | superfunc: Eh, have you seen the nimrod config? |
03:06:39 | fowl | superfunc, you can use a glob |
03:07:03 | fowl | "libsdl(|.0).so" to match libsdl.so or libsdl.0.so |
03:07:41 | fowl | http://nimrod-lang.org/manual.html#dynlib-pragma-for-import |
03:08:31 | fowl | ldlework, yeah that is probably the problem, also change any float to cfloat |
03:10:07 | superfunc | thanks fowl, |
03:10:13 | superfunc | thats exactly what I was looking for |
03:10:14 | * | eigenlicht quit (Ping timeout: 245 seconds) |
03:12:18 | Varriount | fowl, superfunc: What are you two working on? |
03:12:53 | * | eigenlicht joined #nimrod |
03:12:59 | superfunc | right now, grading java code lul. When I'm done, back on a few nim projects I'm tinkering with |
03:13:12 | * | vendethiel quit (Ping timeout: 250 seconds) |
03:13:44 | Varriount | superfunc: Ah Java... I had fun today trying to sort out a classmate's problems with Java generics. |
03:15:23 | * | vendethiel joined #nimrod |
03:19:36 | superfunc | I'm lucky in that the intro class doesn't get very far, so I never have to strain to help them |
03:19:55 | superfunc | otherwise I would, my java knowledge is super dusty |
03:20:40 | Varriount | superfunc: I don't suppose you have a link to a resource on basic type logic, and why references/pointers allow for inheritance? |
03:21:13 | Varriount | I'd like to see if someone can explain things better than me. |
03:21:36 | superfunc | Well, any good paper on vtables would explain the latter, I suppose |
03:21:56 | superfunc | Even if java implements it a bit differently, the idea should be the same |
03:26:21 | superfunc | As for stuff on the type system for Java nothing comes to mind, though Jehan or araq may know a bit more about those |
03:29:41 | fowl | Varriount, i dont have ambition to write interesting things anymore :< |
03:30:37 | ldlework | fowl: join me! |
03:30:40 | ldlework | fowl: guide me! |
03:30:54 | ldlework | lets write the next great roguelike in nim! |
03:37:02 | * | vendethiel quit (Ping timeout: 250 seconds) |
03:39:20 | * | vendethiel joined #nimrod |
03:40:41 | * | eigenlicht quit (Ping timeout: 272 seconds) |
03:43:19 | * | bjz quit (Read error: Connection reset by peer) |
03:43:45 | * | eigenlicht joined #nimrod |
03:44:39 | * | bjz joined #nimrod |
03:45:22 | Varriount | fowl: Then do what I do and write uninteresting things. |
03:45:34 | Varriount | Like a better parseopt module. |
03:46:05 | Varriount | Or, better yet, a port of the Requests python module. |
03:49:49 | * | flaviu quit (Ping timeout: 244 seconds) |
03:57:35 | * | Hakaslak joined #nimrod |
04:00:27 | * | vendethiel quit (Ping timeout: 244 seconds) |
04:01:24 | * | vendethiel joined #nimrod |
04:09:54 | * | eigenlicht quit (Ping timeout: 264 seconds) |
04:13:10 | * | eigenlicht joined #nimrod |
04:36:49 | * | xenagi quit (Quit: Leaving) |
04:44:49 | * | superfunc quit (Ping timeout: 246 seconds) |
04:45:18 | * | vendethiel quit (Ping timeout: 264 seconds) |
04:47:55 | * | vendethiel joined #nimrod |
04:50:46 | * | bogen left #nimrod (#nimrod) |
04:56:29 | ldlework | +1 |
04:56:51 | * | ARCADIVS joined #nimrod |
05:25:30 | * | eigenlicht quit (Ping timeout: 264 seconds) |
05:27:16 | * | eigenlicht joined #nimrod |
05:37:17 | * | eigenlicht quit (Ping timeout: 244 seconds) |
05:38:45 | * | eigenlicht joined #nimrod |
05:49:45 | * | khmm joined #nimrod |
05:49:57 | * | BlaXpirit joined #nimrod |
05:52:21 | * | johnsoft quit (Ping timeout: 265 seconds) |
05:52:30 | * | johnsoft joined #nimrod |
06:16:32 | * | eigenlicht quit (Read error: Connection reset by peer) |
06:18:59 | * | Hakaslak quit (Quit: TODO: Generate 'Computer Sleep Quit Message') |
06:19:44 | * | Hakaslak joined #nimrod |
06:31:58 | * | Hakaslak quit (Quit: TODO: Generate 'Computer Sleep Quit Message') |
06:32:34 | * | Hakaslak joined #nimrod |
06:36:19 | * | Hakaslak quit (Client Quit) |
06:39:59 | * | Hakaslak joined #nimrod |
06:41:10 | * | Hakaslak quit (Client Quit) |
06:46:57 | * | gokr quit (Quit: Leaving.) |
06:47:25 | * | Hakaslak joined #nimrod |
06:50:23 | * | Hakaslak quit (Client Quit) |
07:22:16 | * | hsuh quit (Remote host closed the connection) |
07:28:14 | * | hsuh joined #nimrod |
08:10:01 | * | Trustable joined #nimrod |
08:34:29 | * | gokr joined #nimrod |
08:47:45 | * | mbenadda_ joined #nimrod |
08:50:33 | NimBot | Araq/Nimrod bigbreak 8f0b248 Araq [+0 ±1 -0]: proper development version number |
08:50:33 | NimBot | Araq/Nimrod bigbreak 0a2296b Araq [+1 ±3 -1]: added module fenv's docs |
08:50:33 | NimBot | Araq/Nimrod bigbreak 1f63d1c Araq [+1 ±6 -0]: documented nimfix |
08:50:33 | NimBot | Araq/Nimrod bigbreak 0c32993 Araq [+0 ±1 -0]: todo.txt updates |
08:51:01 | NimBot | Araq/Nimrod master e8a0b45 Araq [+0 ±1 -0]: proper development version number |
08:51:01 | NimBot | Araq/Nimrod master cec2363 Araq [+0 ±1 -0]: Merge branch 'devel' |
08:54:01 | gokr | Morning folks! |
08:54:31 | Araq | morning and bye ;-) |
08:54:35 | gokr | :) |
09:31:43 | * | q66[lap] quit (Read error: Connection reset by peer) |
09:32:18 | * | q66[lap] joined #nimrod |
10:14:02 | * | khmm quit (Ping timeout: 245 seconds) |
10:35:38 | * | BlaXpirit-UA joined #nimrod |
10:38:17 | * | BlaXpirit quit (Ping timeout: 260 seconds) |
10:39:57 | * | khmm joined #nimrod |
10:52:30 | * | MeneMene joined #nimrod |
11:07:45 | * | kemet joined #nimrod |
11:10:01 | * | johnsoft quit (Ping timeout: 260 seconds) |
11:10:54 | * | johnsoft joined #nimrod |
11:23:08 | * | kemet quit (Quit: Instantbird 1.5 -- http://www.instantbird.com) |
11:25:58 | * | Ven joined #nimrod |
11:27:48 | * | Ven quit (Client Quit) |
11:54:48 | * | flaviu joined #nimrod |
12:00:54 | * | gokr_ joined #nimrod |
12:01:54 | * | khmm quit (Ping timeout: 245 seconds) |
12:08:01 | * | Jehan_ joined #nimrod |
12:08:20 | * | khmm joined #nimrod |
12:10:43 | Jehan_ | Araq: I notice that there's a wrapper for pthread_mutex_timedlock() in system/threads.nim, but it is (1) never used and (2) the function is actually not available on a number of architectures: https://www.gnu.org/software/gnulib/manual/html_node/pthread_005fmutex_005ftimedlock.html |
12:22:57 | * | khmm quit (Ping timeout: 265 seconds) |
12:23:00 | * | kemet joined #nimrod |
12:23:28 | * | kemet quit (Client Quit) |
12:25:19 | * | khmm joined #nimrod |
12:35:22 | * | khmm quit (Ping timeout: 240 seconds) |
12:40:19 | * | khmm joined #nimrod |
12:58:43 | * | khmm quit (Ping timeout: 265 seconds) |
13:16:39 | * | BitPuffin joined #nimrod |
13:25:39 | * | BitPuffin quit (Ping timeout: 245 seconds) |
13:27:41 | * | gokr quit (Ping timeout: 260 seconds) |
13:37:25 | * | kemet joined #nimrod |
13:53:21 | NimBot | nimrod-code/nimforum new_async 7b6e629 Dominik Picheta [+0 ±4 -0]: Small fixes for styling and reply button presence. |
14:14:37 | * | darkf quit (Quit: Leaving) |
14:15:20 | * | ARCADIVS quit (Ping timeout: 250 seconds) |
14:16:46 | * | gokr joined #nimrod |
14:25:08 | * | Ven joined #nimrod |
14:39:54 | * | flaviu quit (Remote host closed the connection) |
14:40:25 | * | flaviu joined #nimrod |
14:44:06 | * | Jehan_ quit (Ping timeout: 264 seconds) |
14:51:24 | * | gokr building bigbreak on OSX... |
14:52:44 | gokr | Worked perfectly. |
14:55:24 | * | flaviu quit (Remote host closed the connection) |
15:01:34 | * | flaviu joined #nimrod |
15:07:11 | * | kemet quit (Remote host closed the connection) |
15:13:15 | * | kemet joined #nimrod |
15:36:38 | * | Jehan_ joined #nimrod |
15:43:48 | * | Varriount|Mobile joined #nimrod |
15:59:44 | * | Var|Mobile joined #nimrod |
15:59:52 | * | untitaker quit (Ping timeout: 244 seconds) |
16:03:16 | * | Varriount|Mobile quit (Ping timeout: 244 seconds) |
16:05:48 | * | untitaker joined #nimrod |
16:16:57 | * | Var|Mobile quit (Read error: Connection reset by peer) |
16:21:09 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
16:22:30 | * | Ven joined #nimrod |
16:24:31 | * | superfunc joined #nimrod |
16:36:23 | * | Varriount|Mobile joined #nimrod |
16:45:18 | * | Matthias247 joined #nimrod |
17:03:06 | * | mko joined #nimrod |
17:04:22 | * | brson joined #nimrod |
17:07:43 | * | gokr_ quit (Ping timeout: 250 seconds) |
17:09:02 | * | brson quit (Client Quit) |
17:09:28 | * | gokr quit (Quit: Leaving.) |
17:11:15 | * | brson joined #nimrod |
17:12:53 | * | kemet quit (Quit: Instantbird 1.5 -- http://www.instantbird.com) |
17:28:29 | * | gokr_ joined #nimrod |
17:38:54 | * | gokr joined #nimrod |
17:45:20 | * | MeneMene left #nimrod (#nimrod) |
17:57:12 | * | Fr4n quit (Ping timeout: 250 seconds) |
18:14:48 | Araq | Jehan_: just remove it then |
18:28:24 | woodgiraffe | Is there built-in sugar for aggregating all the yields of an iterator into a sequence? |
18:28:35 | woodgiraffe | In a one-liner or something |
18:32:30 | Araq | woodgiraffe: sequtils.toSeq |
18:32:38 | * | superfunc quit (Quit: Connection closed for inactivity) |
18:32:39 | woodgiraffe | Araq: <3 |
18:37:12 | * | Jehan_ quit (Quit: Leaving) |
18:38:44 | * | mbenadda____ joined #nimrod |
18:42:30 | * | mbenadda_ quit (Ping timeout: 264 seconds) |
18:42:44 | * | Jesin quit (Quit: Leaving) |
18:43:04 | * | Jesin joined #nimrod |
18:43:10 | * | mbenadda____ quit (Ping timeout: 256 seconds) |
18:43:37 | * | q66 joined #nimrod |
18:50:10 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
18:59:36 | gokr | Hmmm, so... if I define `$` for a Pumpkin - and then try "echo( (42, p) )" where p is a Pumpkin, I get: Error: ambiguous call; both fruitbase.$(self: T): string and system.$(x: T): string match for: (tuple[int, Pumpkin]) |
19:00:57 | gokr | So... how is that meant to... work? Am I missing something? |
19:03:13 | gokr | Aha, so... ok, if I define `$` for Fruit and not just T, then its ok. |
19:06:03 | * | superfunc joined #nimrod |
19:15:57 | * | Jehan_ joined #nimrod |
19:17:27 | * | gokr quit (Quit: Leaving.) |
19:25:18 | woodgiraffe | Is it best-practice to use intToStr and strToInt for conversion? - seems very verbose |
19:29:17 | Jehan_ | woodgiraffe: $ and strutils.parseInt? |
19:29:49 | woodgiraffe | Jehan_: ty, will look into |
19:30:04 | Jehan_ | $ is the general operator to turn anything into a string. |
19:30:20 | Jehan_ | It's not actually defined for everything, but should be for all the basic types. |
19:30:34 | woodgiraffe | wonderful |
19:30:35 | * | quasinoxen joined #nimrod |
19:30:57 | Jehan_ | In fact, echo x implicitly calls $x for anything that isn't a string already. |
19:32:23 | EXetoC | basically everything. there's a tuple|object overload |
19:32:24 | Jehan_ | There's also repr(x) to get a string representation for anything, but that's generally more of an internal representation, which also shows pointer addresses and such. It's more for dumping data during debugging than for showing stuff to end users. |
19:34:35 | Jehan_ | EXetoC: Not for things involving ref, though. |
19:35:34 | * | superfunc quit (Ping timeout: 246 seconds) |
19:38:43 | * | superfunc joined #nimrod |
19:39:12 | * | Fr4n joined #nimrod |
19:57:56 | woodgiraffe | How do you access multi-dimensional seqs? - e.g. 2d-seq s, s[0][1] doesn't seem to work |
20:00:09 | Jehan_ | woodgiraffe: That should work, assuming you actually have a seq[seq[T]]. |
20:02:46 | * | gokr joined #nimrod |
20:08:22 | * | johnsoft quit (Ping timeout: 255 seconds) |
20:08:30 | * | johnsoft joined #nimrod |
20:25:42 | gokr | Varriount: Sorry for the latency, but you were hunting for slave hosts, right? |
20:27:35 | woodgiraffe | Any pointers how I'd parse numbers out of seq[string] into e.g. seq[int] ? |
20:27:42 | * | Ven joined #nimrod |
20:27:51 | woodgiraffe | Jehan_: thanks, I realized I was doing something wrong |
20:31:42 | ldlework | Is this a bug in Nim, https://gist.github.com/dustinlacewell/4422d35e17690429cfdf |
20:32:31 | ldlework | it certainly looks like it |
20:36:14 | Araq | ldlework: yeahm but not necessarily |
20:37:07 | ldlework | Araq: why are these not perfectly equivalent? |
20:37:09 | gokr | Araq: I note that system.delete and sequtils.delete conflict. They basically do the same thing, but the latter can take a "to" arguments. |
20:39:19 | gokr | (conflict as in if I write "myseq.delete(0)") |
20:40:18 | Jehan_ | woodgiraffe: map(someStringSeq, parseInt) ? |
20:40:31 | Jehan_ | Assuming you don't need to deal with parsing errors. |
20:40:43 | EXetoC | you can try something like sequtils.delete(myseq, 0) |
20:40:57 | woodgiraffe | Jehan_: merci |
20:42:09 | Jehan_ | de rien. :) |
20:42:12 | gokr | EXetoC: Yeah, I realized. But... its a wart :) |
20:42:26 | ldlework | Araq: ? |
20:43:37 | EXetoC | gokr: what is? these conflicting symbols? |
20:44:38 | gokr | If I import sequtils and then try "s.delete(0)" it will be ambiguous: Error: ambiguous call; both system.delete(x: var seq[T], i: int) and sequtils.delete(s: var seq[T], first: int, last: int) match for: (seq[Fruit], int literal(0)) |
20:45:18 | gokr | Since the sequtils delete has a "last" arg with a default value 0, I presume. |
20:45:48 | * | Mat3 joined #nimrod |
20:45:50 | Mat3 | hello |
20:47:13 | Araq | ldlework: maybe you simply got lucky for 1 case |
20:47:30 | EXetoC | gokr: seems like a mistake then |
20:48:14 | gokr | EXetoC: Perhaps system.delete was added later, and it happened to overlap. |
20:48:52 | EXetoC | maybe the other way around |
20:48:56 | EXetoC | but w/e |
20:52:26 | ldlework | Araq: what does that even mean? lol |
20:54:00 | ldlework | :(( |
20:54:52 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
20:57:06 | Araq | wait a sec... |
20:57:13 | * | Araq is busy |
21:02:19 | Araq | ldlework: maybe both corrupt memory but it doesn't crash in the first case, but in the second |
21:02:43 | Araq | and what is flag_names? how is it declared? what's bk_flag? |
21:03:01 | Araq | do you try both calls in the same program? |
21:03:12 | Araq | if so maybe the first corrupts and then the second fails |
21:03:19 | Araq | etc etc. |
21:03:57 | Araq | if you think it's a bug, create a proper bug report please |
21:04:42 | Araq | my bet: it's that varags bug that Jehan_ reported |
21:04:49 | Araq | *varargs |
21:08:46 | * | Francisco joined #nimrod |
21:08:52 | * | Fr4n quit (Ping timeout: 272 seconds) |
21:09:56 | Jehan_ | Umm, which varargs bug did I report? :) |
21:11:50 | Jehan_ | Oh, the importc thing? |
21:12:07 | Araq | yep |
21:12:16 | Jehan_ | Hmm. didn't see anything with importc in the code fragment, but it's hard to tell without context, of course. |
21:13:35 | Araq | 'console_print' with some crappy % format string surely screams .varargs |
21:15:02 | Jehan_ | Well, I envisioned a varargs problem, but not importc. I would have guessed at immediate template stuff. |
21:15:42 | * | Mat3 study Rust (lot of silly semicolons) ;) beside work |
21:16:57 | ldlework | Araq: this c call is definitely varargs |
21:17:37 | * | Mat3 quit (Quit: Verlassend) |
21:18:43 | ldlework | flag_names is a @[] of strings, bk_flag is an int |
21:19:09 | Jehan_ | ldlework: It'd have to be an importc varargs to be affected by that bug, though. |
21:19:35 | ldlework | proc console_print*(con: PConsole, x, y: int, fmt: cstring) {.cdecl, importc: "TCOD_console_print", |
21:19:37 | ldlework | varargs, dynlib: LIB_NAME.} |
21:19:39 | ldlework | is how it is defined |
21:20:21 | ldlework | that is probably what you were talking about right? |
21:21:27 | ldlework | Jehan_: ^ |
21:21:44 | Jehan_ | ldlework: Yup. |
21:21:52 | ldlework | Jehan_: is there a fix/etc |
21:22:13 | ldlework | I guess I would have it, if there was, since I'm on bigbreak |
21:23:47 | * | Mat3 joined #nimrod |
21:25:32 | ldlework | Ah yeah still open. |
21:27:00 | Araq | ldlework: nevertheless x,y should be cint, I think |
21:27:01 | Jehan_ | There's a workaround, but not a fix. |
21:27:08 | Jehan_ | Assuming it is that bug. |
21:27:11 | Jehan_ | template `!`(x: expr): expr = x |
21:27:11 | Jehan_ | cast[type(x)](x) |
21:27:13 | ldlework | Jehan_: I can try it? |
21:27:32 | ldlework | Araq: it seems like this wrapper doesn't use cint anywhere :( |
21:27:35 | Jehan_ | Then use !flag_names[…] to pass the parameter. |
21:27:58 | Araq | ldlework: it might be easier to start from scratch with c2nim |
21:27:59 | Jehan_ | ldlework: It's a general problem if the C function and the Nim call don't agree on how values are aligned on the stack. |
21:28:11 | Jehan_ | The workaround basically inserts an explicit cast. |
21:29:50 | ldlework | Araq: I run c2nim directly on libtcod's original C source? Does it port libtcod to nim, or just generate bindings to it? |
21:30:24 | Araq | that depends on how you use c2nim |
21:30:36 | Araq | in general you only translate the header |
21:30:42 | Araq | and get a wrapper |
21:31:00 | Araq | read gokr's article please |
21:31:06 | gokr | Yeah :) |
21:31:21 | ldlework | c2nim.nim(11, 33) Error: cannot open 'llstream' |
21:31:23 | ldlework | okay |
21:31:41 | gokr | ldlework: That's because it needs compiler, and... you installed nim or? |
21:31:54 | ldlework | I just ran nim to compile c2nim lol |
21:31:59 | * | q66[lap] quit (Remote host closed the connection) |
21:32:09 | gokr | Instead of adding a softlink to nim somewhere in your PATH? |
21:32:30 | ldlework | I added nim's bin directory to my path |
21:32:32 | gokr | I think I even wrote about this in the article. |
21:32:44 | ldlework | you did! |
21:32:58 | gokr | Yeah |
21:34:19 | ldlework | hmm odd, I have nim's bin directory on my path but I get the same exact error |
21:34:22 | ldlework | guess I'll just use -p |
21:34:46 | gokr | Hmmm, you sure you run the right nim? |
21:35:03 | gokr | Try that dump thing. |
21:35:21 | ldlework | https://gist.github.com/dustinlacewell/4f14390f450b4dd60f3c |
21:35:24 | ldlework | ok |
21:35:45 | gokr | nim dump? |
21:36:03 | ldlework | https://gist.github.com/dustinlacewell/b3aba175d21c8b813b8e |
21:36:39 | gokr | Interesting, something has changed I think. |
21:37:04 | gokr | I did my article with 0.9.6 IIRC. |
21:37:42 | ldlework | huh I get tons of errors when compiling |
21:38:00 | ldlework | Has c2nim been updated for bigbreak? |
21:39:16 | ldlework | I guess only one error: |
21:39:18 | ldlework | cparse.nim(1607, 5) Error: public implementation 'cparse.expression(p: var TParser, rbp: int): PNode' has non-public forward declaration in cparse.nim(452,5) |
21:39:22 | ldlework | lots of warnings though |
21:39:34 | ldlework | I wonder if I can fix that |
21:40:17 | ldlework | teehee |
21:40:18 | gokr | ldlework: There is a nimrod.cfg in the c2nim project. |
21:40:30 | gokr | It adds the compiler path AFAICT. |
21:40:43 | ldlework | gokr: I guess nim doesn't automatically read it? |
21:40:51 | gokr | I did my "work" inside that dir. |
21:41:03 | gokr | Not sure, it might be looking for nim.cfg. |
21:41:06 | ldlework | ooo |
21:41:13 | gokr | But you need to stand there to use it at least. |
21:41:24 | ldlework | gokr: that totally worked |
21:41:26 | ldlework | renaming it to nim.cfg |
21:41:41 | gokr | Yup, for me too. |
21:41:42 | EXetoC | you need to be oriented towards north too |
21:42:00 | gokr | EXetoC: Only when the moon is full. |
21:42:32 | gokr | But yeah, the article has lots more details :) |
21:42:38 | * | superfunc quit (Quit: Connection closed for inactivity) |
21:43:43 | ldlework | gokr: what if there are a .. lot of headers? |
21:43:52 | gokr | Don't ask me :) |
21:46:16 | * | q66[lap] joined #nimrod |
21:47:10 | EXetoC | there's a tool for that in the distribution |
21:47:44 | EXetoC | but then I just merged all the headers with bash |
21:50:20 | * | tillzy joined #nimrod |
21:50:52 | tillzy | Hi! |
21:51:43 | tillzy | was feeling a bit artsy so i made a nim wallpaper ;) http://imgur.com/yY54Uh4 |
21:52:19 | tillzy | in 80's sci-fi style |
21:54:07 | gokr | tillzy: Using it now :) |
21:54:24 | * | Ven joined #nimrod |
21:54:34 | tillzy | yay :D |
21:54:35 | Araq | tillzy: nice. all that's missing now is an OS written in Nim |
21:54:51 | EXetoC | nice background. not a fan of the text though |
21:56:47 | tillzy | yeah, might be a bit to bold, thats why i desided to do a 80's style wallpaper :p |
21:57:11 | tillzy | here is the first draft i did for the text http://imgur.com/2xTbcUU |
21:59:23 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
21:59:38 | Mat3 | Araq: A Bare Metal fork would be nice |
21:59:52 | tillzy | Araq: challange accepted? ;) |
21:59:54 | EXetoC | maybe make it slightly less plain |
22:00:57 | tillzy | EXetoC: hmm, i'll give that a try |
22:01:50 | tillzy | i really like the haskell symbol |
22:02:16 | EXetoC | tillzy: made in paint yeah? |
22:02:39 | tillzy | EXetoC: inkscape |
22:03:00 | EXetoC | that's cheating |
22:03:17 | tillzy | EXetoC: lol yeah i guess :p |
22:03:53 | EXetoC | c(:)|< |
22:04:03 | tillzy | i wonder if its possible to install ms paint with wine |
22:05:38 | tillzy | maby dosbox win 1.0 :o |
22:07:08 | Mat3 | it is (someone even found a way to convert the versions from Windows < 3.1 to work with 3.1, which is supported by Wine) |
22:08:11 | onionhammer | woodgiraffe use mapIt |
22:08:30 | onionhammer | oh nm someone answered |
22:08:35 | onionhammer | was scrolled way up:) |
22:10:42 | tillzy | Mat3: nice! xD |
22:11:40 | * | Mat3 wonders why someone would use such software |
22:15:02 | flaviu | Araq: hasn't dom96 done one? |
22:15:15 | * | superfunc joined #nimrod |
22:16:22 | Mat3 | tillzy: http://toastytech.com/guis/misc.html |
22:17:02 | EXetoC | oooooh sliders and stuff |
22:17:46 | EXetoC | cus everything made after 1993 is a work of the devil? I dunno |
22:21:40 | Mat3 | EXetoC: http://toastytech.com/guis/win1x2x.html |
22:21:56 | Mat3 | ok, enough of this stuff |
22:23:18 | tillzy | woa looks like an early version of the firefox logo on one of thos screens, "TOASTY" |
22:28:00 | tillzy | my first computer: http://oldcomputers.net/atari520st.html |
22:42:48 | Mat3 | ah yes, quite common and succesful in europe (well, and GEM was well designed in my opinion, the TOS version only lacks some important interfaces like the GDOS) |
22:47:04 | Mat3 | ciao |
22:47:04 | * | EXetoC quit (Read error: Connection reset by peer) |
22:49:18 | gokr | tillzy: I rented an Atari 400 as my first. Well, borrowed a Spectrum 48 for a few weeks before that ;) |
22:49:49 | gokr | Almost bought a Jupiter Ace, but nah, C64... ahhh, what a little gem. |
22:50:18 | * | dom96_ joined #nimrod |
22:51:09 | * | enquora joined #nimrod |
22:53:16 | * | Trustable quit (Quit: Leaving) |
22:56:48 | tillzy | gokr: very nice, you must be old ;P |
22:57:05 | gokr | Hehe |
22:57:16 | tillzy | i don't even know what i am doing, done for tonight tho xD http://imgur.com/sLQBSYP |
22:57:43 | dom96_ | hello tillzy, welcome |
22:58:08 | Araq | ldlework: I fixed c2nim compilation for bigbreak |
22:58:49 | dom96_ | tillzy: did you make that? |
22:58:54 | * | enquora quit (Remote host closed the connection) |
22:59:18 | tillzy | hi dom96_, yes i did :) |
22:59:22 | * | enquora joined #nimrod |
22:59:51 | tillzy | and also... this http://i.imgur.com/yY54Uh4.jpg, and this http://imgur.com/2xTbcUU :D |
23:00:16 | * | Mat3 quit (Quit: Verlassend) |
23:00:53 | Araq | ping Varriount, Varriount|Mobile |
23:01:30 | Araq | this installer issue is getting embarrassing |
23:02:17 | dom96_ | tillzy: it's nice, but what's wrong with the current Nim logo? |
23:03:14 | tillzy | didn't know there was one :o probably nothing wrong with it, was just in an artsy mood :p "nim" is such anice combination of letters to work with |
23:04:03 | dom96_ | tillzy: Can you create an Aporia logo for me? :) |
23:04:29 | dom96_ | or a Jester or Nimble logo if that's more interesting to work on. |
23:04:57 | tillzy | sure i might be able to do that :D where is the current nim logo? |
23:06:05 | dom96_ | http://reign-studios.net/philipwitte/nim/home.htm |
23:07:55 | tillzy | nice! :D |
23:08:20 | Araq | gah |
23:08:20 | tillzy | i would probably remove the gradient in the text tho =/ |
23:08:33 | Araq | I need a virtual environment |
23:08:48 | Araq | what do you guys suggest? |
23:09:46 | tillzy | oculus rift! |
23:10:08 | tillzy | or maby a docker instance |
23:10:27 | Araq | er ... |
23:12:12 | tillzy | dom96_: that new site looks really good! |
23:16:13 | * | tillzy quit (Quit: tillzy) |
23:21:24 | * | BlaXpirit-UA quit (Quit: Quit Konversation) |
23:30:03 | * | Varriount|Mobile quit (Read error: Connection reset by peer) |
23:30:08 | * | Var|Mobile joined #nimrod |
23:33:31 | onionhammer | dom96_ kinda... gaudy :\ |
23:33:46 | onionhammer | was hoping for something more professional looking than 'cool looking' |
23:34:13 | wan | tillzy: I disagree. http://contrastrebellion.com/ ! |
23:34:21 | onionhammer | it looks good for what it is, but it looks like a game website |
23:35:13 | fowl | dom96_, i cant stand the white links |
23:35:56 | dom96_ | onionhammer: I must agree, but that's what Araq likes... |
23:36:09 | * | Jesin quit (Quit: Leaving) |
23:36:30 | dom96_ | fowl: Yep, I complained about that. |
23:36:51 | Araq | I dislike these black on white "professional" looking websites that act like color monitors have never been invented |
23:37:42 | fowl | the blue links here would be ok on the lighter backgrounds http://reign-studios.net/philipwitte/nim/forum.htm |
23:37:59 | Varriount | Araq: Pong |
23:38:14 | * | Jesin joined #nimrod |
23:39:14 | Varriount | gokr: Yes, I'm still looking for slave hosts. At the moment, I'm currently just trying to get the various build configurations set up. It'll probably be 1-2 more weeks until I actually deploy the new builder. |
23:42:39 | gokr | Varriount: Ok, I will fire up our box tomorrow anyway. So just let me know when you want me to do something. It will run Ubuntu 14.04 LTS, 64 bit of course. |
23:42:58 | gokr | But I can also set up some vagrant inside it or similar. |
23:45:45 | gokr | Varriount: Hmmm, or perhaps Docker: https://vilimpoc.org/blog/2013/09/13/setting-up-docker-and-buildbot/ |
23:47:14 | * | Joe_knock joined #nimrod |
23:50:36 | Araq | Varriount: the guy is right |
23:50:42 | onionhammer | Araq it doesnt have to be black/white to look professional |
23:50:45 | Araq | no docs link with the new installers |
23:50:47 | onionhammer | it can be very colorful |
23:51:14 | gokr | Araq: Vagrant is neat for virtual envs, but uses vbox. Docker is more lightweight. |
23:51:23 | * | Joe_knock quit (Ping timeout: 240 seconds) |
23:51:33 | gokr | (if I understood what you asked about) |
23:51:35 | * | ldlework works at Docker, feel free to abuse me for support. |
23:51:48 | gokr | ldlework: Right, I forgot :) |
23:51:50 | ldlework | (I'm obviously already abusing you guys!) |
23:51:54 | ldlework | :) |
23:52:08 | gokr | We are moving to use docker, it just happens to be on the todo list a bit down. |
23:52:30 | gokr | gnite |
23:53:18 | ldlework | o/ |
23:54:06 | dom96_ | ldlework: Cool. That must mean you are really into Go then? |
23:54:18 | ldlework | dom96_: I haaaaaaaaaate Go. |
23:56:11 | dom96_ | ldlework: Are you telling everyone about Nim at work? :) |
23:56:28 | ldlework | dom96_: yes, I am sort of the blacksheep at Docker Inc |
23:56:39 | ldlework | Since any discussion of Go results in me bringing up Nim and Rust |
23:57:03 | Araq | he he he |
23:57:21 | Varriount | ldlework: Docker just got support for Windows, right? |
23:58:08 | ldlework | Varriount: well we've had boot2docker for a while, but native Windows support wont come for a while as containers don't yet exist in Windows (in the form we require) |
23:58:32 | ldlework | Varriount: we just Microsoft though as in we've partnered with them to bring Docker first-class to Windows |
23:59:58 | Varriount | Araq: I figured out the reason the documentation shortcut isn't working, however I've no idea why Aporia is freaking out. |