<<21-09-2012>>

02:09:11*zahary quit (Quit: Leaving.)
02:13:45*Trixar_za is now known as Trix[a]r_za
04:23:11*ccssnet quit (*.net *.split)
04:23:12*CodeBlock quit (*.net *.split)
04:23:12*Trix[a]r_za quit (*.net *.split)
04:28:30*ccssnet joined #nimrod
04:28:30*Trix[a]r_za joined #nimrod
04:36:23*CodeBlock joined #nimrod
04:39:37*CodeBlock quit (Changing host)
04:39:37*CodeBlock joined #nimrod
08:06:47*Araq_ joined #nimrod
08:56:09*Araq_ quit (Read error: Connection timed out)
08:57:05*Araq_ joined #nimrod
08:59:43*Trix[a]r_za is now known as Trixar_za
09:17:20*Boscop joined #nimrod
10:02:04*zahary joined #nimrod
10:02:13*Trixar_za is now known as Trix[a]r_za
10:18:54*Boscop quit (Ping timeout: 240 seconds)
12:45:06Araq_ping zahary
12:45:45zaharyhi
12:46:12*Boscop joined #nimrod
12:47:00Araq_turns out I was right and your new typeinfo handling in the C backend is wrong ;-)
12:47:16Araq_because there can be cyclic dependencies
12:47:36Araq_between modules thanks to generics
12:48:05zaharyso what happens when there is a cyclic depency?
12:48:08Araq_however there seems to be an easy fix which even improves code size :-)
12:48:23Araq_well the generic is outputted in the defining module
12:48:37Araq_but it's T is outputted in the other module
12:48:57zaharyand it's just not visible? fails to compile at all?
12:49:20Araq_no, problem is that it sets: field.typ = externType;
12:49:28Araq_however externType is still NULL
12:49:38zaharyI see
12:49:53Araq_but as I said, I've implemented a nice fix
12:50:16Araq_instead of NimType* NTI0
12:50:35Araq_we use NimType NTI0 and then &NTI0
12:51:00Araq_the linker resolves address-of-forwarded-data for us :-)
12:51:18zaharyI think I know what are you talking about - I wondered why this indirection is needed myself
12:52:48Araq_the code used to use indices instead of pointers
12:53:05Araq_and this recursive logic was quite hard to get right ;-)
12:53:20Araq_so when I transformed it to pointers for efficiency I was lucky when it worked
12:53:31Araq_and never bothered to optimize the indirection away
12:53:39Araq_(it's in my todo.txt btw)
12:53:40zaharythere was a lot of action with arrays going on in the main function that seemed like it can be moved to regular global vars
12:54:29Araq_indexes are nicer as you can use 16bits for them
12:54:40zaharybtw I still think it's better to compile the generics in their owner module (potentially in a part.N.cpp file) - this way when you modify a generic, there will be a single module to recompile
12:54:54Araq_but were a PITA to work with
12:57:14Araq_the typeinfo stuff should work with DLLs, right?
12:57:27Araq_we don't every compare types by their address I think
12:57:42Araq_we get duplicated data, but structurally equivalent
12:59:35*q66 joined #nimrod
13:00:30Araq_I don't mind part.N.cpp too much if there is a way to deactivate it for debugging
13:00:49Araq_but then there is always the risk the bug only shows up in part.N.cpp ;-)
13:03:39zaharythe ID problem that causes recompilation of untouched modules is a bigger issue right now and would look at it first
13:06:19Araq_true
13:06:40Araq_I also found a symbolfiles bug that I'm clueless about
13:06:57Araq_edited some modules, recompiled --> wrong ID used
13:08:02zaharywrong wrong or just unnecessary recompilation again?
13:09:46Araq_it's tempting to read the ID from the generated C code somehow ...
13:10:32Araq_wrong wrong and linking failed
13:11:07Araq_but it was 2 projects using the same dependent module
13:12:03Araq_but this is all a PITA to debug
13:12:33Araq_state between compiler runs in some rodfile you can't really browse ...
13:13:30Araq_I guess we need a "disassembler" for rodfiles
13:17:34zaharywhy is it hard to read the ID from the generated source? I had a number of ideas about alternative ways to store the mergeable data (it can be in a separate file that is included from the static source). Also, since we delay the writing to disk till the end now, it's also possible to use a single unified structure for metadata that is serialized in the begging of the file instead of the current ad-hoc mechanism with many various comments
13:18:52Araq_if you write all data at the end that sucks for incremental compilation anyway
13:19:33Araq_often some module does NOT compile properly and then you need to ensure to store all the other modules properly nevertheless
13:19:38zaharyyou mean you can not start the C compiler, before the nimrod compiler is done?
13:20:04Araq_I mean that often you recompile only to get a semcheck error
13:20:15Araq_then you fix it, recompile again ...
13:21:13Araq_and you need to ensure anyway to have this serialization step at module level
13:21:14zaharyhmm, are we talking about the same thing - what I meant is that we now keep files "open", because more type info can be added to them
13:21:18Araq_not at project level
13:23:07zaharyso it's possible to delay writing of any metadata (like IDs) in the same fashion (you just update it as fields in BModule)
13:24:43Araq_sure but I'm more concerned with on the fly "nimrod check/suggest"
13:25:05Araq_so I'd rather make the compiler a service now
13:25:28zaharyI cannot argue with that idea :)
13:25:29Araq_and then you don't have to recompile that often too
13:25:44Araq_and there is no serialization to worry about
13:28:26Araq_and it's not hard to read the ID from the generated source but *wrong* as the backend shouldn't set IDs ...
13:29:10Araq_in fact, the merge info in the .c file is already a hack
13:29:38zaharywell, sure - I didn't go ahead with any of those ideas mainly because mandatory rod files sounded more sensible long-term
13:30:36Araq_but yeah maybe we need to make a virtue out of necessity
13:30:59Araq_and have all the stuff in the .c file/ the backend
13:31:27Araq_and query the backend "gimme the ID for this"
13:35:36zaharyhow much compiler as a service do you imagine? will you accept patches to the sem data structures that will potentially enable delta updates on a symbol level?
13:36:27zaharyI have though for a while about what changes will be required
13:38:11Araq_seriously? delta updates on a symbol level? why?
13:38:40Araq_or do you mean symtab patching like for templates?
13:39:45zaharyoh, maybe it's not needed - it just seems unnecessary to compile the whole module on every few keystrokes in the text editor (it could prove to be fast enough tho)
13:40:35Araq_what I imagine is that we have an http API to the compiler
13:40:37zaharyI want to remove patching, but allow for multiple definitions to be "remembered" and properly selected/updated
13:41:33Araq_and the editor can send a whole buffer to the compiler to recompile without /tmp stuff
13:42:53Araq_or maybe only the delta
13:43:38Araq_but then the compiler would need to do oldstringPrefix & newPart & oldstirngSuffix and recompile this as a whole anyway
13:48:09zaharythe problem is I want the editor to be able to display much more information than syntax highlighting and code errors - I have a number of per features where the compiler annotates the source code with various labels, links to other places, reports, etc - If the interface is "take this whole module, tell me everything about it" I fear there will be limits to what is possible (not enough bandwidth so to speak)
13:48:24zahary* pet features *
13:51:08Araq_like what?
13:51:50Araq_it's better to do "take this whole module" if the editor understands the entity you're currently editing
13:53:30Araq_*to do than
13:54:02Araq_but for a start I'm gonna copy haxe's approach
13:54:39Araq_(don't know yet what their protocol looks like)
13:55:05Araq_haxe's macro system is quite like nimrod's btw except they have no overloading
13:55:30Araq_and thus don't semcheck the arguments passed to a macro at all
13:55:47Araq_and instead have an API so that the macro can requrest semchecking of an argument
14:00:54zaharyit's hard to explain what I imagine without a context. from my experience with generative programming in C++, what's complicates such systems is the fact that the generated code and data is much less visible so it becomes harder to debug - In many situations I have imagined that if the generative approach was complemented with some custom created reports of what was generated the problems will be largely eliminated so I want such support in the language and th
14:01:04zaharyhaxe has a compiler server now?
14:01:45Araq_yes
14:01:51Araq_since a long time I think
14:01:57Araq_I have to go, see you later
14:02:01*Araq_ quit (Quit: ChatZilla 0.9.88.2 [Firefox 14.0.1/20120713134347])
14:07:19zaharysince april actually, from 2.09
15:17:52dom96hello
15:40:12shevydom96!
15:40:17shevymy favourite girl here
15:40:23dom96lolwut?
15:40:26shevyhehe
15:40:29*zahary quit (Quit: Leaving.)
15:40:30shevydom96, I realized something new lately
15:40:37dom96I ain't no girl!
15:40:45shevyI have one project, in ruby, which has about 250 different files right now
15:40:53shevyand it is getting too big and unwieldy
15:41:17shevyI think I need an editor where I edit one project, as if it would be one file alone
15:41:32shevy(and that "file" would be "assembled" from the different files)
15:41:44shevymy brain is not good enough to deal with big projects :(
15:41:56shevycan you add something like this to Aporia? :>
15:42:19dom96250 files wtf
15:43:04dom96I don't really see that feature being useful for me.
15:43:45dom96I should have actually asked what kind of project it is.
15:44:08dom96It's not like you're editing 250 files at the same time though...
15:46:58dom96But yeah, sorry. I doubt I will implement this.
15:47:30shevyyeah, not at the same time
15:47:56shevyit's more like this routine: I notice a bug, or I want to add a feature. Before I can even start, I need to locate where the bug exists, or where the feature should reside / put into
15:48:09shevy:(
15:48:18dom96And you think having a single file with 50 million lines of code will help with that? :P
15:48:20shevywhat strategy do you use when a project becomes really huge dom96?
15:48:23shevyhmm
15:48:24shevya bit
15:48:25shevy:)
15:48:34shevy50 million lines is quite a lot though
15:48:46dom96I was exaggerating a bit :P
15:48:48shevyI think I am only at about ... 50.000 lines of code in ruby at maximum
15:48:53shevyafter 7 years or such
15:49:03shevyand the less I have to add the better!
15:49:14dom96I mostly remember where things are. If I can't I grep for them.
15:49:40dom96Aporia will eventually let you search for things in multiple files.
15:49:42shevyhehe
15:49:48shevyI grep all the time :(
15:50:13shevyit's a part of the workflow I don't really like. I use GUI based editors and it feels a bit at odds
15:50:19shevywith vim, I guess it is more natural to use grep
15:50:37shevydom96, what editor do you use most the time btw? did I ask this already... I think I asked this months ago hmmmm
15:50:38dom96Yes, well it does require you to switch to the command line.
15:50:45dom96That's why I want to let Aporia do it.
15:50:55dom96Obviously Aporia :P
15:51:26shevyhmm and before aporia?
15:51:40dom96gedit
15:51:44shevyahhhh
15:51:49shevyyou are really my brother then :)
15:52:04dom96hehe
15:52:11dom96I've tried Vim and Emacs but never got into them
15:52:20dom96They're too far from the norm.
15:52:25dom96IMO
15:52:39shevyyeah
16:10:26*Boscop quit (Ping timeout: 252 seconds)
16:11:49reactormonkLinux is too far away from the norm.
16:15:31*Reisen quit (Remote host closed the connection)
16:40:05*shevy quit (Ping timeout: 268 seconds)
16:44:55Araqping fowl
16:52:38*shevy joined #nimrod
16:57:55Araqreactormonk: what about implementing a random number generator in pure nimrod?
17:24:43*Boscop joined #nimrod
17:33:12Araqdom96: my todo contains: implement ``--script:sh|bat`` command line option; think about script generation
17:33:45Araqwhat should we do with that? make the compiler output some JSON so that external tools can process it?
17:34:22dom96Sure.
17:34:49dom96But if you're going to be playing around with that, what about the other packaging issue?
17:35:01fowlyo
17:35:02*dom96 can't remember exactly what it was
17:35:10fowloh yeah the tests
17:35:34dom96* Add support for prefixes in install.sh, so that you can install to prefix/usr/bin and it will just work (TM).
17:35:34dom96 * Nimrod should look for config files in /etc/nimrod not in /etc/ (This creates a mess of config files in /etc)
17:35:37dom96Araq: ^^
17:35:38dom96:P
17:36:27Araqdom96: I thought you patched the prefix stuff
17:36:29fowli like the way it works now, i just symlinked nimrod into /usr/bin and it works fine
17:36:40dom96Araq: I don't think so.
17:36:55Araqfowl: symlinking does not work reliably for some reason
17:37:12Araqespecially not on macosx
17:37:36Araqbut I like it too
17:37:49Araqthough I prefer to just update my $PATH
17:38:04*fowl quit (Quit: brb)
17:38:19Araqand dom96 I told you the config file system won't change *again*
17:38:44Araq(This creates a mess of config files in /etc) <-- yeah, that's how UNIX works :P
17:38:48dom96This is a small change though.
17:39:27*Araq is looking at his /etc
17:39:33dom96Packaging guidelines say that if an application uses multiple config files they should be put into /etc/AppName
17:39:40dom96(For Debian at least IIRC)
17:39:46dom96If only 1 then it can go to /etc
17:39:58Araqwe used to have only one ...
17:40:10AraqI guess we have more now ...
17:41:06Araqwell alright, but you implement it please :P
17:41:57dom96ok, but then I doubt it will make it into 0.9.0...
17:44:56Araqfine, I'm doing it
17:45:18Araqer no
17:45:29Araqtesting the installer has proven to be very time consuming
17:45:35Araqso after 0.9.0
17:56:12*fowl joined #nimrod
17:58:33Araqso fowl, what do the tests say?
18:00:00fowlthey're running now
18:00:49Araqalright, thanks
18:09:12Araqand I broke stuff ... :-/
18:11:46Araqbut it looks easy to fix
18:12:21Araqso dom96
18:12:43dom96yes?
18:12:50Araqwhat about fixing ftpclient etc.?
18:13:47dom96I'm working on it :)
18:14:25fowli wanted to talk about the SDL wrapper
18:15:04fowli believe that all the functions that return int should actually return cint or int32
18:16:26Araqprobably
18:16:50fowland i can fix the events to a union-type thing, i thought of two ways to do this, the first is i could inline the fields from each event into TEvent, this has the advantage of being compatible with the way it is right now, you could still do EvKeyboard() to change the event and you wouldnt have to change any of your existing code
18:16:51Araqthe SDL C code doesn't use C's long, does it?
18:16:56dom96Araq: What else is there to fix except ftpclient?
18:17:37Araqtircbot
18:17:58AraqI guess that's it
18:18:11Araqthe other tests import ftpclient
18:18:18fowlor i could take the kind field out of each event and use them in the case statement, that would be more like what SDL has but it would make the EvConvs not work
18:18:39Araqfowl: be careful
18:18:43dom96You just put NimBot in as a test?
18:18:55Araqwe tried that already and failed to get it binary compatible due to alignment issues
18:19:33fowlwell i did that for SFML and it works
18:19:55AraqSFML uses unions too?
18:20:13fowlhttps://gist.github.com/3737049
18:20:27fowlyea
18:21:09Araqfowl: that's nice but it should have generated testresults.html
18:21:23fowlah
18:21:25fowli see it
18:21:34fowlu want the html or json
18:22:38Araqhtml please
18:23:14fowlhttps://gist.github.com/3737049
18:26:07*apriori_ joined #nimrod
18:27:15Araqhi apriori_
18:27:30AraqI finally fixed you "actors" test program
18:27:32Araq*your
18:27:46Araqtriggered 2 serious bugs :-)
18:31:47apriori_Araq: hey, great.. thanks!
18:31:58apriori_time to port over the parallelism shootouts, then :P
18:32:04apriori_and maybe improve the message passing
18:32:25Araqyeah I have good ideas how to improve it
18:32:30Araqbut brb
19:03:58Araqso, apriori_
19:04:21Araqactors.nim deals with tasks and a task is supposed to not take much time
19:04:50Araqthe reasons why deep copying is needed are:
19:05:02Araqa) prevents race conditions
19:05:17Araqas every thread deals with its own memory only
19:05:22dom96How do you get the behaviour of old templates again?
19:05:33Araqdom96: .immediate, dirty
19:05:39dom96thanks
19:06:52Araqb) the GC can work per thread only
19:07:22Araqbut for b) we can do better than copying
19:08:00Araqwe simply incRef the data before 'send' and decRef it again when the task is completed
19:08:29Araqwithin the worker thread the type should be converted/casted from 'ref T' to 'ptr T'
19:08:59Araqto prevent the compiler from emitting write barriers which are unnecessary anyway
19:09:17Araqof course this assumes that the thread only uses read access to the data
19:10:23Araqbut the effect system that is growing in my mind will ensure that :-)
19:12:05Araqwell? any opinion?
19:14:09dom96ugh
19:14:14shevyAraq! let's cuddle!
19:15:34shevyreactormonk, I bought some kind of notebook today, it did cost 280 euro. it runs SuSE Linux hehe... the odd thing is... about 5 years ago, I bought a cheap laptop from fujitsu... also with linux. it did cost about 500 euro... weighs more, and is also much slower
19:16:02shevygoing to find out whether nimrod runs on it or not tomorrow
19:16:17fowlshevy, http://www.youtube.com/watch?v=Emd5grRLhv0
19:16:38shevylol
19:17:01shevyyou know weird stuff fowl
19:17:44dom96Araq: https://gist.github.com/72536612071c62b8427a
19:22:39reactormonkshevy: ^^
19:22:58reactormonkshevy: there at UT, they have a sponsorship from m$, therefore no linux.
19:26:01Araqdom96: alright, fixing it
19:29:39dom96thanks
19:35:20Araqdom96: temp7.nim(507, 6) Error: undeclared field: 'setHandleWrite' :-/
19:35:37dom96Maybe I should just push my changes?
19:35:57Araqyeah
19:36:12Araqbut note in the commit that it still doesn't work
19:42:17dom96Araq: Done.
19:55:34Araqargh, dom96 your code is evil ;-)
19:55:41Araqinheritance + case object
19:56:04dom96:P
19:57:26dom96If it's easier to simply change ftpclient then do that :P
19:57:40Araqno, no, it's fine
19:58:00AraqI'm fixing it and it's good we have a test case for it :-)
19:59:31dom96:)
20:11:29*silven quit (Quit: No Ping reply in 180 seconds.)
20:11:50*silven joined #nimrod
20:15:19Araqfowl: did you use a debug build of the nimrod compiler for running the tests?
20:15:41fowlYEA
20:15:45fowlyea* sry
20:15:59Araqthat explains some weird results ;-)
20:17:14apriori_Araq: sorry, was quite busy the last hour
20:17:36apriori_and no, got no opinion yet. I need to investigate it further. and maybe orientate, what others did on that subject
20:18:18Araqhey, I'm already an expert :P
20:18:35AraqI asked around what others did ;-)
20:18:44apriori_hm, okay
20:19:03Araqbut nah, it's good, do some studies
20:19:18apriori_when did you do your research on that?
20:20:24Araqabout a year ago
20:20:40apriori_okay
20:20:53apriori_well, I doubt too much changed in that time.. but who knows.
20:21:47Araqmost runtimes have a global GC so it doesn't really apply
20:21:58Araqyes, including haskell's
20:22:56Araqonly erlang and perl6's vm do the GC per thread
20:24:03Araqeiffel studio used to do it but they didn't prevent sharing at all
20:24:25Araqrelying on the poor programmer to not mix different memory regions
20:24:44Araqnowadays they use a global GC ;-)
20:25:09apriori_ohm, a "stop the world" kind?
20:25:25Araqyes
20:25:38apriori_hrm
20:25:45apriori_actually that sounds like a very bad idea for performance
20:25:49Araqthere are hardly any GCs out there that don't stop the world
20:26:57Araqit's possible to implement with a read barrier but then a read barrier is crap ;-)
20:28:20apriori_Araq: and about refs.. yeah, either that.. or some copy-on-write
20:29:01Araqforget it
20:29:51AraqI don't want the compiler to generate 2 versions of a proc: 1 version if called in a worker thread and 1 ordinary version
20:30:42apriori_yeah, that would be a problem
20:30:46Araqif we do that we may as well implement Cilk's concurrency model
20:31:04Araqwhich I like much better than Nimrod's ;-)
20:31:12apriori_I don't qute know it
20:31:19apriori_I just know openmp/openmpi
20:31:22fowlAraq, u want me to run the tests again in release ode
20:31:23fowlmode*
20:31:23apriori_and.. tbb
20:31:25fowl?
20:31:53Araqfowl: nah, it's fine
20:31:56apriori_and, btw (I'm sure you're aware of that).. your tr macros allow some kind of annotation mechanics
20:32:24Araqrun tests/run/ttables2.nim please, fowl
20:33:00fowlwith just nimrod c -r ?
20:33:06Araqand 'gctest' and 'weakrefs'
20:33:15Araqwith both 'c -r' and 'c -r -d:release'
20:33:53fowlttables2 ran out of memory
20:33:55Araqapriori_: how would you annotate?
20:34:41apriori_Araq: e.g. via some special comment
20:35:20apriori_your tr. macros would also allow to generete doctests, or something similar
20:35:25Araqhow can ttables2 run out of memory? o.O
20:35:26apriori_*generate
20:36:38Araqperhaps but that can also be done with an ordinary macro in a cleaner way
20:37:41fowlweakrefs is outputting "true"
20:38:51Araqso it works ... hm
20:39:30Araqwhat does 'gctest' say?
20:39:33fowlhttps://gist.github.com/3763762
20:40:58Araqso that works too
20:42:38Araqhow can ttables2 run out of memory? what was its output exactly?
20:45:44Araqdom96: tasynciossl doesn't work on windows :P
20:46:05dom96does tasyncioudp work?
20:46:51Araqthat doesn't even exist ...
20:47:12fowlfowl@PARADOX ~/Desktop/Nimrod (master)
20:47:12fowl$ ./tests/run/ttables2
20:47:12fowlout of memory
20:47:20dom96Araq: Sorry, tasyncudp
20:48:17Araqer ... is that cygwin?
20:48:39Araqdom96: yes that test is green
20:49:01fowlno, git bash
20:49:07fowlmsys or whatever
20:49:33dom96Araq: In that case I'm guessing tasynciossl doesn't work because the ssl library is missing.
20:51:12fowli dunno how its running out of memory, i have 8 gigs
20:51:27dom96fowl: Try it in cmd.exe
20:51:59fowlsame error
20:52:17dom96interesting
20:53:00Araqit's some other issue
20:53:14AraqI'll look into it
20:53:33fowlAraq, if i got the sdl events working like a union type are you ok with breaking compatibility with older sdl programs
20:54:16fowlolder nim-sdl programs, since the evconvs wont be needed
21:04:30Araqfowl: ensure they work on both 32bit and 64bit systems ;-)
21:04:53Araqand even then we can keep the old evconvs, right?
21:06:40fowli only have a 64 bit system
21:08:03dom96Get a VM :P
21:08:09fowlno the events wont be compatible anymore, like this line for example https://github.com/Vladar4/nimgame/blob/master/lib/engine.nim#L165 would just be addKeyEvent(eventp.keysym.sym, down)
21:12:01Araqwell explain to me once again what you want to do
21:13:21fowli want to make the events work like they do in my SFML wrapper: https://github.com/fowlmouth/nimrod-sfml/blob/master/sfml.nim#L86
21:16:24Araqwell alright but you won't get the 'object case' binary compatible to SDL's event union
21:16:43Araqit's not that I didn't try ... :P
21:17:20fowlare you sure because i compared sdl's to csfml's and they are pretty much the same
21:17:21apriori_Araq: interesting.. I thought you implemented that with unions
21:17:38fowli had to take the kind field out of each specific event for it to be possible
21:17:47Araq"pretty much" doesn't cut it
21:18:29Araqapriori_: indeed it's implemented with unions but the alignment differs subtly
21:19:22Araqit can work in principle and thus for SFML, but not for SDL
21:19:26fowlthey are the same, compare http://hg.libsdl.org/SDL/file/ec7ccf5ee3dd/include/SDL_events.h to https://github.com/LaurentGomila/CSFML/blob/master/include/SFML/Window/Event.h
21:21:35Araqhow are they the same?
21:22:49Araqthe SFML version uses a union of structs just like Nimrod
21:23:18AraqSDL uses byte and int16 sized stuff
21:23:29Araqwhich makes all the difference
21:24:17fowlsdl's is a union of structs also
21:24:31AraqI compared the field's offsets and couldn't get it compatible even with dummy fields
21:26:29apriori_alignment quite often sucks in struct
21:26:31apriori_*structs
21:26:38Araqbut hey, feel free to prove me wrong
21:26:42apriori_I had much fun with code that used pragma pack etc.
21:27:31Araqbut chances are slim that I will break SDL again, sorry
21:28:21fowlok
21:28:23fowlbrb
21:28:25*fowl quit (Quit: Leaving)
21:29:15apriori_time to go for me, too..
21:29:16apriori_bye all
21:29:20*apriori_ quit (Quit: Konversation terminated!)
21:42:06*fowl joined #nimrod
22:03:40fowlyea its not working :(
22:10:19fowlits treating TEventKind as it should be 4 bytes instead of 1
22:22:37dom96"Error: cannot bind parameter 'pass' twice"
22:22:49dom96Cool, first time I got this error.
22:25:45Araqmy compiler is not bad :P
22:26:29dom96Well I don't get the error.
22:26:47dom96I have an idea of why the error happens.
22:26:56dom96But if I didn't this error message would not help me much.
22:29:19Araqp(pass = 23, pass = 33)
22:29:41dom96oh hah
22:30:04dom96I'm just tired.
22:30:13dom96And can't read English.
22:30:29dom96That's a nice error message.
22:33:37Araqgood
22:34:28Araqfowl: no offence but how come you're as good as wrapping when you never really used C++?
22:34:37Araq*that good at
22:37:14fowlheh i dunno
22:37:42dom96This is odd.
22:37:53dom96Araq: How come a converter like this: converter getFTPClient*(aftp: PAsyncFTPClient): var TAsyncFTPClient = return aftp[]
22:37:59dom96Doesn't get applied automatically?
22:38:35dom96I suppose it doesn't matter anyway, since you said at one point that that would be done automatically anyway, right?
22:38:52Araqdunno I never tested converters properly :P
22:39:00fowlat the moment im just casting to an array of bytes and saw that the first field was 4 bytes off
22:39:14fowldoesnt make sense to me since sizeof(teventkind) is 1
22:39:45dom96Araq: The compiler will consider ref TAsyncFTPClient to be the same as var TAsyncFTPClient when resolving function signatures, right?
22:39:53dom96in the future.
22:40:20Araqyeah
22:40:28*Trix[a]r_za is now known as Trixar_za
23:32:02Araqgood night guys
23:49:36*Trixar_za is now known as Trix[a]r_za