<< 10-04-2014 >>

00:02:06Araqnever mind, I think its github
00:04:20Araqok, I should trigger it again?
00:04:34dom96Araq: headers too please
00:04:38dom96No. Don't.
00:06:07AraqI can push something and then it gets a small diff that doesn't crash nimbot, right?
00:06:13dom96yes
00:06:19flaviuHow much time is left until the release
00:06:34AraqVarriount: please make that forum announcement
00:07:12Araqflaviu: my ticker.txt says 2014-04-20 is the new release date ...
00:07:46fowl420!!
00:10:43Araqgood night
00:11:26*psquid quit (Ping timeout: 246 seconds)
00:14:17dom96same here, good night
00:16:53*psquid joined #nimrod
00:18:24StyledI got another issue I downloaded https://github.com/nimrod-code/csources compiled it then copied it over to nimrod_0.9.2.zip extracted bin folder. Then when I ran code echo "hello geek" in test.nim with nimrod c -r test.nim I received this error lib/system/excpt.nim(327, 1) Error: expression expected, but found ','
00:21:35flaviuStyled: That's strange
00:21:41VarriountAraq, dom96: Forum announcement made at http://forum.nimrod-lang.org/t/417
00:21:52flaviuTry `echo("hello geek")`
00:22:25VarriountStyled: What OS are you running on?
00:22:33fowl?
00:22:43fowlyou put new csources with 0.9.2 release? for what?
00:23:23Styledso I could get past the original error of semfold.c:(.text+0x1273): undefined reference to `lrint'
00:24:19Styledbecause the https://github.com/nimrod-code/csources only has the c_code folder
00:25:17fowlStyled, jsut use the instructions here https://github.com/Araq/Nimrod#compiling
00:25:23flaviuStyled: Delete everything and start over, copying the instructions exactly
00:28:27*DAddYE quit ()
00:33:55Varriountfowl, flaviu: Styled could also use one of the dev builds available on http://build.nimrod-lang.org/ to bootstrap the compiler (That's what I do)
00:34:30flaviuI just successfully bootstraped like in the readme, so I'm recommending that since its the simplest
00:35:18fowlVarriount, not from 0.9.2 sources
00:35:34fowlVarriount, er nvm
00:35:44fowlVarriount, you do that each time you update?
00:35:59Varriountfowl: If I don't have a nimrod copy available, yeah.
00:36:19Varriount(I just accidentally had git delete my nimrod executables)
00:36:42*DAddYE joined #nimrod
00:37:03Varriount*shrug* using the devel builds just involves downloading the zip, placing the nimrod executable in your local nimrod copy's 'bin' directory, add it to the PATH, then run 'nimrod c --run koch boot -d:release"
00:37:12fowl$ du -hs Nimrod 43M Nimrod
00:37:21fowlnot bad
00:37:52fowlVarriount, maybe you want to update the std lib too
00:38:02Varriountfowl: That's what git is for.
00:38:25flaviufowl: Half of that is git's record-keeping
00:38:42VarriountI only use the above method for a brand new installation. For my personal installation, I just 'git pull' and 'koch boot'
00:40:46VarriountOk, that's the Win32 and Win64 builders up. Now for the installer generators.
00:42:52fowlVarriount, why did you have to have 64bit binaries for allegro, does there need to be any consideration for that in the wrapper?
00:43:29Varriountfowl: I use 64 bit binaries of nimrod.
00:43:51*EXetoC quit (Read error: No route to host)
00:43:55VarriountThus, the wrapper will be wrapping a 64 bit version of allegro.
00:44:24fowlso, personal taste then?
00:45:03Varriountfowl: I'm going to guess that most modern computers have 64 bit CPU's. If so, why is it that we run 32 bit programs on them?
00:45:19fowlso we can access more memory?
00:45:38Varriount32 bit programs are still limited to 4gb.
00:45:58Styledno success compiling again
00:46:14Styledhere is what happens
00:46:17VarriountI /deplore/ the lack of consideration for native 64 bit architectures that certain libraries have.
00:46:17Styled____________________________________________
00:46:19StyledHint: system [Processing]
00:46:19StyledError: cannot open '/home/geek/nimrodcompile/lib/system.nim'
00:46:19Styledso I copied it to the contents of nimrod_0.9.2.zip extracted to access the systtem.nim contained within and got these errors:
00:46:19Styledconfig/nimrod.cfg(37, 2) Hint: added path: '/home/geek/.babel/pkgs/' [Path]
00:46:19StyledHint: used config file '/home/geek/nimrod/config/nimrod.cfg' [Conf]
00:46:20StyledHint: used config file 'koch.nimrod.cfg' [Conf]
00:46:22StyledHint: system [Processing]
00:46:23fowlStyled, use pastebin please
00:46:24Styledlib/system/excpt.nim(327, 1) Error: expression expected, but found ','
00:46:26Styled____________________________________________
00:46:27fowloh jeez
00:46:40flaviuVarriount: Because lots of programs are not compiled for 64bit
00:47:02Varriountflaviu: And why is that? Laziness?
00:47:17fowlStyled, that is not the correct way to install. even it works, you're putting a new compiler on top of an old standard library
00:47:19flaviuYes, and apparently some C programs have the pointer size hardcoded or something
00:47:51Varriountflaviu: Or cast a pointer to an int.
00:47:57fowlStyled, please follow these directions https://github.com/Araq/Nimrod#compiling
00:49:06flaviuin C if you want a 64 bit integer, you have to use long long
00:49:19flaviumost people just used long int
00:49:32VarriountWhich is.. what?
00:49:49Varriounta 48 bit int?
00:50:22flaviuaccording to wikipedia, char = int8, short int = int16, int = int16, long int = int32, long long int = int64
00:50:50flaviuand long long int was not in the spec until 1999
00:50:52VarriountHuh. I had always assumed that an 'int' in C was an int32
00:50:59*q66 quit (Ping timeout: 252 seconds)
00:51:06flaviuIt can be 32 bits
00:51:13flaviubut the spec only requires 16
00:51:48renesacVarriount, 64 bit programs also use more memory
00:51:56renesacbecause 64 bit pointers
00:52:21flaviuI haven't used C, just going off wikipedia. I might be subtly wrong or something
00:52:36renesacthere is all this talk about X32 abi because of that: http://en.wikipedia.org/wiki/X32_ABI
00:52:38*EXetoC joined #nimrod
00:52:51flaviuBut C is a mess of undefined behavior
00:53:12renesacoh, it seems it is already merged to the kernel
00:54:03VarriountAnd that's another gripe of mine - the lack of consideration of Windows in so many open source projects.
00:54:25fowlwindows is hard to develop on
00:54:39VarriountHowso?
00:54:55fowllike git is hard is to use, so we make reactormonk do the hard stuff
00:55:14VarriountGit has a command line interface on windows, just like on linux.
00:55:42fowlo..k?
00:55:56renesacVarriount, how you expect people to submit patches to windows kernel?
00:56:05renesacif it was x32 that spiked your criticism
00:56:11Varriountrenesac: No, it was not.
00:57:12VarriountI'm talking about open source projects whose build instructions on windows amount to "Ok, here's the dependancies. We haven't tested a build in 5 years, and the build process has radically changed since then. Have fun!"
00:58:08renesacwell, when it is the other way arround, usually the open source project is bound by some proprietary microsoft api
00:58:28renesacand there is no way to compile on linux except by rewriting that part of the program
00:59:37renesacif no main developer works with a given OS, it is hard to expect good support for it
01:00:02renesacMac OS is no different
01:00:17renesacsee the state of nimrod there
01:03:45flaviuVarriount: Windows doesn't have a decent shell
01:03:59flaviuand cgywin is horrible
01:04:11Varriountflaviu: Powershell?
01:04:23*askatasuna joined #nimrod
01:04:28VarriountOr the Sh version that Msys provides.
01:04:39VarriountAlso, what do you consider a "good" shell?
01:05:03Varriountrenesac: How is nimrod support for Mac deficient?
01:05:14flaviuI use fish, but bash is fine
01:05:52renesacI hear some mac only bugs here that would not happen in windows or linux
01:05:55fowlfish :>
01:06:07flaviuit provides scripting and the unix utilities
01:08:15flaviuPowershell provides scripting I guess, but who wants to learn another set of utilities and maintain another build script?
01:12:30Styledfowl, okay thanks for your advice got it to compile "hello geek"
01:12:32Varriountflaviu: Have you heard of Msys and MinGW?
01:14:50VarriountGah
01:15:14Styledthe executable is 137 kb for echo "hello geek" can it be made smaller?
01:15:30renesacStyled, have you compiled in debug mode?
01:15:33renesacor release mode?
01:16:02flaviuThose seem like they come close to a unix enviroment, isn't it possible to just use the unix installation instructions then?
01:16:12renesacWhich option to use for the smallest executable?
01:16:12renesacFor the standard configuration file, -d:quick --opt:size does the trick.
01:16:27renesac<-- from the site's faq
01:17:03VarriountDon't you mean -d:release?
01:17:05renesac-d:release for speed optimized builds, that will likely be smaller than debug builds
01:17:18renesache asked for size
01:18:19Stylednimrod c -d:release test.nim got it down to 42kb great!
01:18:43flaviuStyled: add --deadCodeElim:on
01:19:07flaviunimrod c --opt:size -d:release --deadCodeElim:on ./test.nim gets me 24K
01:19:35VarriountI wonder how much of that is setting up things like the stack and such.
01:19:36renesac-d:quick works?
01:19:47*DAddYE quit (Remote host closed the connection)
01:19:56flaviuNope, 40K
01:20:21*DAddYE joined #nimrod
01:21:26VarriountI think quick is for a quick compilation
01:21:53renesacthe smallest possible executable for linux is 45bytes
01:21:53*bstrie_ joined #nimrod
01:21:53*krusipo_ joined #nimrod
01:22:03Styledflaviu thanks that worked great
01:22:06VarriountHi krusipo
01:22:16*krusipo quit (Ping timeout: 265 seconds)
01:22:16*rixx quit (Ping timeout: 265 seconds)
01:22:18*bstrie quit (Ping timeout: 265 seconds)
01:22:34VarriountIs it just me, or are github's git servers slow?
01:22:41*rixx joined #nimrod
01:22:41renesacof course, you have to use many dirty tricks to get that low
01:22:59renesacit is not a typical 'hello world'
01:23:27renesacfrom C the same person got a 2604 bytes executable (no printf, etc)
01:23:44renesachttp://www.muppetlabs.com/~breadbox/software/tiny/teensy.html
01:25:04Styledits about 9kb if compressed
01:25:39renesacStyled, xz?
01:25:46*DAddYE quit (Ping timeout: 240 seconds)
01:25:56flaviuStyled: also add --gc:none
01:26:03flaviu16K
01:27:08Styledthat brings it down to about 5kb compressed
01:29:23renesacvery nice
01:30:18renesacI will try to port an arithmetic coder to nimrod latter, so I can compare it's binary size with C++ and D
01:30:24VarriountHm. How do you guys feel about adding more information to certain exceptions Eg, when a file cannot be found, actually printing the missing file.
01:31:01renesacC++ was 13kb, DMD binary was 230kb and GDC binary was 1322kb
01:32:22DemosVarriount: that is what the msg string is for
01:32:31EXetoCVarriount: seems silly to omit that part
01:32:44Demosis the purge done?
01:32:58Varriountyes, however I'm having trouble getting the Win64 builder running
01:33:16VarriountIt keeps complaining about a missing file (and doesn't say what the missing file is)
01:33:48flaviuVarriount: That sounds good, but have you tried --listCmd?
01:35:15Demos37.2MB not half bad
01:35:38Varriountflaviu: This is with the actual builder program, not the compiler
01:35:51EXetoCVarriount: including it in msg and then also storing it in a separate field would be nice, but then we need something more specific than EIO
01:35:55Varriountthe build bot that bootstraps and tests the compiler for each revision
01:37:09Demosis there a new bootstrap procedure or do I still get csources from the nimrod-code org
01:37:28VarriountGah. Just get a minimal compiler from the build site.
01:37:40VarriountWhy must people do it the hard way.
01:37:41flaviuDemos: Same everything, cloning is much faster
01:38:24Demoscould use the old 0.9.2 release for bootstrapping as well
01:38:56*Styled quit (Remote host closed the connection)
01:39:41VarriountAnyone have any good fantasy/fiction audiobooks to recommend?
01:39:53Demosit looks like the windows builders are having problems pllig from the git repo
01:40:48VarriountDemos: Figured out the problem. The builder exe needed a pre-placed nimrod exectable in it's local target nimrod repository.
01:41:03Demoswow my "u" key failed for a moment there. This is what I get for buying a $100 gameing keyboard instead of a $15 dell thing
01:42:03Demoshow do I download a build from nimbuild
01:42:18Varriounthttp://build.nimrod-lang.org/
01:42:28Varriountclick one of the little commit hashes in the grid at the top
01:42:57Demosoh. that grid does not render properly in internet explorer 11
01:43:04*Demos hides
01:43:13VarriountAnd... why are you using internet explorer?!
01:43:45DemosIE11 is really good for casual browseing (like less than 30 tabs)
01:44:20renesacI think I never used IE11
01:44:45renesacthe last I remember using was IE9
01:44:51renesacfor things like downloading firefox
01:44:55VarriountOne of the first things I do when I install windows is disable internet explorer, and install firefox and chrome
01:45:48Demoschrome is horrid
01:45:50renesacyeah, I have chrome for when my extension overloaded firefox fails in some page
01:46:03reactormonkSkrylar, I'm messing with the JS once in a while, and usually -d:release gives better code to debug
01:46:03Demosusues too much memory
01:46:08flaviuHas youtube center been working for you?
01:46:17renesachow I can pretty print json in nimrod?
01:46:30renesac*can I
01:46:32flaviurenesac: jsonast.pretty
01:47:01renesacthanks, I will look into it
01:47:09renesacI need to fix my firefox profile
01:47:24renesacit probably got corrupted somehow
01:48:15VarriountDemos: Why is Chrome horrid?
01:48:51Demosit uses lots of memory and seems to reimplement every single operateing system service
01:48:56flaviuVarriount: Memory, closed source, addons are horrible
01:49:03Demospretty much
01:49:06VarriountAnd what about Chromium?
01:49:15Demosuses even more memory than chrome
01:49:27Demosit is insane
01:49:27flaviuSuffers from 2/3 of what I said
01:49:35flaviuI trust mozilla much more than google too
01:49:37DemosFF is meerly OK
01:49:56*brweber2 joined #nimrod
01:50:08flaviuI know a guy who has 20 windows of firefox open at a time, the memory is pretty reasonable
01:50:41Demosyeah FF does really well with tons of tabs
01:50:49DemosIE does really well with few'
01:51:00Demosesp since IE does not page out the tabs, so switching is fast
01:52:04renesacfirefox is fine with up to 800 tabs
01:52:11renesacmore than that it starts crashing often
01:52:12DemosI want my default web browser to be quick to start above all and IE is that. I use FF for when I need "heavy duty" browsing (like downloading mods for games (someone should make a nimrod program to make that eaiser) or reading a forum)
01:52:25Demosrenesac: sure you are not just OOM
01:52:30VarriountGotta go. Sleep callms.
01:52:47renesacDemos, yeah, this seems a possible reason for the crashes
01:53:06flaviuOne of the best parts of firefox is about:*, about:memory is really nice
01:53:21DemosI run my linux box without swap and I have only 4G of ram so when I run out things get "interesting"
01:54:08flaviuI have a swap partition, but I'm too lazy to enable it. Zswap is good enough
01:56:41Demosyeah I actually can not use a swap partition since btrfs does not support them
01:56:47DemosI may be able to use a swapfile though
01:57:41flaviuWhy would btrfs cause issues? Swap is a separate partition
01:57:54Demosdun know
01:58:10flaviuOh, Btrfs has subvolumes, which it doesn't support swap in
01:58:10renesacswap has it's own filesystem too
01:58:32*Styled joined #nimrod
01:58:35EXetoCdeath to swap
01:58:37flaviuIf you shrunk Btrfs, you would be able to have swap
01:58:45renesacI don't see why btrfs would care for another partition with a different filesystem
01:58:55Demosyeah, anyway I have an ssd and I figure that if I am swapping I am screwed anyways, so I just let the system burn and then fix the buggy app
01:59:07Demosflaviu: I will just use a swapfile if I need it
01:59:15flaviuFor me no swap has worked pretty well
01:59:20reactormonkDemos, that's how I do it
01:59:35reactormonkexcept if memory usage is > 90% because I'm looking at too many pictures in reddit, the system freezes
02:00:34flaviuI have enough ram that if I run out of memory, its because a program is broken. Swap makes everything grind to a halt, and without it the OOM killer fixes things instantly
02:00:55reactormonkflaviu, only got 4GB
02:00:59reactormonkwait, 8
02:01:05reactormonkhow the fuck can I run outta ram :-(
02:01:12flaviuWhat distro?
02:02:53Styledthere is mention on the site that it is possible to comment out a block of code with when false: statement but no example. How to do that exactly?
02:03:46flaviuStyled: Exactly like it sounds.https://github.com/Araq/Nimrod/blob/3e8f8d10d24200245f65a56c8bfe7a7df78f0271/tests/generics/tgenericrefs.nim
02:03:47EXetoChttp://build.nimrod-lang.org/docs/manual.html#when-statement_toc
02:05:06Styledokay that was easy
02:05:13Styledjust had to indent
02:05:15*brson quit (Quit: leaving)
02:05:40EXetoCyup, block as block
02:05:44*brson joined #nimrod
02:06:36Styledhow about using the ''' ''' for commenting out blocks easy since the """ """ is already in use.
02:07:00renesacyou can use discard """ """
02:07:23reactormonkflaviu, an arch with kde on top
02:07:38renesacno need for ''' ''' for comments
02:08:20Demosflaviu: how do I get the OOM killer?
02:08:43flaviuDemos: Use linux :P
02:08:44flaviuhttp://www.oracle.com/technetwork/articles/servers-storage-dev/oom-killer-1911807.html
02:09:03flaviuI guess that link will let you configure it, IDK
02:09:50DemosI have linux but in OOM the system stops responding and I have to REISUB
02:15:00flaviuerror: ‘true’ undeclared
02:15:00flaviuHow does C work?
02:15:50reactormonkflaviu, 1 is true
02:15:56reactormonkexcept in bash, 0 is true
02:16:29*EXetoC quit (Quit: WeeChat 0.4.3)
02:16:46flaviuWell, I can understand that. But really, why not make 1 a sucessful program return code?
02:17:33Demosfor returns I use EXIT_FAILURE and EXIT_SUCCESS
02:17:33*brson_ joined #nimrod
02:17:40Demosfor maximum portability
02:18:00Demosand because it means I do not have to remember what zero or one mean
02:18:26*brson quit (Ping timeout: 252 seconds)
02:19:26flaviuDemos: The OOM killer works fine for me
02:19:45flaviuI malloc'd a ton, and it killed the program quickly
02:23:40*brson joined #nimrod
02:25:04*brson quit (Client Quit)
02:25:18*brson joined #nimrod
02:26:35*brson_ quit (Read error: Connection reset by peer)
02:30:32*brson quit (Ping timeout: 252 seconds)
02:31:26*brson joined #nimrod
02:41:59*brson quit (Ping timeout: 250 seconds)
02:43:55*brson joined #nimrod
02:55:53*flaviu quit (Quit: Leaving.)
02:56:05*flaviu joined #nimrod
03:29:01Skrylarwheee, i think i finally got the stemmer working
03:29:14Skrylarand now my GCC has grown a weird annoyance where it says i don't have a drive installed
03:38:48*xenagi quit (Quit: Leaving)
03:47:32*rta quit (Ping timeout: 246 seconds)
03:52:00*brson quit (Quit: leaving)
03:57:28fowlSkrylar, you must perform the ritual, give your hard drives to gnu
03:58:03flaviuWhy does GCC care about hard drives?
03:58:53runvnclol
04:04:37Skrylarfowl, flaviu: because somebody derped with the latest mingw builds and got their I: drive in the build list apparently
04:04:58Skrylarso now a bunch of installed GCCs are trying to read someone's home folder that doesn't exist
04:09:09fowlcompiling things on windows is too much of a chore for me
04:09:36*brweber2 quit (Quit: brweber2)
04:10:40Skrylarfowl: i don't have too many problems unless derpage is occuring
04:15:02*flaviu quit (Ping timeout: 252 seconds)
04:36:19*psquid quit (Ping timeout: 252 seconds)
04:52:22Styledno methods for class objects... then how to write a method for an object?
04:53:31runvncstyled did you have a chance to read the nimrod manual or nimrod tutorial?
04:54:01runvncto write a method for a class, ie a proc
04:54:28runvncproc read*(db: TRedis):PStringTable =
04:54:33runvncthat goes in your module definition
04:54:38runvncby using the asterisk *
04:54:45runvncit means that proc is exposed
04:55:04runvncthe way nimrod works, when you write something like myDB.read()
04:55:14runvncits the same as if you wrote read(myDB)
04:55:34runvncin that example myDB is a TRedis
04:55:50runvncor a TRedisDB was actually what I was trying to write but same difference
04:56:24runvncso calling a method on an object is the same as calling a procedure and giving the object as the first argument
04:56:26runvncget it?
04:56:58Demosthere is also the method keyword, which makes the method use multiple dispatch (on all params)
04:57:22Styledrunvnc, yes it has clicked. Thanks
04:57:43runvncok thanks demos didn't know about that
04:57:51runvncseems like there are a lot of features for me to learn
04:57:54runvncnp styled
04:58:08runvncmaybe I should read the manual lol
04:58:39DemosI doubt methods work all that well atm
04:58:52Styledwhat is the meaning of multiple dispatch
04:59:14runvncnot particular to nimrod, google it, thats what I did
04:59:31Demoscalling something like foo(a,b,c,d) will use the dynamic types of a,b,c, and d to look up the correct function to call
04:59:54Demoslike virtual methods in other languages but it works on all the parameters
05:00:14Demoswhich I think is how most people expect it to work actually
05:06:45*askatasuna quit (Ping timeout: 252 seconds)
05:08:41*Demos quit (Remote host closed the connection)
05:13:51*rta joined #nimrod
05:31:09fowlwhat is everybodys lua and luajit dll names
05:32:13runvncyou mean actual dll not including linux right
05:32:19runvncanyway I dont think I installed lua
05:32:20fowlyea
05:37:35fowlthats cool
05:45:56StyledTProc = (proc (x, y: int)) if i made var z: TProc how to use z?
05:46:56fowlStyled, http://build.nimrod-lang.org/docs/manual.html#procedural-type
05:48:31fowlStyled, it would be a function reference, it could be nil, you call it with z(arg_x, arg_y)
06:08:45*nande quit (Read error: Connection reset by peer)
06:11:12*DAddYE joined #nimrod
06:13:27*Styled quit (Ping timeout: 250 seconds)
06:42:21*DAddYE quit (Ping timeout: 276 seconds)
06:47:12*ehaliewicz joined #nimrod
06:57:29*Matthias247 joined #nimrod
07:39:26*Matthias247 quit (Read error: Connection reset by peer)
08:20:00fowl@ Araq this issue still pops up and is annoying https://github.com/Araq/Nimrod/issues/1072
09:05:14*Universety joined #nimrod
09:07:24UniversetyDevice = createDevice(EDT_OPENGL, dimension2d<u32>(800,600),32,false,false,false,&receiver); code line from irrlicht 3d engine. Is it possible to tranlsate dimension2d<u32>(800,600) into nimrod code?
09:11:16*taapa left #nimrod (#nimrod)
09:42:58*zahary_ joined #nimrod
09:43:40zahary_hey, is 0.9.4 out already?
09:52:31BitPuffindon't think so
09:53:20zahary_don't forget that we need to take a look at the mac homebrew problem - I'm extremely busy this week, but I can try to do it tonigh
09:54:30BitPuffinI'm just hoping my template issue doesn't show up for anyone else
09:54:40BitPuffinreally difficult to debug
10:01:51*io2 joined #nimrod
10:02:44BitPuffinzahary_: there is also still the ordinal type expected thing
10:04:06BitPuffinlol
10:04:08BitPuffinlib/pure/math.nim(197, 7) Hint: 'math.gettime(dummy: ptr cint): cint' is declared but not used [XDeclaredButNotUsed]
10:17:58runvncI switched gettime with epochTime from the time(s) module
10:18:06runvncso probably my fault for not taking that out of the file
10:19:28runvncoh but it is still being used in the test so I am not sure why it would say not used
10:20:47runvncBitPuffin: or is this the 'orginal type expected thing'
10:31:37*ehaliewicz quit (Ping timeout: 252 seconds)
10:34:00BitPuffinrunvnc: do you get that error?
10:54:41*faassen joined #nimrod
10:55:24*EXetoC joined #nimrod
10:55:48runvncBitPuffin: actually no I do not
10:55:52runvncwhen I run nimrod c math.nim
11:03:36*Matthias247 joined #nimrod
11:04:13*Matthias247 quit (Read error: Connection reset by peer)
11:05:26*Matthias247 joined #nimrod
11:09:42*Universety quit (Ping timeout: 258 seconds)
11:39:24BitPuffinrunvnc: then no
12:37:36*brweber2 joined #nimrod
12:41:03BitPuffinAraq: it would be nice if the compiler worked with linagl before we release the compiler
13:02:18*askatasuna joined #nimrod
13:05:59*Skrylar quit (Ping timeout: 246 seconds)
13:23:14*brweber2 quit (Quit: brweber2)
13:36:20*darkf quit (Quit: Leaving)
13:46:26*[1]Endy joined #nimrod
14:13:04*brweber2 joined #nimrod
14:13:26*brweber2 quit (Client Quit)
14:15:06*BitPuffin quit (Ping timeout: 240 seconds)
14:27:58*[2]Endy joined #nimrod
14:31:30*[1]Endy quit (Ping timeout: 240 seconds)
14:39:11reactormonkanyone needs a bit of git help? http://git-man-page-generator.lokaltog.net/
14:39:47reactormonkfowl, http://git-man-page-generator.lokaltog.net/
14:54:50*cark quit (Ping timeout: 246 seconds)
14:55:45*cark joined #nimrod
15:00:15*isenmann quit (Quit: Leaving.)
15:16:02*Mat3 joined #nimrod
15:16:12Mat3hllo everybody
15:16:15Mat3^hello
15:29:51*faassen quit (Quit: Leaving.)
15:30:34*BitPuffin joined #nimrod
15:59:53dom96hello
16:12:15*rta quit (Ping timeout: 252 seconds)
16:25:32*rta joined #nimrod
16:26:42Mat3what's new
16:27:25dom96git repo has been purged
16:30:21*Demos joined #nimrod
16:30:23Mat3after reading the logs about these immense GIT related problems, wouldn't a switch to Mercurial or Fossil be better ?
16:30:33DemosEXetoC: ping
16:30:42Mat3hi Demos
16:30:46DemosMat3: not really, darcs may be able to handle it
16:30:49Demosbut erm darcs
16:31:33Mat3darcs ?
16:31:44DemosDVCS with no notion of time
16:32:12dom96Are there any DVCS which handle binaries without a huge increase in repo size?
16:32:28Demoswell Hg's largefiles, and git annex
16:32:42Demosbut for us it was just a mistake to check in those files
16:32:47Demosthey were not binaries afaik
16:32:54EXetoCDemos
16:32:56dom96they were
16:32:59Demosoh
16:33:00EXetoCanother glfw question?
16:33:05DemosEXetoC: well it does not compile
16:33:20dom96But yeah, it's not a git problem. The problem is that we committed binaries
16:33:21Demosline 283 var handles = cast[ptr array[count.int - 1, PMonitorHandle]](handlesPtr)
16:33:26Demossuprised that ever worked
16:33:27Mat3hi EXetoC
16:33:49Demosshould be cast[ptr array[1000000, PMonitorHandle](handlesPtr) or something
16:34:40Mat3dom96: I see the problem (do not understand why this was necessary however)
16:34:48EXetoCMat3: hi
16:34:55EXetoCDemos: something must've changed very recently then
16:35:32Demoserror is "can not eval at compile time "count"
16:36:45Demoswhich is good because it is a system dependent FFI call, strange that it ever worked
16:36:57*flaviu joined #nimrod
16:41:16EXetoCbounds checking should be possible in this case in one way or another imo
16:41:18EXetoCI'll fix this
16:41:35dom96Mat3: What do you not understand? Why we committed binaries?
16:43:05*Mat3 quit (Ping timeout: 250 seconds)
16:43:56DemosEXetoC: not really, you only know the length at runtime. You bounds check later when you fill out the seq
16:44:55EXetoCbounds-checking is still relevant
16:49:13EXetoCAraq: was "ptr array[runtimeRange, T]" indeed a bug?
16:50:29EXetoCdone
16:53:37Demosis it in babel
16:55:48EXetoCnim-glfw? it has been for a couple of months
16:56:27Demosno the fix
16:57:58EXetoCit has been pushed to github, so yes it's available via babel too
17:13:17*Demos quit (Read error: Connection reset by peer)
17:15:00*DAddYE joined #nimrod
17:17:20*foodoo joined #nimrod
17:20:40*q66 joined #nimrod
17:20:40*q66 quit (Changing host)
17:20:40*q66 joined #nimrod
17:22:59Varriountfowl: Ping
17:33:38*q66 quit (Ping timeout: 252 seconds)
17:35:25*Mat3 joined #nimrod
17:36:58*q66 joined #nimrod
17:36:58*q66 quit (Changing host)
17:36:58*q66 joined #nimrod
17:39:08*[2]Endy quit (Ping timeout: 252 seconds)
17:44:36*DAddYE quit (Remote host closed the connection)
17:45:51*DAddYE joined #nimrod
17:46:46*Mat3 quit (Ping timeout: 245 seconds)
17:46:54*CARAM joined #nimrod
17:50:30fowlVarriount, pong
17:52:03Varriountfowl: Your allegro library lacks stuff for windows, such as dll names. :/
18:00:05fowlVarriount, i know, BitPuffin dropped dropped the ball
18:06:57BitPuffinfowl: how is that my fault lol
18:07:00BitPuffinI can still get on it
18:07:02BitPuffinchill dawg
18:07:04EXetoC"<param group="BufferUsageARB"><ptype>GLenum</ptype> <name>usage</name> </param>". that's the only place where this group appears. not very helpful
18:12:29*Mat3 joined #nimrod
18:24:27*Demos joined #nimrod
18:25:48Demosyall can just explicitly link to the dll on 'doze
18:26:30*Skrylar joined #nimrod
18:26:41*brson joined #nimrod
18:29:02Skrylarmeep
18:33:43reactormonkMat3, make it easier to clone it over, without requiring 200MB to be transferred over the wire
18:33:55EXetoCbacon
18:34:01reactormonkinnuendo
18:34:42reactormonkI'll give whoever understands the connection between those two words a few isk.
18:35:15EXetoCbacon and innuendo?
18:35:46Skrylaryour silly eve currency
18:35:59dom96how much?
18:36:02flaviureactormonk: Google says https://www.youtube.com/watch?v=vmZQXyWaoIg
18:37:34*dom96 should tweet about the purge
18:38:26Skrylardom96: do we have fast string searching in a module already?
18:38:46dom96I don't think so, no.
18:38:51Skrylarblerp.
18:38:55Skrylartime to port one over
18:40:50BitPuffinI know isk
18:41:01Mat3reactormonk: As long as compilation is not affected this reads great
18:41:30VarriountMat3: All the change did was remove bad stuff from git's history
18:42:07VarriountMat3: And lead me to send out 38 emails, 18 issues, and 1 website comment
18:43:08dom96Varriount: Thanks for doing that btw.
18:44:55Mat3Varriount: Good job !
18:45:26*Mat3 hope the translation is right
18:45:30VarriountGotta go now, Calculus calls.
18:46:43*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
18:50:11Skrylarfowl: when you did the binding for sdl2, did you just get it to compile or did you rename all the identifiers and whatnot to blend in?
18:53:51*Mat3 is now known as Mat3-bbl
18:53:55*Mat3-bbl quit (Quit: Verlassend)
18:55:31Demosreactormonk: is it a reference to the ol' log monitoring programs.
18:57:27fowlSkrylar, i ran it through c2nim and removed prefixes (SDL_RenderGetLogicalSize => GetLogicalSize)
18:57:39Skrylarah
18:57:45Skrylari tried to c2nim it and c2nim choked
18:58:40Demosyou usually have to de-macro the header
18:59:02EXetoCpartially at least
18:59:05Skrylari usually just pull out vim and start doing it by hand
18:59:24Demosyeah, I generated a header for libpng from the libpng(3) manpage
18:59:29Demosthat worked "OK"
18:59:39Demosexcept that sometimes the manpage listed things that did not actually exist
18:59:43Demosor had a different ABI
18:59:58Skrylarif you know how to use macros and vim expressions its not *that* bad, and you can clean it up so it acts nimrodd-y
19:00:14DemosI would really like wrappers to just keep all the C names
19:00:36Skrylardon't use mine then :o
19:00:46Demoswrite a higher level nimrodic wrapper if you really want that kind of thing
19:02:45DemosI like being able to just use the C lib's docs and not have to wonder how exactly all the functions were unmangled
19:03:09Demosactually can c2nim's unmangler handle c++ name mangleing, for picking the symbol to import?
19:03:29*askatasuna quit (Ping timeout: 252 seconds)
19:05:53fowlDemos, no\
19:07:50reactormonkDemos, nope
19:12:09*Demos quit (Ping timeout: 250 seconds)
19:12:46reactormonkEXetoC, yup.
19:14:00*nande joined #nimrod
19:20:46*askatasuna joined #nimrod
19:47:50*Mat3 joined #nimrod
20:00:24*foodoo quit (Quit: leaving)
20:23:08*Demos joined #nimrod
20:26:46*Matthias247 quit (Ping timeout: 245 seconds)
20:33:17flaviuThis is a bug, right? https://gist.github.com/flaviut/10420337
20:33:36*Matthias247 joined #nimrod
20:33:41flaviuIf I replace `accm =` with `discard`, everything works
20:35:53reactormonkflaviu, what is `pos' exactly? an integer in the range between 0 and 15?
20:36:23flaviuYes, it should be
20:37:34flaviuBut the assertion clearly shows that it is not in that range, which baffles me. The increment is designed to keep it in the correct range
20:38:41Araqflaviu: it's a weird bug indeed
20:38:49Araqreport it please
20:42:30flaviuOk, #1077
20:46:40*feature joined #nimrod
20:47:36Araqhi feature welcome
20:47:53featurehi
20:49:46featureis it to make nimrod case sensitive?
20:51:28featuredifficult
20:52:23Araqget the recent github version and use --cs:partial
20:52:39Araqand come back to tell us whether you like this compromise
20:56:01featureit's good but var v_v = 1 and var vv = 1 redeclare I'd like v_v to be unique too
20:57:35Araqwhy?
20:57:50featurev_v is not vv
20:58:03flaviuIs github buggy for anyone else?
20:58:14Demoshaving v_v and vv is probably not a great idea
20:58:17Demospick a better name
20:58:24Araqstartswith is starts_with
20:58:31Araqisupper is is_upper
20:58:50Araqhaving both to denote different things is absurd
20:59:17*Skrylar pushes feature in to a small cardboard box
20:59:40dom96flaviu: There was a bug I encountered with the search page, what in particular is buggy for you?
20:59:59flaviuA few miniutes ago, there was no styling
21:00:41flaviuIt also isn't able to count the number of commits very well
21:00:57featureif you put a poll on your site and ask the question should v_v be vv I think most will choose no.
21:01:33*ehaliewicz joined #nimrod
21:01:42renesacfeature, if you import a library that defines functions_like_this
21:02:00featuresince nimrod goes down to c and c sees v_v as v_v and not vv so should nimrod
21:02:00Demosbut if we asked "should someone use v_v and vv in the same scope" the answer would also be no
21:02:04renesacbut your style is functionsLikeThis
21:02:16renesacwould't you like to keep using your sytle?
21:02:18EXetoCfeature: I don't think that matters
21:02:38Demosnimrod is not C. If you wanted everything to just be like C you should use C
21:02:39Mat3oO
21:03:17featurepython v_v is v_v every language I know v_v is v_v and not vv
21:03:37renesacfeature, so nimrod can't be different?
21:03:40flaviufeature: java, c#
21:03:42EXetoCI don't like that reasoning
21:03:45SkrylarOkay. To save time: People already whined about v_v -> vv, people already posted about it, Araq already tried it, and something like half the current nimrod users don't want to change everything to appease C peoples, and there's already been a declaration that overhauling changes like that are veto'd
21:03:54SkrylarNo its not hard, no its not happening
21:06:02featureI_like Ilike I_like is more clear here
21:06:37flaviufeature: I think you're alone in wanting that
21:06:38renesacfeature, when interfacing with C you can chose how to name the function, otherwise it will take the name as you written (style sensitive and all) and export it to c
21:06:42EXetoCI rarely see such identifiers
21:06:59Demosyou could use vv and v⎽v
21:07:07Demosthat was U+23BD
21:07:14DemosI would not encourage you to do that though
21:07:14renesacfeature, you advocate to use I_like Ilike I_like in the same scope?
21:07:46featureyes for twins
21:07:54EXetoC?
21:08:36renesaci_like1, i_like2, i_like3
21:09:25featureif you use c headers it's more work changing vars if some programmer used _
21:09:49renesacgive an example
21:09:54renesacreal example
21:09:58renesacit is bad style
21:10:10Demosyes, you have to change some stuff, usually people add a prefix like cGL_INTEGER or whatnot
21:10:48Demosyou can not expect to just use a C header verbatum in anything is not C or an (almost) superset of C
21:12:14featureif I want to use v_v and vv as different vars it's my right as a programmer to do so. It's a limitation that does not need to be there.
21:13:02renesacif I want to mantain a consistent style in my code it is my right to do so
21:13:12Araqno, it is not your right, I could have made _ an invalid character for identifiers to make you use camelCase
21:13:47AraqLisp for instance supports '-' and so-this-is-possible. C does not.
21:13:52Skrylar...
21:13:58Skrylar"v_v -> vv" is not a limitation
21:14:00Araqit is your right to use-this in C?
21:14:04Skrylarstyle sensitivity is the limitation
21:14:06Araqno clearly not.
21:14:10feature- can be mistaken for minus bad choice
21:14:11renesacyeah, - is much prettier than _
21:14:19flaviufeature: Not in lisp
21:14:20renesacfeature, not in lisp
21:14:20EXetoCfeature: depends on the language
21:14:22SkrylarOkay. I'm just going to say this before throwing my hands up
21:14:25EXetoClet's allow almost everything
21:14:30featurei don't like lisp
21:14:51EXetoCthat's besides the point
21:14:52Skrylar(EXISTED-BEFORE-LOWERCASE-ASCII 'LISP) ; HOW DID WE EVER GET ANY WORK DONE
21:15:37Demosyou could have v(U+FEFF)v and v_v but again
21:16:16DemosOOOOH I bet you could have a right to left override in a var name
21:16:45featureput a poll somewhere that's the only way you'll know for sure.
21:17:09SkrylarI am now bored, and this continual "i hate it because its not C" vs "its not C" that will go on for like ten god damn hours is going to make me rude; so i'm going to step out for a bit
21:17:10flaviuThis discussion is just bikeshedding
21:17:14*Matthias247 quit (Read error: Connection reset by peer)
21:17:16renesacfeature, many will vote w/o even trying to write a single toy program in nimrod
21:17:26renesacwith just their blind prejudice
21:17:41renesacof 'nimrod is different, we should pin it down to be equal to others'
21:17:46Mat3feature: exist there any argument other than postulates as you do not like a specific language or that it is your right to choose a specific naming convention ?
21:17:48featurego the python route with regards to case and not pascal :)
21:17:52*Skrylar quit ()
21:18:03*samba_ joined #nimrod
21:18:28EXetoCwe should've cloned C though, with whitespace-indentation as the only exception
21:18:45Araqhi samba_ welcome
21:20:41*samba_ quit (Client Quit)
21:20:43featuretalking about underscores and samba
21:20:51featureimagine now samba and samba_
21:20:53featuretwo same nicks
21:21:01featureif irc didn't recognize them as different
21:21:02featurelol
21:21:43Demostbh almost all variations like that are people's clients falling back to soemthing else because the person was already logged in. IE they are the same person
21:21:54Araq*shrug* right now we have zahary and zahary_ and they are the same person ...
21:22:11Araqand if not that would be confusing
21:22:14dom96Yeah, IRC sure is filled with two different people who have the same nicks but append a couple of underscores to distinguish between each other.
21:22:16featurebut you see it is used and they are not absurd
21:22:46AraqI see it is used and they *denote the same person* and everything else *is* absurd
21:22:47DemosIRC is also not a programming language
21:23:00Demosand in nimrod all variations denote the same "thing"
21:23:05flaviufeature: I don't think that anyone is going to change their mind
21:23:46Demosshould we prefix everything with __CHASNOSCOPECONTROL_MYLIB_...
21:23:47Araqshoudl I assume bstrie_ is a different guy from bstrie who typically is in this channel? that's just absurd.
21:24:19featurehi samba_ welcome why didn't you write hi samba welcome :)
21:24:21Demosanyhow I gotta go herd some cats through the obsticle cource that is my chemestry lab
21:24:35featureI think I have made my point
21:24:43dom96feature: Because IRC is not style insensitive.
21:25:13Demosotrher languages have been case insensitive so it will hardly end the world
21:25:20Mat3EXetoC: Be more consequentive: A Basic clone with indentation but line numbers (and no higher-level support for structured programming) helps feeling some C programmers at home :->
21:26:05Demosalso features are unlikely to ever be decided by vote
21:27:12*Demos quit (Remote host closed the connection)
21:27:31renesacfeature, what have you written in nimrod?
21:30:40featurerenesac, several little programs
21:36:16Mat3ciao
21:36:22*Mat3 quit (Quit: Verlassend)
21:37:01flaviufeature: Fork nimrod and delete compiler/idents.nim:38-39
21:37:26flaviuhttps://github.com/Araq/Nimrod/blob/devel/compiler/idents.nim#L38
21:38:20Araqflaviu: nice. when are you up to fixing bugs related to lambda lifting? :D
21:38:25Araq*to fix
21:39:17flaviuThanks, but I haven't gone near there
21:39:46flaviuI'm going to start off easy, maybe fix 180
21:39:54flaviuissue #180
21:42:24featureflaviu, interesting how 1_1 1_2 1_3 is used in the nimrod dirs. By the way why so many replicas of compiler_indents.c?
21:43:29flaviuThat's the generated C sources
21:44:25bstrie_Araq: you've found me out! I'm just here to besmirch bstrie's good name
21:49:56*bstrie_ is now known as bstrie
21:54:11reactormonkfeature, I think with --cs:full, you get your full case sensitivity
21:54:25reactormonkwill will most likely break the compiler.
21:55:55Araqreactormonk: --cs:full has not been implemented but the compiler itself should be fully case consistent by now
21:56:09Araqso it shouldn't break the compiler at all
21:56:23reactormonkAraq, cool
21:56:27reactormonkbut libs will break
21:56:35reactormonkunless you can actually compile them differently ^^
21:58:01reactormonkfeature, just code nimrod like it were case-sensitive. If you actually get into problems, reconsider your naming scheme.
21:59:51*askatasuna quit (Ping timeout: 250 seconds)
22:00:34OrionPKhow do I convert a GMT time to local time?
22:01:47OrionPKblah hold up.. it's just giving me the complete wrong timestamp
22:02:02OrionPKnothing to do w/ nimrod, disregard :D
22:04:52flaviuI'm not sure I understand whats going on in system/arithm.nim mulInt64(a, b:int64)
22:05:10OrionPKit's giving me GMT (+5), like it's adjusting for local time wtf
22:05:16OrionPKI'm GMT-5
22:05:21OrionPKand it's giving me GMT +5... why.,..
22:08:02flaviuOh, I see. Float is being used to check for overflow
22:10:36Araqflaviu: I copied this code from Python
22:14:06*Demos joined #nimrod
22:22:26*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
22:26:46*Demos quit (Ping timeout: 245 seconds)
22:35:56*brson quit (Ping timeout: 245 seconds)
22:43:25Varriountdom96: Someone should code a github commit bot which checks commits to see if they cause any tests to fail.
22:43:54*brson joined #nimrod
22:43:56dom96Varriount: Nimbuild should do that and it will.
22:44:20Varriountdom96: It would need another copy of the repo to work on, wouldn't it?
22:45:01dom96wait, I misread. Now i'm confused.
22:45:20dom96Don't we already do that?
22:45:48Araqgood night
22:46:33flaviudom96: Something like this I think: https://github.com/spring-projects/spring-xd/pull/729
22:46:37flaviuScroll to the bottom
22:46:39Varriountdom96: A bot which looks at pull requests before they are pulled in, checks them for style consistancy, and runs them against tests
22:47:01dom96oh, then I did understand you correctly the first time heh.
22:47:26dom96I think you can pull the changes from another repo into a branch.
22:49:18Varriountdom96: Currently, how do the hub/bots react when two commits are pushed to the main repo in succession?
22:49:38VarriountSay, 3 minutes apart.
22:49:38dom96The commits are queued.
22:49:43VarriountWhere?
22:49:48dom96By the website.
22:50:18VarriountHm.
22:51:11dom96Before these new features are implemented I first need to change the database.
22:52:35dom96The current db schema wasn't designed for the way that NimBuild currently displays the build information.
22:53:05*darkf joined #nimrod
23:11:27dom96Another nice thing to have would be something which verifies the PRs made on nimrod-code/packages
23:16:01*xenagi joined #nimrod
23:19:44flaviuI added marshal as a dependency to modules for debugging, and it fails because it depends on typeinfo, and `Error: undeclared identifier: 'Pointer'`
23:20:45flaviuI guess my only option is to print the thing manually?
23:22:51dom96Are you trying to debug using endb?
23:23:23flaviuI tried, but last time I did it crashed
23:23:56dom96Personally I rarely use endb/gdb for debugging.
23:24:13dom96I just use excessive amounts of 'echo'
23:25:35flaviuYes, but I can't print out an object tree with echo
23:26:02flaviuI've been using echo($$something), but loading marshal messes up the compiler build order and crashes
23:26:13dom96have you tried repr?
23:26:45flaviuWow, I haven't noticed that
23:26:55flaviuThat makes everything much easier
23:27:21dom96it may be nicer to write your own $ proc for your object tree
23:27:35flaviuIMO, the stdlib needs to be modularized
23:27:52dom96If you're digging in the compiler then it already has some procs which do that, they are named 'debug'
23:27:57*askatasuna joined #nimrod
23:28:59dom96I guess you're talking about system.nim?
23:29:05flaviuYes
23:29:14dom96Yeah, I agree.
23:29:23dom96It's a really large module now.
23:29:32dom96In reality it is modular.
23:29:44dom96It includes the modules though.
23:29:54dom96and this sucks for docs
23:30:02flaviu`using` is really buggy, right?
23:30:42flaviuI mean `include`
23:30:54dom96No. Why would it be?
23:33:23flaviuI thought I had read somewhere it caused issues.
23:36:44runvnchello dom
23:36:54runvncis there anything else you want me to fix in redis besides the thing you mentioned
23:36:55dom96hi runvnc
23:37:21dom96I don't think so, but let me double check.
23:37:46runvncok no rush you can look at it whenever you get to it
23:37:55runvncI am going to fix the thing you said in a minute
23:37:59dom96why are you using a 'ref string'?
23:39:22runvnchm maybe I don't. I thought I needed it because of the var thing
23:39:45runvncwell if it was not a ref string on TRedis
23:39:57runvncbut now its on the ref TPipeline so I guess I dont need it?
23:40:22runvncor originally I think I put it on TRedis by itself then I moved it to TPipeline
23:40:34dom96You should never need it.
23:40:34runvncI will try to take it off
23:41:07runvncwell, I need the TPipeline to be a ref because otherwise I have to change all of the signatures to var TRedis or a pointer
23:41:26dom96No, that's fine. I mean you should never need a ref string.
23:41:34runvnck
23:42:10BitPuffindom96: I always ref string
23:42:45dom96BitPuffin: you do?
23:43:13BitPuffindom96: nah
23:43:25BitPuffinbut I wish the compiler worked, so I could do some gamedev :(
23:43:36runvnclol
23:44:54flaviuBitPuffin: The compiler does work. Are you being polite enough in your code?
23:45:25BitPuffinflaviu: I'm writing awesome code
23:45:40flaviuAraq seems to have added a feature that requires at least 1/100 lines to have please on it for the code to compile
23:46:37dom96Yeah, and once you become best friends with the compiler by being nice to it. It will fix all your bugs for you.
23:48:29flaviuLets actually do that next April 1st
23:50:41dom96runvnc: You should also move the readLine stuff in parseStatus/parseInteger somewhere else instead of introducing a 'lineIn' arg.
23:51:25BitPuffindom96: problem is that the compiler really hates me
23:51:49BitPuffinI probably have the highest rate of running in to badass bugs/hour out of everyone
23:52:38flaviuBitPuffin: And not very many bug reports
23:52:48dom96runvnc: I'll have to review it tomorrow. 1am is too late for review.
23:53:32dom96So I won't pull it today
23:53:46runvncyeah no rush
23:53:53BitPuffinflaviu: :P
23:53:57runvncI will refactor the linein thing a bit
23:54:05BitPuffinthat's because I am a pain in the ass in irc instead
23:54:19dom96runvnc: I'm not sure I like what you've done with the parse* procs.
23:54:41runvncwell, let me explain why I changed it
23:54:51dom96But i'm too tired to think of how it should be done.
23:54:55runvncthe thing is with multi
23:55:08runvncits either I need to keep a stack with all of the expected returns
23:55:21runvncor I need to just look at the first character and be able to handle any type of message
23:55:44flaviuBitPuffin: Really, make bug reports. Not everyone is in IRC constantly, and its really easy to forget about bugs reported in IRC
23:56:00runvncI think there are probably plenty of redis clients that do it the way I did, where they use the first character to determine the message type, since obviously he designed it that way
23:56:18dom96runvnc: yeah, that is how it should be done.
23:56:29runvncyou want me to change it to use a stack
23:56:53dom96No. But I don't like that parseStatus is now used in two different ways.
23:57:12runvnchm yeah that bothered me a bit too
23:57:28dom96Perhaps you should split it into readStatus and parseStatus
23:57:39dom96That will mean that you will need to change a lot of code though...
23:57:42flaviuIs it possible to apply a magic to a module?
23:57:45dom96But sometimes it's necessary I guess
23:58:04runvncyeah thats why I ended up doing that, didnt want to go through all of the message procs
23:58:05dom96and then you can use parseStatus in your parseNext (which should actually be called readNext)
23:58:22dom96it should be a simple find & replace though
23:58:36runvncright
23:59:13runvncthanks
23:59:38dom96Sorry if I'm being too demanding.
23:59:40runvncalso next time I ask you about something at 1am please dont be shy to tell me to go away, I am in california and it just takes me awhile to get around
23:59:59runvncso I just realized its like 1am over there