00:03:08 | * | askatasuna joined #nimrod |
00:12:16 | * | askatasuna quit (Quit: WeeChat 0.4.3) |
00:43:26 | * | xenagi quit (Quit: Leaving) |
00:44:42 | * | q66 quit (Quit: Leaving) |
00:48:36 | * | xenagi joined #nimrod |
01:00:14 | * | nande joined #nimrod |
01:11:32 | * | brson quit (Ping timeout: 255 seconds) |
01:12:32 | * | xenagi quit (Ping timeout: 268 seconds) |
01:45:09 | * | xenagi joined #nimrod |
01:53:09 | * | IrvMG joined #nimrod |
01:53:23 | IrvMG | Hello :) |
01:54:01 | IrvMG | Parse Table to JSON (string one line)? |
02:24:25 | Varriount | IrvMG: You still there? |
02:25:15 | * | Demos joined #nimrod |
02:25:16 | IrvMG | Hey! |
02:26:44 | Varriount | IrvMG: If you mean, how to serielize a nimrod table to JSON, you can try using marshal.store |
02:28:29 | IrvMG | marshal.store? |
02:28:59 | Varriount | Yeah, the 'store' procedure located in the marshal module of the standard library. |
02:36:11 | IrvMG | Type PStringTable is my table. marshal.store is PStream. |
02:36:44 | IrvMG | One example, please |
02:39:39 | Varriount | IrvMG: What table are you using? |
02:39:47 | Varriount | Oh, nevermind |
02:41:46 | IrvMG | https://github.com/Araq/Nimrod/blob/devel/lib/pure/strtabs.nim#L32 |
02:47:14 | Varriount | IrvMG: https://gist.github.com/Varriount/9906744 |
02:50:23 | Varriount | If you want something more precise, then you can probably use the JSON module to write a custom serialization procedure. (The marshal module is meant for serializing arbitrary data structures, much like python's 'pickle' module) |
02:53:48 | IrvMG | Ok, thanks |
03:40:50 | * | xenagi quit (Quit: Leaving) |
03:50:01 | * | BitPuffin joined #nimrod |
04:00:39 | * | BitPuffin quit (Ping timeout: 255 seconds) |
04:13:10 | Skrylar | okay, i think i can call this event stuff done for the time being |
04:39:35 | * | IrvMG left #nimrod (#nimrod) |
04:44:18 | * | BitPuffin joined #nimrod |
04:49:25 | * | BitPuffin quit (Ping timeout: 246 seconds) |
04:52:43 | * | BitPuffin joined #nimrod |
05:00:32 | * | BitPuffin quit (Read error: Operation timed out) |
05:10:00 | Skrylar | any idea if theres a well known way to shove nimrod highlighting in to Pandoc? |
05:10:17 | Skrylar | i know there's an out with asciidoctor if you set it to use highlightjs |
05:10:39 | Varriount | I have no idea about the workings of pandoc. |
05:35:36 | * | nande quit (Remote host closed the connection) |
05:39:50 | Skrylar | Varriount: it uses a built-in haskell thingy :/ |
05:47:53 | Skrylar | hrm.. i should probaly use asciidoc then |
05:48:07 | Skrylar | asciidoc isn't too far removed from reST anyway |
06:05:22 | * | zxcv joined #nimrod |
06:07:27 | * | zxcv quit (Client Quit) |
06:30:30 | * | CarpNet quit (Ping timeout: 255 seconds) |
06:30:54 | * | CarpNet joined #nimrod |
06:41:08 | * | psquid quit (Ping timeout: 240 seconds) |
06:41:56 | * | psquid joined #nimrod |
06:51:11 | * | DAddYE joined #nimrod |
07:14:25 | * | Demos quit (Remote host closed the connection) |
07:46:17 | Araq | ping skyfex |
08:15:19 | * | DAddYE quit (Remote host closed the connection) |
08:31:23 | * | olahol quit (Quit: leaving) |
08:52:42 | * | BitPuffin joined #nimrod |
08:53:15 | * | OrionPK quit (Ping timeout: 252 seconds) |
09:14:29 | * | BitPuffin quit (Quit: WeeChat 0.4.3) |
09:19:33 | * | faassen joined #nimrod |
10:52:36 | * | Skrylar quit (Ping timeout: 252 seconds) |
12:36:20 | * | zahary_ joined #nimrod |
12:38:09 | * | BitPuffin joined #nimrod |
13:05:06 | Araq | ping zahary_ |
13:18:34 | * | lyro joined #nimrod |
13:19:47 | Araq | hi lyro welcome |
13:50:27 | zahary_ | hi Araq |
13:51:11 | Araq | zahary_: we need to talk about nullary templates. I made them invokable without () but this cannot really work with overloading. |
13:51:47 | zahary_ | higher order templates can exist just like procs |
13:51:56 | zahary_ | I say we drop the inconsistency |
13:52:23 | Araq | bah I had lots of good use cases for nullary templates that made me drop the () |
13:52:25 | * | OrionPK joined #nimrod |
13:53:06 | zahary_ | hrm, actually I didn't consider they are already working that way |
13:53:26 | zahary_ | it's true that I'm using template foo = some.var |
13:53:42 | Araq | yeah |
13:53:45 | zahary_ | so what's the problem with overloading? |
13:53:57 | Araq | also sometimes you can't use 'const' and then a nullary template is handy |
13:54:35 | Araq | I'm not sure but nimbuild stopped compiling and adding () made it compile again |
13:55:19 | zahary_ | adding () everywhere or on some specific place? |
13:56:19 | Araq | some template within a generic iirc |
13:56:45 | zahary_ | this is probably the early pass striking again |
13:57:02 | Araq | early pass? |
13:57:14 | Araq | you mean my lookup pass? |
13:57:21 | zahary_ | semtempl, the one that turns idents into sym-choices |
14:00:50 | Araq | I can't see why |
14:01:04 | Araq | symbol lookup is not concerned with foo vs foo() at all |
14:01:11 | Araq | overloading resolution is |
14:01:43 | Araq | but I need to go, will dig up nimbuild's example |
14:22:33 | * | darkf quit (Quit: Leaving) |
14:41:26 | * | nande joined #nimrod |
15:10:55 | * | [1]Endy joined #nimrod |
15:13:24 | * | [1]Endy quit (Client Quit) |
15:23:57 | * | faassen quit (Quit: Leaving.) |
15:33:27 | * | [1]Endy joined #nimrod |
15:43:47 | * | askatasuna joined #nimrod |
15:55:41 | * | Mordecai joined #nimrod |
15:56:01 | * | Mordecai is now known as Guest56680 |
15:58:52 | * | psquid quit (Ping timeout: 265 seconds) |
16:04:23 | skyfex | Araq: pong |
16:16:36 | * | XAMPP joined #nimrod |
16:36:54 | * | ics quit (Ping timeout: 268 seconds) |
16:45:01 | * | ics joined #nimrod |
17:02:13 | renesac | in the end of the main nimrod page there is a "Roadmap to 1.0" |
17:02:26 | renesac | maybe a nice place to put a link to the "feature matrix" |
17:02:46 | * | brson joined #nimrod |
17:08:13 | * | Demos joined #nimrod |
17:08:26 | Demos | text rendering: do we have it? |
17:08:39 | Demos | that is to say does anyone have a binding for something like pango floating around |
17:15:08 | * | q66 joined #nimrod |
17:15:08 | * | q66 quit (Changing host) |
17:15:08 | * | q66 joined #nimrod |
17:19:35 | * | BitPuffin quit (Ping timeout: 265 seconds) |
17:19:43 | * | ics quit (Ping timeout: 264 seconds) |
17:20:42 | * | ics joined #nimrod |
17:21:07 | EXetoC | Demos: I found this https://github.com/nimrod-code/gtk2/blob/master/src/pango.nim |
17:27:29 | * | BitPuffin joined #nimrod |
17:28:24 | * | Skrylar joined #nimrod |
17:28:27 | Demos | I will not be using GTK though, I may just use cairo's toy text API |
17:31:16 | Skrylar | meep! |
17:31:24 | Skrylar | Demos: oh no, has the horrors of GUI returned? |
17:32:42 | Demos | little bit, I just want a quick hackish way to have a basic editor and display info on stuff. Right now I copy cairo's buffer to a gl texture and render to a fullscreen quad, I may also add the ability to render to a camera-faceing (billboard) quad that follows a given object around |
17:34:59 | Demos | that, combined with click-drag style camera control and picking (via unprojection) should make for something that kinda resembles an editor if you squint hard enough |
17:35:38 | Demos | loving the do notation as well. I found that my GUI rendering functions did not actually need to depend on my entity system |
17:37:43 | Skrylar | they often don't |
17:38:23 | Skrylar | though it depends on whether you want a property editor to be able to introspect properties and directly assign them, or if you want it to toss changes through an event queue |
17:40:13 | Demos | to be honest I am fine without a prop editor, I do want at least positioning of stuff and being able to attach and detach componets from entities while the app is running |
17:40:25 | * | DAddYE joined #nimrod |
17:40:46 | Skrylar | but position is a property and thus a property editor :) |
17:41:12 | Skrylar | theres the.. "antweakbar" lib or something like that as well |
17:41:33 | Demos | yeah, but it will be pretty much all static and hardcoded to just do positions |
17:41:42 | Skrylar | tiny c/c++ library that was built mostly for tweaker guis |
17:41:58 | Demos | oh that could be good |
17:42:27 | Demos | I want to be able to make new entities as well, like an "asset bin" |
17:42:30 | NimBot | Araq/Nimrod devel e288cf7 Araq [+0 ±2 -0]: fixes #880 |
17:42:30 | NimBot | Araq/Nimrod devel 9118be2 Araq [+0 ±1 -0]: tsymchoicefield compiles |
17:42:30 | NimBot | Araq/Nimrod devel 953e4c1 Araq [+0 ±2 -0]: fixed another vm bug |
17:42:30 | NimBot | Araq/Nimrod devel 1dbb7e8 Araq [+1 ±2 -0]: Merge branch 'devel' of https://github.com/Araq/Nimrod into devel |
17:42:37 | EXetoC | Demos: It's not tied to GTK is it? |
17:42:46 | Demos | what? my GUI stuff |
17:43:09 | EXetoC | pango.nim. I don't know if it belongs there |
17:44:14 | Demos | it looks like pango.nim is not all of pango |
17:44:27 | Araq | EXetoC: I suspect your mongo bug is rather urgent? |
17:44:46 | Demos | and if we are going to split it out than we should probably split GObject out as well... and I don't think anyone wants to descend that particular rabbit hole rihgt now |
17:45:29 | reactormonk | Araq, https://github.com/Araq/Nimrod/pull/901 breaks what? |
17:45:39 | Demos | hey Araq: why are we limited to 30 quitProcs? |
17:46:04 | Araq | Demos: because we simply wrap ansi C's way of doing it |
17:46:31 | EXetoC | Araq: well, almost no one is using the mongo wrapper |
17:46:54 | Araq | well, you got a bug report |
17:47:09 | Araq | any idea what the problem is? |
17:47:26 | Araq | I haven't seen a codegen error like this before |
17:47:30 | EXetoC | someone asked me to update the wrapper, but I couldn't |
17:47:51 | EXetoC | no idea. it has been like that for about 2 weeks |
17:47:53 | Demos | anyway I gotta go to class. Good to see #880 get fixed! |
17:48:09 | * | Demos quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
17:50:59 | Araq | reactormonk: I don't know, will pull it later and see |
17:52:08 | * | brson quit (Ping timeout: 268 seconds) |
17:53:42 | * | brson joined #nimrod |
18:09:26 | * | DAddYE_ joined #nimrod |
18:12:41 | * | DAddYE quit (Ping timeout: 245 seconds) |
18:19:21 | * | gXen joined #nimrod |
18:36:36 | * | nolan_d left #nimrod (#nimrod) |
18:40:13 | NimBot | Araq/Nimrod devel 6626e6e Araq [+0 ±1 -0]: make tstaticprintseq green |
18:41:54 | * | nolan_d joined #nimrod |
18:47:52 | * | gXen quit () |
18:51:05 | reactormonk | Araq, kk |
18:55:21 | Araq | reactormonk: btw I won't pull your changes to float $ before 0.9.4 is out |
19:00:21 | reactormonk | Araq, so be it |
19:04:39 | * | DAddYE_ quit (Remote host closed the connection) |
19:08:33 | * | DAddYE_ joined #nimrod |
19:15:35 | * | [1]Endy quit (Ping timeout: 240 seconds) |
19:21:25 | * | foodoo joined #nimrod |
19:24:55 | * | Trimsty joined #nimrod |
19:25:26 | * | Trimsty quit (Client Quit) |
19:34:17 | foodoo | Are there any plans to have a wiki that should contain code examples for the different nimrod modules? (I'm currently reading https://github.com/Araq/Nimrod/wiki/GSoC-2014-Ideas#enhance-and-expand-standard-library-documentation) |
19:34:37 | foodoo | And did someone already start an effort to create a gtk3 module? |
19:39:32 | * | nande quit (Remote host closed the connection) |
19:45:38 | Varriount | foodoo: It's generally thought that the documentation itself should contain the code examples. |
19:47:05 | Varriount | Anyway, anyone know what "Error: Usage of 'fooProc' is a user-defined error." Mean? |
19:48:33 | foodoo | Varriount: That would be the ideal case. But that would also mean that only people who go through the hassle to get git access or contact someone with git access will contribute code examples. |
19:49:20 | foodoo | And I guess by "documentation itself" you mean documentation that is part of source code comments ## |
19:50:51 | renesac | foodoo, you can do pull requests, you know |
19:52:27 | renesac | but yeah, not as straightforward as editing a wiki, but at least it has an higher probability of staying synchronized with what the code does. |
19:54:12 | foodoo | (I have no idea what the error means) |
19:56:04 | reactormonk | Varriount, code plz |
19:56:10 | Varriount | foodoo: Figured it out. I was doing/using the error pragma wrong |
19:56:28 | Varriount | (Sorry for the bad grammer, I can't see the text box.) |
19:59:08 | * | askatasuna quit (Ping timeout: 240 seconds) |
20:04:15 | * | askatasuna joined #nimrod |
20:13:34 | Skrylar | https://github.com/Skrylar/Skylight/blob/master/skylight/dynequeue.nim monstrocity uploaded |
20:15:12 | Araq | Skrylar: nice, but the F prefix is already taken for effects |
20:15:43 | Araq | also it's 'items' and not 'Items' according to our style guide ... |
20:16:28 | Skrylar | i haven't seen any F-things in the stdlib yet |
20:16:57 | Araq | FIO, FReadIO, FTime ... |
20:17:11 | Araq | though we'll get rid of the F prefix |
20:17:55 | Skrylar | i have an adoc for that module on my drive here that comments about the GC weirdness in that module though; it technically makes weak references because of the bitcopying |
20:18:05 | Skrylar | which is hardly the worst thing in the world, but still |
20:21:29 | * | Matthias247 joined #nimrod |
20:21:38 | * | BitPuffin quit (Read error: Operation timed out) |
20:22:04 | Araq | afaict you use cast and so are fucking memory safety |
20:23:26 | Skrylar | its supposed to have a compile/debug time check that the struct fits inside, which is meant to emulate a union (without having to tie everything in) though yeah.. It's a little.. derp. |
20:23:52 | Skrylar | Changing it from a queue to a map (processes instantly instead of when requested) most of that goes away, but then its not a queue |
20:24:06 | Varriount | Araq: I'm halfway done with the 'asFunc' pragma |
20:25:57 | Skrylar | the tradeoff is that the queue allows the events/other queues to do stuff between signal and processing, but then *that* weirdness is in. or I can toss out the queue, make it handle events through the table the instant they are entered, which eliminates the box/unbox step |
20:26:22 | Skrylar | i almost went with that model; not sure which of the two models people are most comfortable with |
20:27:27 | * | foodoo quit (Quit: sleep is required) |
20:29:01 | * | Mat3 joined #nimrod |
20:29:04 | Mat3 | hi all |
20:29:27 | Skrylar | hi Mat3 |
20:29:43 | Araq | Varriount: :O |
20:29:44 | Mat3 | hi Skrylar |
20:30:00 | Skrylar | Araq: would you rather prefer the version that doesn't do questionable memory things but doesn't give perfect control of the call flow? :P |
20:30:28 | Araq | I think so, Skrylar |
20:30:52 | Araq | memory safety is almost always worth it |
20:31:12 | Mat3 | ... I would rather prefer a version which would get rid of a call flow |
20:32:31 | * | BitPuffin joined #nimrod |
20:32:43 | fowl | Skrylar, wheres the demo |
20:37:03 | Skrylar | fowl: the demo code? |
20:38:08 | Skrylar | fowl: https://github.com/Skrylar/Skylight/blob/0cdf2094fc48bd415d8be024165878ee37d8229a/docs/dynequeues.adoc |
20:38:52 | * | Gr33n3gg quit (Remote host closed the connection) |
20:39:11 | Skrylar | Mat3: its an either/or sadly. i can certainly keep both modules in skylights, but i have to pick one for the gui to use |
20:39:30 | Skrylar | one has a call flow and is zero-copying, the other has no call flow and involves copying |
20:40:03 | Skrylar | it *might* be possible to jank around the issue by using closures |
20:44:55 | Mat3 | well, I think closures in Nimrod are still somewhat to limited in usage, specially because there can not access outer variables freely (or is this fixed now?) |
20:45:21 | Araq | they can do that since like forever |
20:45:48 | Araq | however you can't access outer vars that are more then 1 level away |
20:46:09 | Araq | this is just a limitation of the lambda lifting implementation |
20:49:19 | Mat3 | ok, that's usable |
20:50:42 | Mat3 | (with some restrictions) |
21:39:43 | Skrylar | alright; i have to afk for some things, but i'll upload the secondary version of the event system later |
21:40:02 | Skrylar | then i probably ought to get back in to having fonts drawn for the gui |
21:49:19 | * | zahary__ joined #nimrod |
21:54:43 | * | zahary_ quit (Ping timeout: 255 seconds) |
22:06:58 | * | silven quit (Read error: Operation timed out) |
22:07:42 | Mat3 | ciao |
22:07:49 | * | Mat3 quit (Quit: Verlassend) |
22:08:42 | * | silven joined #nimrod |
22:14:13 | * | BitPuffin quit (Ping timeout: 268 seconds) |
22:28:33 | * | Matthias247 quit (Quit: Matthias247) |
22:29:58 | * | Demos joined #nimrod |
22:31:07 | Demos | I am 90% positive that overload resolution is totally screwed up. Maybe it is only if you have static generic params, but I was getting an ambiguity between system's generic `$` and my user defined one |
22:31:20 | Demos | has anyone else noticed this? |
22:37:20 | Demos | although come to think of it I don't actually know how overloaded procs are selected wrt static[T] type args |
22:39:16 | * | skyfex quit (Quit: Computer has gone to sleep.) |
22:40:46 | Skrylar | i haven't tried to use static[t]'s |
22:49:23 | dom96 | I still consider the new generics stuff to be experimental. |
22:49:40 | dom96 | I wouldn't be surprised if it was messed up. |
22:52:43 | Skrylar | Araq: okay, map version is done. |
22:53:29 | Skrylar | casts a var to a pointer for the purpose of passing generics through, but the UID matches ensure that the type information remains safe for that purpose, so that version doesn't have memory-unsafety |
23:04:10 | Demos | wow. TIL: never name a module the same as a module it is importing, even if you disambiguate by path... should have been obvious |
23:06:18 | Demos | Skrylar: I think addr thing will give to a pointer from a var |
23:12:37 | * | Demos quit (Quit: leaving) |
23:14:04 | * | xenagi joined #nimrod |
23:29:06 | * | darkf joined #nimrod |
23:34:54 | Varriount | How do I raise an error in a macro? |
23:35:06 | Skrylar | a compile-time error? use 'error' from macros.nim |
23:36:01 | * | renesac quit (Ping timeout: 245 seconds) |
23:39:19 | * | Demos joined #nimrod |
23:39:58 | Demos | Varriount: there is also the {.fatal: "".} pragma I think |
23:47:20 | Varriount | Hm. Was some sort of change made to macro system recently, to prevent a pragma macro from generating multiple procedures? |
23:48:10 | Varriount | Oh, nevermind. |
23:50:39 | Varriount | Araq: Ping |
23:52:55 | Varriount | Araq: Macros are magical - https://gist.github.com/Varriount/9925367 |
23:55:13 | Varriount | Now all I need to do is figure out how to print out nice compiler stack traces for the macro. |