<< 01-04-2014 >>

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:23IrvMGHello :)
01:54:01IrvMGParse Table to JSON (string one line)?
02:24:25VarriountIrvMG: You still there?
02:25:15*Demos joined #nimrod
02:25:16IrvMGHey!
02:26:44VarriountIrvMG: If you mean, how to serielize a nimrod table to JSON, you can try using marshal.store
02:28:29IrvMGmarshal.store?
02:28:59VarriountYeah, the 'store' procedure located in the marshal module of the standard library.
02:36:11IrvMGType PStringTable is my table. marshal.store is PStream.
02:36:44IrvMGOne example, please
02:39:39VarriountIrvMG: What table are you using?
02:39:47VarriountOh, nevermind
02:41:46IrvMGhttps://github.com/Araq/Nimrod/blob/devel/lib/pure/strtabs.nim#L32
02:47:14VarriountIrvMG: https://gist.github.com/Varriount/9906744
02:50:23VarriountIf 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:48IrvMGOk, 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:10Skrylarokay, 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:00Skrylarany idea if theres a well known way to shove nimrod highlighting in to Pandoc?
05:10:17Skrylari know there's an out with asciidoctor if you set it to use highlightjs
05:10:39VarriountI have no idea about the workings of pandoc.
05:35:36*nande quit (Remote host closed the connection)
05:39:50SkrylarVarriount: it uses a built-in haskell thingy :/
05:47:53Skrylarhrm.. i should probaly use asciidoc then
05:48:07Skrylarasciidoc 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:17Araqping 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:06Araqping zahary_
13:18:34*lyro joined #nimrod
13:19:47Araqhi lyro welcome
13:50:27zahary_hi Araq
13:51:11Araqzahary_: we need to talk about nullary templates. I made them invokable without () but this cannot really work with overloading.
13:51:47zahary_higher order templates can exist just like procs
13:51:56zahary_I say we drop the inconsistency
13:52:23Araqbah I had lots of good use cases for nullary templates that made me drop the ()
13:52:25*OrionPK joined #nimrod
13:53:06zahary_hrm, actually I didn't consider they are already working that way
13:53:26zahary_it's true that I'm using template foo = some.var
13:53:42Araqyeah
13:53:45zahary_so what's the problem with overloading?
13:53:57Araqalso sometimes you can't use 'const' and then a nullary template is handy
13:54:35AraqI'm not sure but nimbuild stopped compiling and adding () made it compile again
13:55:19zahary_adding () everywhere or on some specific place?
13:56:19Araqsome template within a generic iirc
13:56:45zahary_this is probably the early pass striking again
13:57:02Araqearly pass?
13:57:14Araqyou mean my lookup pass?
13:57:21zahary_semtempl, the one that turns idents into sym-choices
14:00:50AraqI can't see why
14:01:04Araqsymbol lookup is not concerned with foo vs foo() at all
14:01:11Araqoverloading resolution is
14:01:43Araqbut 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:23skyfexAraq: pong
16:16:36*XAMPP joined #nimrod
16:36:54*ics quit (Ping timeout: 268 seconds)
16:45:01*ics joined #nimrod
17:02:13renesacin the end of the main nimrod page there is a "Roadmap to 1.0"
17:02:26renesacmaybe 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:26Demostext rendering: do we have it?
17:08:39Demosthat 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:07EXetoCDemos: 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:27DemosI will not be using GTK though, I may just use cairo's toy text API
17:31:16Skrylarmeep!
17:31:24SkrylarDemos: oh no, has the horrors of GUI returned?
17:32:42Demoslittle 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:59Demosthat, 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:38Demosloving the do notation as well. I found that my GUI rendering functions did not actually need to depend on my entity system
17:37:43Skrylarthey often don't
17:38:23Skrylarthough 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:13Demosto 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:46Skrylarbut position is a property and thus a property editor :)
17:41:12Skrylartheres the.. "antweakbar" lib or something like that as well
17:41:33Demosyeah, but it will be pretty much all static and hardcoded to just do positions
17:41:42Skrylartiny c/c++ library that was built mostly for tweaker guis
17:41:58Demosoh that could be good
17:42:27DemosI want to be able to make new entities as well, like an "asset bin"
17:42:30NimBotAraq/Nimrod devel e288cf7 Araq [+0 ±2 -0]: fixes #880
17:42:30NimBotAraq/Nimrod devel 9118be2 Araq [+0 ±1 -0]: tsymchoicefield compiles
17:42:30NimBotAraq/Nimrod devel 953e4c1 Araq [+0 ±2 -0]: fixed another vm bug
17:42:30NimBotAraq/Nimrod devel 1dbb7e8 Araq [+1 ±2 -0]: Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
17:42:37EXetoCDemos: It's not tied to GTK is it?
17:42:46Demoswhat? my GUI stuff
17:43:09EXetoCpango.nim. I don't know if it belongs there
17:44:14Demosit looks like pango.nim is not all of pango
17:44:27AraqEXetoC: I suspect your mongo bug is rather urgent?
17:44:46Demosand 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:29reactormonkAraq, https://github.com/Araq/Nimrod/pull/901 breaks what?
17:45:39Demoshey Araq: why are we limited to 30 quitProcs?
17:46:04AraqDemos: because we simply wrap ansi C's way of doing it
17:46:31EXetoCAraq: well, almost no one is using the mongo wrapper
17:46:54Araqwell, you got a bug report
17:47:09Araqany idea what the problem is?
17:47:26AraqI haven't seen a codegen error like this before
17:47:30EXetoCsomeone asked me to update the wrapper, but I couldn't
17:47:51EXetoCno idea. it has been like that for about 2 weeks
17:47:53Demosanyway 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:59Araqreactormonk: 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:13NimBotAraq/Nimrod devel 6626e6e Araq [+0 ±1 -0]: make tstaticprintseq green
18:41:54*nolan_d joined #nimrod
18:47:52*gXen quit ()
18:51:05reactormonkAraq, kk
18:55:21Araqreactormonk: btw I won't pull your changes to float $ before 0.9.4 is out
19:00:21reactormonkAraq, 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:17foodooAre 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:37foodooAnd did someone already start an effort to create a gtk3 module?
19:39:32*nande quit (Remote host closed the connection)
19:45:38Varriountfoodoo: It's generally thought that the documentation itself should contain the code examples.
19:47:05VarriountAnyway, anyone know what "Error: Usage of 'fooProc' is a user-defined error." Mean?
19:48:33foodooVarriount: 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:20foodooAnd I guess by "documentation itself" you mean documentation that is part of source code comments ##
19:50:51renesacfoodoo, you can do pull requests, you know
19:52:27renesacbut 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:12foodoo(I have no idea what the error means)
19:56:04reactormonkVarriount, code plz
19:56:10Varriountfoodoo: Figured it out. I was doing/using the error pragma wrong
19:56:28Varriount(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:34Skrylarhttps://github.com/Skrylar/Skylight/blob/master/skylight/dynequeue.nim monstrocity uploaded
20:15:12AraqSkrylar: nice, but the F prefix is already taken for effects
20:15:43Araqalso it's 'items' and not 'Items' according to our style guide ...
20:16:28Skrylari haven't seen any F-things in the stdlib yet
20:16:57AraqFIO, FReadIO, FTime ...
20:17:11Araqthough we'll get rid of the F prefix
20:17:55Skrylari 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:05Skrylarwhich 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:04Araqafaict you use cast and so are fucking memory safety
20:23:26Skrylarits 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:52SkrylarChanging 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:06VarriountAraq: I'm halfway done with the 'asFunc' pragma
20:25:57Skrylarthe 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:22Skrylari 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:04Mat3hi all
20:29:27Skrylarhi Mat3
20:29:43AraqVarriount: :O
20:29:44Mat3hi Skrylar
20:30:00SkrylarAraq: 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:28AraqI think so, Skrylar
20:30:52Araqmemory safety is almost always worth it
20:31:12Mat3... I would rather prefer a version which would get rid of a call flow
20:32:31*BitPuffin joined #nimrod
20:32:43fowlSkrylar, wheres the demo
20:37:03Skrylarfowl: the demo code?
20:38:08Skrylarfowl: https://github.com/Skrylar/Skylight/blob/0cdf2094fc48bd415d8be024165878ee37d8229a/docs/dynequeues.adoc
20:38:52*Gr33n3gg quit (Remote host closed the connection)
20:39:11SkrylarMat3: 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:30Skrylarone has a call flow and is zero-copying, the other has no call flow and involves copying
20:40:03Skrylarit *might* be possible to jank around the issue by using closures
20:44:55Mat3well, 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:21Araqthey can do that since like forever
20:45:48Araqhowever you can't access outer vars that are more then 1 level away
20:46:09Araqthis is just a limitation of the lambda lifting implementation
20:49:19Mat3ok, that's usable
20:50:42Mat3(with some restrictions)
21:39:43Skrylaralright; i have to afk for some things, but i'll upload the secondary version of the event system later
21:40:02Skrylarthen 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:42Mat3ciao
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:07DemosI 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:20Demoshas anyone else noticed this?
22:37:20Demosalthough 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:46Skrylari haven't tried to use static[t]'s
22:49:23dom96I still consider the new generics stuff to be experimental.
22:49:40dom96I wouldn't be surprised if it was messed up.
22:52:43SkrylarAraq: okay, map version is done.
22:53:29Skrylarcasts 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:10Demoswow. 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:18DemosSkrylar: 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:54VarriountHow do I raise an error in a macro?
23:35:06Skrylara 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:58DemosVarriount: there is also the {.fatal: "".} pragma I think
23:47:20VarriountHm. Was some sort of change made to macro system recently, to prevent a pragma macro from generating multiple procedures?
23:48:10VarriountOh, nevermind.
23:50:39VarriountAraq: Ping
23:52:55VarriountAraq: Macros are magical - https://gist.github.com/Varriount/9925367
23:55:13VarriountNow all I need to do is figure out how to print out nice compiler stack traces for the macro.