<< 12-08-2014 >>

00:25:04*bjz_ quit (Ping timeout: 240 seconds)
00:27:11*superfunc quit (Ping timeout: 272 seconds)
00:29:43VarriountAraq: Oh fine. But I can't promise efficiency.
00:41:09*brson quit (Quit: leaving)
00:44:37VarriountAraq: Should the filemon module be part of the stdlib, or a babel package?
00:57:46*Joe_knock quit (Quit: Leaving)
01:07:37*lyro_ quit (Remote host closed the connection)
01:12:21*ARCADIVS quit (Quit: WeeChat 0.4.3)
01:34:19*EXetoC quit (Quit: WeeChat 0.4.3)
01:40:49*q66 quit (Quit: Leaving)
01:49:08*xenagi joined #nimrod
02:22:48*Demos joined #nimrod
02:23:54*Demos__ quit (Ping timeout: 250 seconds)
02:30:25*willwillson quit (Ping timeout: 255 seconds)
02:31:04OrionPKeverything should be babel!
02:31:33VarriountOrionPK: It's just that, filemonitoring is a bit specialized for a standard library.
02:31:49VarriountThen again, it's so hard to implement across platforms. *glares at windows*
02:37:30OrionPKi think moving things out of the stdlib and into the package manager is the general trend for everything
02:38:42VarriountOrionPK: I don't neccesarily agree with the idea for all things.
02:39:37*Jesin quit (Quit: Leaving)
02:42:17*saml_ quit (Remote host closed the connection)
02:42:20*Jesin joined #nimrod
03:00:10*adoniscik joined #nimrod
03:01:48OrionPKme either
03:02:06OrionPKnecessarily
03:02:37OrionPKbut the stdlib is weakish
03:02:51OrionPKand buggy
03:03:42OrionPKthe package manager allows things to be more split up
03:03:54OrionPKso authors can update packages more readily
03:10:23*flaviu quit (Ping timeout: 240 seconds)
03:15:23*flaviu joined #nimrod
03:49:32*flaviu quit (Ping timeout: 240 seconds)
04:06:48Skrylarhrm
04:06:55Skrylari didn't know that importc could be pushed, let alone with wildcards
04:19:40*xenagi quit (Quit: Leaving)
04:44:09Skrylarwat. emacs has a 'glasses-mode' which makes it render underscores in the middle of camelCase words
04:50:56*ome joined #nimrod
05:41:06*lyro_ joined #nimrod
05:44:27*gkoller joined #nimrod
05:55:57*gkoller quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
05:58:03*lyro_ quit (Ping timeout: 240 seconds)
06:03:05*kshlm joined #nimrod
06:05:25*lyro_ joined #nimrod
06:22:00*gkoller joined #nimrod
06:34:20*gkoller quit (Quit: Textual IRC Client: www.textualapp.com)
06:34:46*gkoller joined #nimrod
06:48:54NimBotAraq/Nimrod devel 05dbba0 Araq [+0 ±1 -0]: fixes #1431
06:48:54NimBotAraq/Nimrod devel b8ce3a4 Araq [+1 ±7 -0]: fixes 'gcsafe'
06:48:54NimBotAraq/Nimrod devel d1300de Araq [+0 ±2 -0]: Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
06:52:36*endou__ joined #nimrod
07:08:18*lyro_ quit (Ping timeout: 246 seconds)
07:08:37*gkoller quit (Quit: Textual IRC Client: www.textualapp.com)
07:08:51*gkoller joined #nimrod
07:09:11*gs joined #nimrod
07:10:51*lyro_ joined #nimrod
07:15:04*kunev joined #nimrod
07:26:45*gkoller quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
07:33:52gsCan someone explain to me why AST nodes (PNimrodNode) are copied (or somehow lose their identity) when they are in an array/seq? http://pastebin.com/YrvXXTd9
07:48:07Araqgs: well, it's (yet another) bug. However, the reference semantics of nodes is really hard to model in the VM
07:53:22gsAraq: So there's no trick to work around that?
07:54:48Araqtry a seq instead of an array? I dunno, I'm quite sure there is a workaround
08:09:22*lyro__ joined #nimrod
08:09:28*lyro__ quit (Client Quit)
08:09:38*lyro quit (Remote host closed the connection)
08:09:49*lyro joined #nimrod
08:12:50NimBotAraq/Nimrod devel 4d863eb Araq [+0 ±7 -0]: fix failed tests due to gcsafe
08:14:18*adoniscik quit (Ping timeout: 260 seconds)
08:15:55*lyro quit (Quit: WeeChat 0.4.3)
08:16:25*lyro joined #nimrod
08:25:03*io2 joined #nimrod
08:26:00*Demos quit (Ping timeout: 272 seconds)
08:27:55*darkf_ joined #nimrod
08:28:44*lyro quit (Quit: WeeChat 0.4.3)
08:29:00*darkf quit (Ping timeout: 260 seconds)
08:33:01*lyro joined #nimrod
08:35:49*lyro_ quit (Quit: IRC for Sailfish 0.8)
08:41:07*zahary quit (Quit: Leaving.)
08:41:33*darkf_ is now known as darkf
08:54:32gsAraq: Yeah, that didn't work either. I just got rid of some helpers and did it in a single macro... So I took the "missing" mitems/mpairs iterators we discussed yesterday as an opportunity to familiarize myself with macros. What do you think about implementing m{items,pairs} like this [https://gist.github.com/gsps/ccc4c433df2dc7b3792c]?
09:10:05*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
09:21:27*silven_ joined #nimrod
09:21:30*silven quit (Ping timeout: 260 seconds)
09:35:10reactormonkgs, that link 404s
09:39:10gsreactormonk: sorry, should't have used the brackets. https://gist.github.com/gsps/ccc4c433df2dc7b3792c
09:48:20*zling_ quit (Ping timeout: 272 seconds)
09:48:45*TylerE quit (Ping timeout: 240 seconds)
09:48:56*ome quit (Ping timeout: 250 seconds)
09:51:01*ome joined #nimrod
09:53:03*CARAM quit (Ping timeout: 240 seconds)
09:54:22*TylerE joined #nimrod
09:55:15*zling_ joined #nimrod
09:55:40*kshlm quit (Remote host closed the connection)
09:56:37*kshlm joined #nimrod
09:59:01*kshlm quit (Remote host closed the connection)
10:01:04*CARAM joined #nimrod
10:06:47*Ven joined #nimrod
10:13:07*gs quit (Ping timeout: 246 seconds)
10:14:44*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:22:27*gs joined #nimrod
10:34:44*silven joined #nimrod
10:35:00*silven_ quit (Ping timeout: 260 seconds)
10:56:31*gs quit (Ping timeout: 246 seconds)
12:07:32*ome quit (Quit: Connection closed for inactivity)
12:19:07*gkoller joined #nimrod
12:22:04*gkoller quit (Client Quit)
12:22:18*gkoller joined #nimrod
12:25:52*gs joined #nimrod
12:38:13*darkf quit (Quit: Leaving)
12:53:06*gkoller quit (Quit: Textual IRC Client: www.textualapp.com)
13:04:21*gkoller joined #nimrod
13:05:18*gkoller quit (Client Quit)
13:05:43*gkoller joined #nimrod
13:14:16*bogen left #nimrod (#nimrod)
13:36:57*willwillson joined #nimrod
13:53:35*Matthias247 joined #nimrod
13:57:45willwillsonWhen you do a: when defined(Linux), does that refer to the host os or the target os? I am looking for a way to identify the target os.
14:04:58willwillsonNevermind, I got my answer with: nimrod --os:Windows --cpu:arm dump
14:20:20*ome joined #nimrod
14:23:43*gs quit (Ping timeout: 246 seconds)
14:31:40*gs joined #nimrod
14:54:50*johnsoft quit (Quit: Leaving)
15:46:51*johnsoft joined #nimrod
15:49:37*adoniscik joined #nimrod
15:55:54*EXetoC joined #nimrod
15:56:02*io2 joined #nimrod
15:59:33*gkoller quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
16:06:20*kunev quit (Quit: leaving)
16:30:59*ehaliewicz joined #nimrod
16:33:45ehaliewiczother than the constructor syntax and named members, is there any difference between a tuple and an array?
16:36:22*gs quit (Ping timeout: 246 seconds)
16:45:46*brson joined #nimrod
17:05:01*q66 joined #nimrod
17:10:38*Matthias247 quit (Read error: Connection reset by peer)
17:12:27dom96hi
17:19:45Araqehaliewicz: they are completely different, tuple[a: int; b: float] cannot be an array
17:20:04ehaliewiczsure, but if it's a tuple of the same types
17:20:06ehaliewiczi meant
17:20:57Araqthen you can't do tup[i] where i is a runtime value
17:21:21Araqbut IF you don't care about that either, they are the same ;-)
17:23:42ehaliewiczwell i'm prematurely optimizing so i gotta be sure about these things ;)
17:29:00Araqpremature optimization is the root of all fun.
17:38:32*Demos joined #nimrod
17:45:00ehaliewiczagreed
17:50:16NimBotAraq/Nimrod devel 272fd42 Nick Greenfield [+0 ±2 -0]: Add automatic MAP_POPULATE flag for opening read_only (MAP_PRIVATE) and shared (MAP_SHARED) mmap files.
17:50:16NimBotAraq/Nimrod devel cba75db Nick Greenfield [+0 ±1 -0]: Do not automatically use MAP_POPULATE for opening mmap files.... 3 more lines
17:50:16NimBotAraq/Nimrod devel 3a57052 Nick Greenfield [+0 ±1 -0]: Revert "Do not automatically use MAP_POPULATE for opening mmap files."... 5 more lines
17:50:16NimBotAraq/Nimrod devel a0df72f Nick Greenfield [+0 ±1 -0]: Only try to import MAP_POPULATE on Linux, define flag as 0 otherwise.
17:50:16NimBot1 more commits.
17:50:53*willwillson quit (Ping timeout: 240 seconds)
17:59:34NimBotAraq/Nimrod devel 2ade6ab Grzegorz Adam Hankiewicz [+0 ±2 -0]: Documents nimcache file naming scheme. Refs #852.
17:59:34NimBotAraq/Nimrod devel bb34d03 Grzegorz Adam Hankiewicz [+0 ±2 -0]: Makes ios example work again with new paths. Refs #852.
17:59:34NimBotAraq/Nimrod devel d47971b Grzegorz Adam Hankiewicz [+0 ±1 -0]: Corrects description of nimcache file naming. Refs #852.
17:59:34NimBotAraq/Nimrod devel 15eea19 Andreas Rumpf [+0 ±4 -0]: Merge pull request #1417 from gradha/pr_852_nimcache_naming... 2 more lines
18:00:25NimBotAraq/Nimrod devel 5e2614a def [+0 ±1 -0]: Add newSeqWith
18:00:25NimBotAraq/Nimrod devel 61a6ecf def [+0 ±2 -0]: Move newSeqWith to sequtils
18:00:25NimBotAraq/Nimrod devel b1bfd51 Andreas Rumpf [+0 ±1 -0]: Merge pull request #1403 from def-/newseqwith... 2 more lines
18:06:27*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
18:09:45*ehaliewi` joined #nimrod
18:10:37*ehaliewi` quit (Remote host closed the connection)
18:10:42*skyfex quit (Quit: Computer has gone to sleep.)
18:11:10*ehaliewicz quit (Ping timeout: 250 seconds)
18:11:16*skyfex joined #nimrod
18:49:34*Jesin quit (Quit: Leaving)
18:51:13*Jesin joined #nimrod
18:59:35*shodan45 joined #nimrod
19:06:00Skrylarok so quick check
19:06:08Skrylaris there an actively maintained opengl module in nimrod at the moment?
19:07:03dom96https://github.com/nimrod-code/opengl
19:07:28Skrylardom96: EXetoC said he wasn't using that anymore
19:07:52dom96why?
19:08:10SkrylarI don't know the specifics. I inquired if he was still using it, he said no, thus the question.
19:08:10dom96it's the official wrapper
19:10:12*Jehan_ joined #nimrod
19:10:47Demosthe OpenGL module works just fine for me
19:11:03dom96maybe he meant that he wasn't doing opengl stuff anymore
19:11:09Demospretty much just a simple wrapper with the addition of extension loading and error checking
19:14:43Skrylari'll poke with it later then
19:15:03*Matthias247 joined #nimrod
19:15:48Demosit pulls in the X11 package on windows which is kinda strange
19:17:55Skrylar:|
19:18:17dom96that's a babel limitation
19:18:37Demosdo it actually use X11 on linux, like call it directly?
19:18:45dom96dunno
19:19:06DemosI mean the openGL module is not going to actually create a context for you
19:19:32Demosalthough I guess it /may/ give you the wgl or glx extensions (but only after you have the context)
19:19:51Demosor actually it may load those extensions
19:20:19Demosbut I don't see why you need an X11 wrapper to load the glx extensions
19:21:00dom96check the source
19:21:38*willwillson joined #nimrod
19:22:33*zahary joined #nimrod
19:24:35EXetoCSkrylar: I was going to say that it works apart from one bug, but I think I fixed it
19:24:55EXetoCit's synced with 4.4, and there isn't much to maintain
19:25:32*io2 joined #nimrod
19:25:36*io2 quit (Changing host)
19:25:36*io2 joined #nimrod
19:26:47SkrylarEXetoC: i might be able to cop out and get by with just SDL instead xD
19:26:49Skrylarfor a time, anyway
19:27:01SkrylarLooking at the spec, all I need GL for is 3d dice
19:27:28Skrylarwhich can be faked by pre-rendering, admittedly without users being able to load their own icon sets
19:37:52adoniscikc2nim chokes on nested ifdefs, right?
19:47:26*flaviu joined #nimrod
19:47:45Araqadoniscik: depends
19:47:57Araqbut usually you need to tweak these
19:50:15*untitaker quit (Ping timeout: 246 seconds)
19:56:06*untitaker joined #nimrod
19:58:53*ARCADIVS joined #nimrod
20:04:26AraqJehan_: do you think we should introduce {.locks: <lockLevel.}> already instead of breaking everything once we get this feature?
20:04:47Jehan_Araq: Umm, lacking context here?
20:05:09Araqwell with .gcsafe we broke code
20:05:09Jehan_I'm not up to date on what you're planning with respect to that.
20:05:28Jehan_lock levels, that is.
20:07:50Araqwhenever we introduce yet another effect, we break code
20:08:26Jehan_Yes.
20:08:40Jehan_And if lock levels do what I think they do, they will.
20:08:51Jehan_Been there, done that. :)
20:10:22Jehan_That said, you probably want an "ignore locking priority for this" feature, anyway.
20:19:29Araqno, we have a general mechanism to circumvent the effect system. it's called 'cast'
20:22:38Araqhowever, we need a shortcut for {.gcsafe, locks: nothing.}
20:23:37Araq{.threadsafe.} ?
20:24:01Jehan_Hmm, that's usually thought to mean something different.
20:25:01Araqoh yeah
20:25:05Araqthat's bad
20:26:25dom96Araq: Did you just shove 'inclrtl' into every stdlib module?
20:26:33Jehan_{.syncsafe.}?
20:26:36Araqdom96: yes
20:26:48dom96Araq: why?
20:26:52Araq.begign though this means something different too wrt data races
20:26:59Araq*benign
20:27:31Araq.innocent
20:27:45dom96locks: nil?
20:28:13Araqdom96: yes, but we need a word for: gcsafe+locks: nil
20:31:12dom96I got nothing.
20:31:26Araqso? any opinions?
20:32:24Jehan_benign/innocent sound a bit too generic to me.
20:32:40Jehan_Not that I have a better idea, mind you. :)
20:33:17Jehan_{.noGruesHere.} would only confuse people, I think.
20:33:44Araqthat's actually the point
20:34:19Araqso that we can add new restrictions to .innocent
20:34:25Araqand most code continues to work
20:34:37Jehan_Well, what concept do you want it to express?
20:34:46Araqexcept for the code that doesn't and then you need to expand it manually
20:35:12reactormonkAraq, syncsafe? So basically functional? ^^
20:35:22Araqwell most callbacks need to be .gcsafe now
20:35:36Araqsoon they need to be locks: nil too
20:36:19Araqand then perhaps: dontLent (for all pointer arguments)
20:36:36Araqer ... onlyLent
20:37:14EXetoCwill this be a pragma pragma?
20:37:50AraqEXetoC: yes but that doesn't mean it doesn't need a good name
20:39:17Jehan_atomic is too overloaded, and reentrant doesn't capture the intent.
20:39:52Araqyeah, but as I said, we need a generic term
20:39:56dom96Araq: I still don't get gcsafe.
20:40:12dom96If I'm marking every closure with it why not make it default?
20:40:38Araqdom96: consistency with the rest of the effect system
20:40:55Araqthe default is unrestrictive and then you add annotations to make it more restrictive
20:41:13EXetoCI don't know what that means for a compact lambda syntax
20:41:21dom96That sounds like a PITA
20:41:29Araqwell, maybe we need to abandon this consistency
20:42:22Araqhowever
20:42:33Araqit is the right default for the compiler itself
20:42:44Araqand for scripting IMO
20:42:57*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
20:44:06AraqEXetoC: lambdas are not affected and procs in general are hardly affected, but *proc types* are
20:46:15Araqmaybe we should simply name it .good, lol
20:46:27Araqbrb
20:46:45NimBotAraq/Nimrod devel 1ee87b8 Araq [+0 ±1 -0]: asyncio compiles again
20:46:45NimBotAraq/Nimrod devel 9e772a8 Araq [+0 ±7 -0]: Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
21:00:18*nande joined #nimrod
21:00:34Araqback. any further ideas?
21:00:58reactormonkAraq, cool, you did the github issue walk ;-)
21:01:25reactormonkAny discussion on the how to test by default? It's easier to start if there's some basic setup.
21:05:03*zahary quit (Quit: Leaving.)
21:05:41Araqthere is this thing called "grammar driven speaking"
21:06:45Araqoops ... I mean "test driven development" :P
21:07:31*io2 joined #nimrod
21:08:50adoniscikHow can I translate C's "double _Complex" to nimrod?
21:09:58adoniscikhttp://en.wikipedia.org/wiki/Complex.h#complex.h
21:10:34Araqugh, does anybody use this C99 crap?
21:10:42adonisciknumerical libraries
21:12:36Araqthey couldn't add 'addWithOverflowCheck' but '_Complex'. This says everything about the standard.
21:13:07adoniscikmaybe I can roll my own object. do nimrod objects store components contiguously in memory?
21:13:34Araqanyway, I'd use tuple[re, im: float] and check its layout matches
21:13:59adoniscikthat is, do they store any hidden "variables" before the declared variables?
21:16:48Araqno they don't unless you use 'object of'
21:17:57adoniscikokay, that is what I thought. I'll give that a try. I have another question: what does " Error: internal error: expr(skGenericParam); unknown symbol" mean?
21:18:42Araqthat means you're using too few type annotations in a proc header
21:19:15AraqI think (report it! internal error is a bug)
21:19:31adoniscikhere's an example: http://pastebin.com/EeF9Fy0H
21:19:51Araqoh, not that again
21:20:19adonisciksorry! I don't know how to do matrices and I borrowed code from rosetta
21:20:41adoniscikthat's why it'd be nice to have some reference, like I said before
21:20:47Araqnobody knows how to do matrices
21:21:00adoniscikexcept you, right :)
21:21:28Araqwell I know how to do them without the broken static[T]
21:21:58Araqapparently I'm the only one
21:27:33*ome quit (Quit: Connection closed for inactivity)
21:29:26*adoniscik quit (Ping timeout: 272 seconds)
21:34:22VarriountAraq: I managed to cause the GC to segfault when handling 'var' parameters
21:35:22AraqVarriount: well report it
21:35:46Araqparameters or 'var T' as a return type?
21:35:58Varriountparameters.
21:36:52VarriountI don't know how I'm going to write a small example though. The bug is in the file monitoring code you wanted me to finish.
21:38:50Araq-d:useSysAssert -d:useGcAssert
21:39:14VarriountTraceback (most recent call last)
21:39:14Varriountfilemon.nim(303) filemon
21:39:14Varriountasyncdispatch.nim(1055) runForever
21:39:14Varriountasyncdispatch.nim(203) poll
21:39:14Varriountfilemon.nim(242) rawEventCb
21:39:15Varriountfilemon.nim(171) watchFile
21:39:17Varriountgc.nim(265) unsureAsgnRef
21:39:19Varriountgc.nim(216) incRef
21:39:34Araqthat doesn't mean it's a GC bug btw
21:41:15VarriountOk, now I get "[SYSASSERT] dealloc 2" with no stack trace (despite running in debug mode)
21:43:18dom96Varriount: yay you're working on the file monitoring code :)
21:43:54Varriountdom96: Yeah. One of the last hurdles is mainting handle consistancy.
21:44:27dom96I think I will move the irc module to a babel package.
21:44:37dom96Any objections?
21:47:35Araqno, it's a good idea
21:47:59AraqI want to move db_mongo to its own babel package, but it doesn't work anymore
21:48:20Araqor maybe EXetoC fixed it and made it a babel package?
21:48:51*enquora joined #nimrod
21:49:58dom96hello enquora
21:50:20dom96Araq: This exists: https://github.com/nimrod-code/mongo
21:50:27*enquora quit (Remote host closed the connection)
21:50:29EXetoCit barely works
21:50:42dom96EXetoC: what's wrong with it?
21:50:47*enquora joined #nimrod
21:51:00Araqok, that's good enoug to remove it from the stdlib
21:53:04AraqVarriount: "dealloc 2" means somebody passes an invalid pointer to 'dealloc'
21:53:52dom96Varriount: Likely culprit is the overloaded object.
21:54:07dom96The dispatcher deallocs it in certain situations.
21:54:32dom96(If the request completes immediately you should dealloc it)
21:59:09AraqVarriount: or rather that the object's header has been corrupted
21:59:33EXetoCAraq: yeah that module works even less
21:59:53EXetoCdom96: support for some types is incomplete and only the most basic operations have been added
22:02:37VarriountAraq: Hm. A corrupted object header might be it.
22:05:39*tinAndi joined #nimrod
22:07:03VarriountAraq: If I create a dynamically sized array via unsafeNew, do I need to worry about tracking internal references to its elements?
22:07:57Araq*unsafeNew* means "don't worry" :P
22:08:30VarriountAraq: I'm trying to get rid of evil manual memory management. I'd rather use the lesser of two evils if I can.
22:09:00Araqcheck how we do it in the async dispatcher
22:09:53Araqit's possible, but for experts only ;-)
22:10:06VarriountAraq: If you're talking about allocating the CustomOverlapped object, this is different.
22:10:22Araqdamn. why?
22:10:44VarriountI need to allocate a blob of memory for Windows to use. The blob's size is determined at *runtime*
22:11:06VarriountThe blob is used to store file event notices.
22:12:17*silven quit (Ping timeout: 260 seconds)
22:13:10Araqis it really a blob or do you store closures/refs/whatever in there?
22:14:05AraqunsafeNew() indeed can give you a GC'ed blob but so can newString()
22:15:08VarriountThe only data stored in there are file events. These events are only referenced when I loop through the blob, and copy/convert the data into something a user-supplied callback can use.
22:17:24VarriountAraq: Here's the allocation procedure, if you're interested: https://gist.github.com/Varriount/8fcb58028e1aeccde01c
22:18:55Araqthat's horrible
22:19:05Araqwhat alignment do you really need?
22:19:26Araqalignment of 8 is guaranteed by the allocator/GC
22:19:29Varriounthttp://msdn.microsoft.com/en-us/library/windows/desktop/aa365465(v=vs.85).aspx
22:19:42VarriountA pointer to a DWORD aligned buffer
22:20:06VarriountWhich is 32 bits/
22:20:34Araqyeah, don't worry
22:20:45Araqit is aligned properly for your purposes
22:20:54VarriountOh yay. That means I can throw out that monster.
22:20:59Araqyup
22:21:19VarriountBut can I use unsafeNew/newString?
22:21:41Araqeven the archaic Borland C++ allocator allocated on 32bit boundaries :-)
22:22:04*adoniscik joined #nimrod
22:22:27Araqbut not necessarily on 64 bits ... this took me some time to figure out, back in the days
22:23:25AraqVarriount: unsafeNew/newString align properly too, however the question is whether you keep a pointer around in nimrod land
22:23:40VarriountOnly momentarily
22:24:05Araqthat's bad, but you can always GC_ref(x) / GC_unref(x) it
22:24:19VarriountTrue..
22:28:49VarriountAraq: What if the blob is captured by a closure?
22:30:02*tinAndi quit (Quit: ChatZilla 0.9.90.1 [Firefox 31.0/20140716183446])
22:30:45Araqthat means the closure keeps a reference around
22:41:44VarriountAnd I'm still getting a dealloc error. The thing is, I now have no occurrences of dealloc in my code.
22:43:16VarriountPerhap's the asyncio code is doing it.. *looks at dom96*
22:43:53Araqsounds reasonable, but I still think it's *your* corruption/bug
22:45:27*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
22:50:16dom96Varriount: perhaps, delete the deallocs in asyncdispatch and see what happens.
22:50:57dom96I think it's possible the issue is somewhere else even if it starts to work after you remove the deallocs.
22:51:13Araqwell the GC also calls 'dealloc', you should fire up GDB to check the stack trace
22:52:06Araqthat said, a corruption has this nice property which is called "non locality"
22:52:57VarriountI've commented out all GC_unref's and dealloc's in my files and in asyncdispatch.nim, and the error still occurs.
22:55:25dom96Try to compare your code with the socket code in asyncdispatch as much as you can.
22:55:29dom96It might help
22:55:34dom96I need to go to sleep now
22:55:36dom96good night
22:55:54*q66_ joined #nimrod
22:57:25*Matthias247 quit (Quit: Matthias247)
22:58:10*q66 quit (Ping timeout: 260 seconds)
23:05:33VarriountAraq: How are the files names referenced in debug executables? Through a full path, or just the file?
23:06:08Araqjust the file, but you can always press TAB to get auto complete
23:06:17VarriountI'm trying to set a breakpoint in lib/system/alloc.nim, but gdb doesn't recognize any of the paths I give it.
23:06:31Araq--lineDir:on
23:11:05VarriountStill no recognition.
23:12:13*Jehan_ quit (Quit: Leaving)
23:16:19Araqbt alloc.nim:730
23:16:26Araq*br
23:22:12*EXetoC quit (Quit: WeeChat 0.4.3)
23:28:08*darkf joined #nimrod
23:31:39NimBotAraq/Nimrod devel 62e454f Araq [+0 ±4 -0]: asynchttpserver compiles again; made some tests green
23:31:39NimBotAraq/Nimrod devel 4d8c127 Araq [+0 ±4 -0]: made some tests green
23:35:25VarriountAraq: Yeah, that doesn't work. 'info sources' only lists some C file as available.
23:35:55Araqdid you use --lineDir:on ?
23:36:00VarriountYeah.
23:36:22Varriount"nimrod c -d:useSysAssert -d:useGcAssert --lineDir:on filemon.nim"
23:36:41Araq--debugInfo is missing
23:37:25Araqwe need --debugger:none|endb|gdb instead of the --debugInfo + --lineDir:on mess
23:39:15VarriountHm.. Interesting...
23:40:17VarriountAraq: https://gist.github.com/Varriount/36892ea3787b32d512c2
23:41:06VarriountIt's being caused by me repr()'ing a closure?
23:41:15Araqyup
23:41:41Araqwell it's because your repr something
23:42:22Araqbtw you can do lots of more
23:42:41Araq-d:corruption -d:fulldebug iirc also exist
23:45:37Araqsystem/mmdisp.nim has many more options to hunt down corruptions
23:54:01VarriountWhy aren't these documented?
23:56:27*saml_ joined #nimrod
23:58:01Araqbecause we need a debugging tutorial
23:58:14Araqdocumenting the switches does not cut it
23:59:08*ARCADIVS quit (Quit: WeeChat 0.4.3)