<< 22-05-2014 >>

00:05:06Varriountdom96: You still up?
00:09:21*xenagi joined #nimrod
00:20:13njoejoeI nimrod c --debugInfo --lineDir:on helloworld.nim. and then gdb helloworld; if i then do "list" it shows me the contents of lib/system.nim. how do i get it to show helloworld.nim so that i can set a breakpoint inside of it?
00:22:51*ehaliewicz joined #nimrod
00:23:21*reactormonk joined #nimrod
00:25:39*ehaliewicz` quit (Ping timeout: 276 seconds)
00:29:39njoejoeand i have a proc named helloworld() but gdb says no such funtion helloworld if I try "break helloworld"
00:36:02EXetoCa parameter such as this "T: typedesc[uint8|uint16|uint32]" should be the same as [T:uint8...], right? the former doesn't let me do T(x) in the body. the workaround is to do "var dummy: T" and then convert like this: "dummy.type(x)"
00:42:29Demos_just walk up the stack to whereever
00:42:53Demos_helloworld is likely not a function, did you make proc helloworld() in helloworld.nim?
00:43:48Demos_EXetoC: I am not sure anyone knows how the hell typedescs are supposed to work :D
00:45:31*ehaliewicz quit (Ping timeout: 252 seconds)
00:52:43fowlnjoejoe, dont name the function the same as the module, also your function might get name mangled
01:09:26*q66 quit (Quit: Leaving)
01:11:26*brson quit (Quit: leaving)
01:12:40*hoverbear joined #nimrod
01:27:39*_broody joined #nimrod
01:28:38*BitPuffin quit (Ping timeout: 240 seconds)
01:36:32*_broody quit (Quit: WeeChat 0.3.7)
01:49:53flaviu1http://merd.sourceforge.net/slides/mgp00001.html is a very nice language, besides its non-maintainedness
02:35:27*NimBot joined #nimrod
02:54:22*Varriount_ joined #nimrod
03:00:41*nande__ joined #nimrod
03:01:43*hoverbea_ joined #nimrod
03:03:11*Varriount quit (Ping timeout: 258 seconds)
03:03:13*nande_ quit (Ping timeout: 258 seconds)
03:07:23*Xuerian quit (Ping timeout: 252 seconds)
03:07:24*icebattle quit (Ping timeout: 252 seconds)
03:07:29*icebattl1 joined #nimrod
03:08:28*xenagi quit (Quit: Leaving)
03:09:05*hoverbear quit (*.net *.split)
03:09:33*Xuerian joined #nimrod
03:15:38*noam quit (*.net *.split)
03:45:09*BitPuffin joined #nimrod
03:57:18*noam joined #nimrod
03:58:00*Jesin joined #nimrod
04:19:18*flaviu1 quit (Ping timeout: 240 seconds)
04:40:34*flaviu1 joined #nimrod
04:46:19*flaviu1 quit (Ping timeout: 252 seconds)
04:51:30*Demos_ quit (Remote host closed the connection)
05:05:10*noam quit (*.net *.split)
05:29:29*nande__ quit (Read error: Connection reset by peer)
05:51:17*hoverbea_ quit ()
06:10:21*Varriount_ is now known as Varriount
06:11:09VarriountAraq: Are will still supposed to be using TaintedString? Also, why was it used in the first place?
06:11:23Varriount*Are we stil
07:03:03NimBotAraq/Nimrod new_spawn 417b9f5 Araq [+0 ±10 -0]: 'parallel' statement almost working
07:03:45VarriountAraq: Also, I'm going through all the old issues again, testing the code examples to see which ones can be closed.
07:09:35AraqVarriount: what's wrong with TaintedString?
07:09:58AraqVarriount: please re-open #490 I think it's still an issue when the compiler runs in debug mode?
07:10:25VarriountAraq: I don't know. All that I've heard about TaintedString is that it helps with something concerning input validation.
07:11:17Araqyes, and it still does :-)
07:11:27VarriountAraq: Yes, but how exactly?
07:11:39Varriount"Input validation" is a rather generic term.
07:11:47Araqwell use --taintMode:on and see for yourself
07:23:01AraqVarriount: in the taint mode TaintedString = distinct string and so you're forced to convert it to string before doing anything
07:23:16Araqthis conversion is the point when you're supposed to do the input validation
07:23:32Araqworks reasonably well, imho
07:45:26*noam joined #nimrod
08:32:39*ehaliewicz joined #nimrod
09:26:49*kunev joined #nimrod
09:34:14*Omermuneer joined #nimrod
09:39:24Araqhi Omermuneer welcome
09:39:56Omermuneerhows everyone here
09:40:44Omermuneeri was bored in my exams class,
09:40:54Omermuneerthought of using irc
10:32:24*Varriount|Mobile joined #nimrod
10:34:04Varriount|MobileOmermuneer: I'm currently marvelling at the fact that I can play Nintendo 64 games on my phone.
10:35:02Varriount|MobileThat my phone has the surplus power to emulate a console is quite... surprising.
10:35:50*Omermuneer quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
11:02:49*freezerburnv joined #nimrod
11:41:19*vendethiel quit (Read error: Connection reset by peer)
11:47:14*vendethiel joined #nimrod
12:13:29*untitaker quit (Ping timeout: 264 seconds)
12:18:31*untitaker joined #nimrod
12:40:09*BitPuffin quit (Ping timeout: 276 seconds)
12:43:39*ehaliewicz quit (Ping timeout: 258 seconds)
12:53:49*isenmann quit (Quit: Leaving.)
13:02:28*darkf quit (Quit: Leaving)
13:08:06*freezerburnv quit (Quit: freezerburnv)
13:16:13dom96hellooo
13:17:25*devdri joined #nimrod
13:22:24EXetoChi
13:25:32Araqhi devdri welcome
13:25:35Araqhi dom96, EXetoC
13:25:43devdrihi
13:25:56dom96hey
13:28:21devdrigreat job, language looks super cool. Wanted to ask about the js backend usage, but I just found answer in the docs
13:42:19*OrionPK joined #nimrod
13:48:13*nealie joined #nimrod
13:48:45Araqhi nealie welcome
13:49:04nealieoh, hi. just checking out irc for my first time
13:49:26nealiei thpought i'd lurk here for a while and see if anything interesting happens
13:50:10nealiei wrote the FreeBSd port for Nimrod by the way, so i thought i should try and keep up to date
13:59:31*freezerburnv joined #nimrod
14:40:05*devdri quit ()
14:46:50*devdri joined #nimrod
15:13:37*kunev quit (Quit: leaving)
15:14:40*BitPuffin joined #nimrod
15:23:51*kunev joined #nimrod
15:53:47*Matthias247 joined #nimrod
16:02:48*kunev quit (Quit: Lost terminal)
16:04:14*devdri_ joined #nimrod
16:06:23*devdri quit (Ping timeout: 252 seconds)
16:14:13*Matthias247 quit (Read error: Connection reset by peer)
16:16:13*hoverbear joined #nimrod
16:16:32*nequitans joined #nimrod
16:18:43*nealie quit (Quit: Leaving)
16:37:51*BitPuffin quit (Ping timeout: 265 seconds)
16:38:11*brson joined #nimrod
16:38:13*brson quit (Client Quit)
16:38:20*brson joined #nimrod
16:39:59*BitPuffin joined #nimrod
16:43:26EXetoCdoes anyone use msgpack?
16:46:39EXetoCpeople claim that it doesn't offer many benefits compared to gzipped json for example. I'll be wrapping it anyway
16:51:01*Demos_ joined #nimrod
16:52:18Demos_so erm it looks like that underscore patch removes too many underscores from the generated code, or at least breaks code in interesting ways
16:52:29Demos_I will try and debug it layer
16:52:31Demos_*later
16:53:47Demos_wait no, it is just that it seems some stuff was lowercased
16:54:33Demos_I had a data member named Union and the C ident name is union, which is obviously a bit of a problem
16:55:30dom96Field names shouldn't begin with an uppercased letter anyway, or at least they shouldn't in the future.
16:56:33*flaviu1 joined #nimrod
16:57:12Demos_why not?
16:57:26Demos_and field names in the generated C code or in nimrod code
16:57:31dom96Nimrod code.
16:57:40Demos_wait what....
16:57:58Demos_it should not matter
16:58:18dom96Once the partial case sensitivity becomes default, if it does, then it will be this way.
16:58:28dom96But yes, now it doesn't matter.
16:58:49Demos_well I don't like the partial case sensitivity... but in this case it is just a bug
16:59:00dom96But why is that a problem?
16:59:11dom96Doesn't that make it easier to predict?
16:59:23Demos_because having Union generate a c identifier named union means the C does not even compile
16:59:51dom96I see.
17:00:06dom96Bug report then.
17:00:34dom96I'm guessing the C gen has some kind of list of idents which are C keywords.
17:00:46dom96Perhaps it's just a case of adding 'union' to it in the compiler?
17:01:59*q66 joined #nimrod
17:01:59*q66 quit (Changing host)
17:01:59*q66 joined #nimrod
17:02:56Demos_nope. It looks like the old mangleing would just emit upper case idents
17:03:16Demos_all C keywords are lower case
17:03:35Demos_I gotta go to a physics lab, but it should be an easy fix
17:03:38dom96ahh, then it should be even easier to fix.
17:07:55*Demos_ quit (Ping timeout: 240 seconds)
17:15:11EXetoCI hate having to write less expressive code just to avoid some ICE :p
17:19:15njoejoeI found the video linked from this page: https://fosdem.org/2014/schedule/event/your_application_versus_gdb/ quite interesting. It's 50 minutes long. hoping a gdb expert can make nimrod debugging a joy :-)
17:21:41njoejoeI forsee aporia linked up with a nimrod aware gdb
17:22:43dom96Debugging using gdb with --linedir:on and --debuginfo is already pretty good.
17:27:02njoejoedom96: I couldn't get it useful for me. I think I need to do more reading. I couldn't figure out how to get to the listing of the program I was debugging... from gdb: "list" listed out system.nim or some such
17:27:31dom96listing?
17:30:31njoejoein gdb, typing "list". I expected it to list with line numbers the source for the program I was debugging, getting the line numbers to set breakpoints etc.
17:31:04dom96Just open the .nim file in your editor and use it to determine the line numbers.
17:33:22njoejoethat doesn't work. i.e. gdb helloworld; then "break 5" : Breakpoint 1 at 0x40c959: (...)/Nimrod/lib/system.nim:5. (3 locations)
17:33:37dom96break file.nim:5
17:34:03njoejoeah! thanks.
17:35:05njoejoestill i did find the video fascinating, esp near the end where he was debugging gcc and showing control flow graphically
17:36:15njoejoestarting at around minute 41
17:36:16EXetoCgdb -tui is alright
17:37:08*brson_ joined #nimrod
17:40:41*brson quit (Ping timeout: 265 seconds)
17:42:15njoejoeEXetoC: -tui is pretty cool, didn't know about it. Is there a way to cause it to list the contents the the mainfile of your nimrod program when it starts? I don't want it to start with system.nim
17:56:04*brson_ quit (Quit: leaving)
17:56:11*brson joined #nimrod
18:01:33EXetoCno idea. haven't used it for nimrod code
18:04:55EXetoCI assume you are ok with me creating an msgpack repository in nimrod-code
18:06:16EXetoCbut can we please not use the same names as the original C libs
18:08:26EXetoCI strongly prefer unique names in general
18:11:29AraqEXetoC: sometimes examples help
18:11:49Araqwhat ames do you want to change?
18:11:55Araq*names
18:13:43*Varriount|Mobile quit (Remote host closed the connection)
18:14:44*askatasuna joined #nimrod
18:25:30EXetoCAraq: the names of all wrappers that share the same name as the original C lib: x11, cairo, python... a nim- prefix is fairly common, and in many cases you want to distinguish between the two, without having to rename locally or introduce a new sub-directory for example
18:26:10EXetoCobviously it didn't matter before because they were a part of the nimrod distribution
18:26:40EXetoCI brought this up before, but I don't know if I got my point across
18:27:48EXetoCdom96: do any non-wrappers use the prefix? since you complained about the prefix before
18:28:05EXetoCthat seems unlikely
18:28:41dom96nimbuild, nimforum
18:28:43dom96nimkernel
18:30:53EXetoCyou don't like that? they're either specifically for the nimrod ecosystem or a showcase for the language
18:32:06*dom96 shrugs
18:33:07EXetoCI just recalled that you said something along those lines, though you did say that you didn't have a problem with the prefix for wrappers
18:34:48EXetoCAm I the only one who has lost my forum password? :p
18:35:00dom96lol
18:35:46*Varriount|Mobile joined #nimrod
18:37:41Varriount|MobileAraq: Have compile-time event hooks been considered? So that a library or program may set certain procedures to run after events such as when the executable is produced?
18:47:18AraqVarriount|Mobile: not really
18:47:25*ehaliewicz joined #nimrod
18:48:14Varriount|MobileAraq: I ask because I'm trying to figure out how to include a manifest in a Nimrod executable
18:48:55Araqmeh why do you want to do that?
18:49:59Araqkoch.nim shows how to embed resources
18:50:23Varriount|MobileAraq: I don't know if straight embedding will work
18:51:01Varriount|MobileAraq: I want to do it in order to bring up the UAC prompt when users run my program
18:57:20Araqok good
18:57:29Araqno idea how this is accomplished though
19:08:37flaviu1Araq: There's a lot a keywords, is there any chance that that list can be decreased in size? `atomic`, `converter`, `interface`, `lambda`, `out`, and `without` seem to be unused ATM
19:09:08fowlVarriount|Mobile, gradha has something for that
19:09:33Araqnumber of keywords as a measure for language complexity is braindead, flaviu1
19:09:49fowlVarriount|Mobile, ouroboros
19:10:13flaviu1Araq: That isn't my thinking, it just sucks not to be able to use the identifier you want.
19:10:14*Matthias247 joined #nimrod
19:10:44Araqwe can get rid of 'atomic' and 'lambda', but 'out' and 'without' are too useful and will be used eventually as keywords
19:12:08flaviu1Araq: How about `end`? I don't think that's used
19:12:26Araqthat is used for #end if in .tmpl files
19:12:46Araqalso it's reserved for an alternative 'end X' syntax
19:13:07fowlew thats it means by endx?
19:13:25fowlis "end if" more clear than "end"? :(
19:13:56flaviu1The first application should be done by the library, but the second is fair enough I guess
19:15:46Araqfowl: 'end if' vs 'end' ... both are possible, don't worry
19:16:17Araqbrb
19:18:16flaviu1I think that could be better done with a custom parser instead of in the code language, but I won't loose too much sleep over that
19:18:23flaviu1s/code/core/g
19:19:59Araqwell interop between different parsers is the issue here
19:20:14EXetoCflaviu1: converter?
19:20:17Araqhow do you use my 'end' identifier in the alternative syntax?
19:20:33EXetoCnvm
19:20:42Araq`end` in backticks is annoying
19:20:44Araqbrb
19:20:57*Mat3 joined #nimrod
19:21:03Mat3good afternoon
19:21:42fowlAraq, i think he means it shouldnt be a keyword in the normal syntax
19:21:59EXetoCflaviu1: converter is used for.. converters
19:22:56flaviu1fowl: Araq understands that, what he's saying is how my having an identifier `end` in standard nimrod will behave in PascalNimrod
19:23:09flaviu1EXetoC: I'm not sure what you're saying
19:23:35*devdri_ quit ()
19:24:02EXetoCunused where? in the compiler distribution? it's used elsewhere
19:24:07fowlflaviu1, the othersyntax would have to `escape` it, not a big deal imo
19:24:41VarriountAha! Thank you internets: http://cournape.wordpress.com/2008/09/02/how-to-embed-a-manifest-into-a-dll-with-mingw-tools-only/
19:25:32flaviu1fowl: My opinion too, if you pick a different parser, deal with it, you made the decision
19:25:51flaviu1EXetoC: Are you talking about templates?
19:26:00EXetoCflaviu1: converters
19:26:23fowlVarriount, https://github.com/gradha/nimrod-ouroboros
19:26:38EXetoCasyncio.nim and a couple of tests use it
19:27:43Varriountfowl: Won't work.
19:27:59EXetoCah yes there's my project in manyloc
19:28:14fowlVarriount, oh
19:28:20EXetoChuge test case for a simple bug
19:29:13fowlVarriount, that looks annoying
19:29:50flaviu1EXetoC: I can't find anything except .tmpl files, which use a custom parser anyway.
19:30:34EXetoCflaviu1: are we not talking about keywords in general?
19:30:45EXetoCmost of my projects have converter "procs"
19:31:59flaviu1Is converter an alias for proc?
19:32:17Varriountflaviu1: In a way.
19:32:38EXetoCapparently it's barely documented
19:32:45flaviu1Implicit procs?
19:32:50EXetoChttp://build.nimrod-lang.org/docs/manual.html#convertible-relation
19:33:14*devdri joined #nimrod
19:33:21VarriountHi devdri
19:33:22EXetoClook for converter in the last code section
19:33:37devdrihi
19:33:47flaviu1EXetoC: Ok, keep converter then, although it could hypotheticly be a macro pragma
19:33:47EXetoCit's a way to define implicit conversions
19:34:09EXetoCmaybe
19:35:10EXetoCmaybe someone wants to discuss the naming of wrappers on the forums, because I can't, and questions get lost here
19:36:31VarriountEXetoC: Why can't you start a topic on the forum?
19:37:06EXetoCbecause I don't have my password
19:37:19Varriount-_-
19:38:21EXetoCI think it's good that we eat our dog food, but there's a lack of manpower
19:38:55VarriountEXetoC: Get dom96 to tell you the password hashing scheme, generate a new password and has it, then have dom96 replace your old password hash with the new one.
19:39:06Varriount*and hash it
19:39:47flaviu1dom96: getMD5(salt & getMD5(password)) :/
19:42:22AraqEXetoC: alternatively re-register as EXetoC2 or something
19:42:56VarriountOr maybe dom96 can delete his account from the database?
19:43:24Mat3Araq; should I write something more to this: http://forum.nimrod-lang.org/t/448 ?
19:44:55*Jesin quit (Quit: Leaving)
19:45:12EXetoCyes, my nick is.. ventor3000, and that's the truth
19:45:14AraqMat3: sure why not, though you can also simply post what you wrote to some other guy about low level stuff
19:46:28Mat3ok
19:48:09flaviu1dom96: When someone hacks into the database, they're getting all the passwords handed to them on a silver platter
19:48:28*Mat3 founds the rule to 'never ever using bit sets in C' quite useful
19:49:32Mat3(alias bit-fields)
19:50:29Araqflaviu1: yes but they are salted and MD5'ed :P
19:50:32EXetoCso was the guy right about the fact that LLVM can generate efficient exception handling? I can't remember who you discussed this with
19:51:00Araqyes that is correct, EXetoC
19:51:27EXetoCand what about optimizations? when comparing LLVM with writing something from scratch
19:51:37Varriountflaviu1: Pft. I think I have a copy of the DB on my desktop, and it's not like any of your accounts have been stolen.
19:51:41flaviu1Araq: 5 Billion MD5 Hashes per second
19:52:07flaviu1For a single GPU, another will double it
19:52:30Varriountflaviu1: Good, you can work on making the forum more secure. :3
19:53:41Araqflaviu1: well yes. it's a rarely used *forum* though, not your bank account
19:54:49Mat3EXetoC: Comparing machine-code generated from LLVM with hand written code shows some problems with stack addressing (at least the last time I checked it)
19:55:29EXetoCright
19:56:11Araqalso it has been written by some strange guys who rather spend their time on developing compilers and IDEs
19:56:43flaviu1Araq: People resuse passwords, so its important. Also, fixing it takes no more than swapping md5 for bcrypt
19:58:01*Vendethiel- joined #nimrod
19:58:24Mat3it's quite a large and complex code base for an IL compiler so personally I see no advantages against writing a simple code generator well suited for a specific task
19:58:29*vendethiel quit (Ping timeout: 252 seconds)
19:59:40Mat3(and libJIT seem to have the better - code efficient - interface)
20:00:29EXetoCok
20:00:56EXetoCMat3: anyway, you should finish it in about a month or so, just to prove Araq wrong when he said it was years away :-)
20:01:05EXetoCflaviu1: yeah well someone's got to do it
20:01:12Mat3*lol*
20:01:39Mat3EXetoC: right
20:03:18Mat3ciao
20:03:25*Mat3 quit (Quit: Verlassend)
20:03:29flaviu1EXetoC: Working on a pull request right now
20:03:49flaviu1At least there aren't any obvious sql injection issues
20:04:33Araqflaviu1: your help really is appreciated, thank you very much
20:13:22dom96flaviu1: If it wasn't for me there wouldn't even be a salt :P
20:15:36flaviu1dom96: Well, that's reassuring :O
20:18:04dom96Also, it's not a simple case of s/getMD5/getBCrypt/
20:22:38flaviu1dom96: Pretty close though; try MD5, if it succeeds, rehash with BCrypt and store, otherwise try BCrypt
20:23:25flaviu1dom96: Even easier actually. How big is the database?
20:23:33dom96Wouldn't it be better to just ask the user to reset their password?
20:24:35flaviu1dom96: Yes, that would be better. But chances are that almost no one will bother, and the security should be extended retroactively as much as possible.
20:25:26flaviu1If the database is fairly small, you can just hash every password with BCrypt on top of MD5 and save some complexity
20:28:29flaviu1runvnc just implemented the most broken possible hash function and called it bcrypt :/
20:29:00Varriount-_-
20:29:18flaviu1It looks like he's encrypting the password with the salt
20:29:52dom96I guess that will work... but it'll be inefficient.
20:30:14Varriountdom96: Isn't that the point?
20:30:19flaviu1dom96: The whole goal of bcrypt is to be slow
20:30:37*nande_ joined #nimrod
20:30:51flaviu1but that's irreverent, what he calls bcrypt is just a fancy way of storing passwords in plaintext
20:32:45*boydgreenfield joined #nimrod
20:33:46Varriountflaviu1: I take it you're referencing runvnc's 'bcrypt'?
20:34:00flaviu1Varriount: Yes
20:34:40Varriountflaviu1: Is it meant to be an implementation of the actual bcrypt, or is it just a nameing coincidence/collision?
20:35:09flaviu1"This is a Nimrod wrapper for the bcrypt C functions" "bcrypt is useful for hashing passwords"
20:37:34Varriountflaviu1: What's specifically wrong with the package?
20:40:36*boydgreenfield quit (Quit: boydgreenfield)
20:45:04*Varriount|Mobile quit (Remote host closed the connection)
20:48:37*devdri quit ()
20:49:31*Varriount|Mobile joined #nimrod
20:49:33*foxcub joined #nimrod
20:51:29*devdri joined #nimrod
20:54:53Araqhmm I've implemented dataflow variables ...
20:54:54*Varriount|Mobile quit (Remote host closed the connection)
20:55:03Araqbut they simply crash ...
20:55:08*Varriount|Mobile joined #nimrod
20:55:22flaviu1Varriount: Crappy method name suggests that it just reversibly encrypts the password with the salt but the implmentation looks like its actually hashing, I have no idea what to think, except that I don't like it. It's also from 1997, so I'm not confident its still good, especially since IIRC there have been flaws found.
21:04:25*freezerburnv quit (Quit: freezerburnv)
21:51:04*Matthias247 quit (Read error: Connection reset by peer)
22:09:13*freezerburnv joined #nimrod
22:25:10*brson quit (Ping timeout: 258 seconds)
22:26:09*foxcub quit (Quit: foxcub)
22:38:56*brson joined #nimrod
22:45:24*Demos_ joined #nimrod
22:50:11*devdri quit (Ping timeout: 252 seconds)
22:52:33*devdri joined #nimrod
22:58:46*tylrr joined #nimrod
23:01:40*tylrr left #nimrod ("Textual IRC Client: www.textualapp.com")
23:07:06*freezerburnv quit (Quit: freezerburnv)
23:16:30*ehaliewicz quit (Ping timeout: 276 seconds)
23:21:48*devdri_ joined #nimrod
23:23:41*devdri quit (Ping timeout: 264 seconds)
23:28:41*darkf joined #nimrod
23:29:03flaviu1Not nimrod, but Clang says "please include the header <string.h>", but I do have a `#include <string.h>`
23:29:37EXetoCdoes the order matter?
23:29:39*hoverbear quit ()
23:29:58flaviu1IDK, but I don't think so
23:31:27flaviu1Apparently linux doesn't include a strcpy
23:33:07*Demos_ quit (Ping timeout: 240 seconds)
23:35:12*Demos_ joined #nimrod
23:41:45Varriount|Mobileflaviu1: So if you don't trust bcrypt, what password hashing method do you recommend?
23:42:37flaviu1Varriount|Mobile: I don't really trust that implmentation, especially since it doesn't have any comments describing the method. I'm looking into adapting the BSD bcrypt
23:43:45flaviu1Also, minor flaws have been found and fixed since 1997
23:57:30*xenagi joined #nimrod
23:57:42Demos_flaviu1, you are the author of PR #1204 right?