<< 18-12-2013 >>

00:13:28*brson quit (Ping timeout: 260 seconds)
00:14:02*brson joined #nimrod
00:23:44*brson quit (Ping timeout: 272 seconds)
00:24:06*brson joined #nimrod
00:32:16OrionPKMsomething like caniuse would be great for nimrod's docs; where you start typing, and it shows relevant things instantly
00:32:30OrionPKMhttp://caniuse.com/
00:32:46OrionPKMthen build a webview of that into aporia
00:33:01*brson quit (Quit: leaving)
00:34:00Araqyeah, nobody uses a browser
00:34:16Araqlet's embed a browser in aporia
00:34:22*brson joined #nimrod
00:34:39Araqthe rest of the idea is good though :P
00:34:41OrionPKMthe benefit, since apparently it's not obvious
00:34:50OrionPKMis that you dont need to rebuild aporia to get doc updates
00:34:58OrionPKMand you dont need to reinvent the wheel on everything else
00:35:12Araqhuh?
00:35:15VarriountAraq, but Eclipse does it!
00:35:16OrionPKMand you dont need to leave your IDE to get documentation
00:35:18Varriount;3
00:35:32OrionPKMyou can just hit some hotkeys
00:35:34AraqOrionPKM: aporia already embeds the docs
00:35:46OrionPKMhow do you search them?
00:35:55Araqbut you're suggesting a website with search feature
00:36:03OrionPKMI am
00:36:13Araqso use a browser to view the website
00:36:17*brson quit (Client Quit)
00:36:19OrionPKMthats the idea
00:36:26Araqhow hard can it be?
00:36:32OrionPKMnot very
00:36:33*brson joined #nimrod
00:36:42OrionPKMespecially if jsdoc was included
00:36:43*brson quit (Client Quit)
00:36:44OrionPKM:P
00:36:57Araqsorry, haven't looked at your PR
00:37:01*brson joined #nimrod
00:37:06Araqyet
00:42:51BitPuffinVarriount: macbook
00:45:50EXetoCgorge + link. eeeexcellent
00:46:43EXetoCBitPuffin: are you gonna need freetype?
00:47:10BitPuffinEXetoC: probably yeah
00:47:47BitPuffinnot for the project I've been talking about though
00:47:50BitPuffinbut maybe some of the others
00:50:34psquidI feel like Windows doesn't like either Babel or Nimrod. http://pastebin.ca/2511017
00:51:26Araqpsquid: error: size of array 'assert_numbits' is negative has been added to keep your sanity
00:51:40Araqit means nimrod disagrees with gcc on the size of a pointer
00:51:58Araqso nimrod is 32 bit and your gcc 64 bit or the other way round
00:52:10Araqand fyi I use babel and nimrod on windows all the time
00:52:45psquidAha. :o
00:53:58psquidWell, Nimrod is definitely 64-bit, so I guess I need to figure out how best to proceed with getting a 64-bit GCC. Probably not from MinGW, since the installer they use now didn't give me any (obvious) choice of that option.
00:54:08EXetoCBitPuffin: give me $50 first :p
00:54:42Araqwell that's surprising, how did you manage to build a 64bit nimrod with a 32bit gcc?
00:55:22BitPuffinEXetoC: nein
00:55:40EXetoC:/
00:56:39psquidAraq: I didn't, the zip I ended up grabbing from build.nimrod-lang.org had it already compiled.
00:56:59Araqah, that makes sense
00:57:15VarriountHm. Is it better to do a pre-emptive check for a file's read only attribute, on merely reset a file's attribute's after it's deletion has failed?
00:57:29Varriount*or merely
00:57:30psquidThough I think I also grabbed the csources, so I may well just get the current git HEAD and then plug csources into that.
00:58:09AraqVarriount: I think that saves 1 roundtrip to the kernel in general so it should be faster
00:58:09Varriountpsquid, if you need 64 bit binaries built for nimrod, I can help.
00:58:19VarriountAraq, which one is faster?
00:58:43Araqchecking the readonly attribute only if it failed already
00:59:14VarriountOk. It'll lead to slightly more nested (indented?) code, just so you know.
00:59:32AraqI know my tolerance for nesting is high
00:59:54psquidHm, actually it'd probably be better to get a 64-bit GCC in the long run, since I'll be building 64-bit code on a 64-bit box then.
01:00:16psquidAnyway! Thanks for the explanation, Araq. :)
01:00:43Araqwell one used to get random crashes instead :P
01:00:48Varriountpsquid, you running windows?
01:00:53Araqthis check really is helpful
01:01:20psquidVarriount: In a VM, yes. I need to test stuff on it, amongst other things.
01:01:43Varriountpsquid, http://mingw-w64.sourceforge.net/
01:02:19psquidMy regular OS is Linux, though. Which made it a lot easier to get all this stuff installed. Windows really needs a (good; I'm aware of the attempts, I just don't like them) package manager. xD
01:02:26psquidOoh, nice.
01:02:51VarriountUnless you have infinite patience and knowledge of compiler internals, I beg of you, for the love of all that is holy, do *not* try to build/bootstrap a 64 bit gcc
01:03:08VarriountJust download the magic binaries that are provided.
01:03:20Araqyeah linux is king here. my package manager doesn't let me update my distribution
01:03:33Araqand x11 crashes randomly
01:03:48Varriountpsquid, Also, don't try building gtk. You'll just give yourself a migraine.
01:04:26psquidVarriount: Noted.
01:04:28VarriountCircular dependancies + 64 bit complications = Migraine.
01:04:59Demoswell just looking at GTK will give you a migraine, best argument for not using C ever
01:05:00psquidJust developing against gtk gives me enough migraines anyway. xD
01:05:00EXetoCit should just be "./configure; make; make install" :p
01:05:15VarriountEXetoC, I wish.
01:05:15*BitPuffin quit (Ping timeout: 260 seconds)
01:05:45VarriountIt's nearly never that simple in linux-package-ported-to-windows world.
01:06:01psquid"136 important updates are available" Ah yes, that's what happens when I don't use this VM in a long time. xD
01:06:09EXetoCoh you mean like that
01:06:57Araqpsquid: I got 1526 on this linux machine but can't update
01:07:23Araqfails for some reason and I can't be bothered to look into it
01:07:53Araqand this always happens for me after some time anyway so I end up burning new installation DVDs
01:08:20AraqI guess I use the wrong distro, but I tried lots of ... :P
01:08:42psquidHeh.
01:08:58psquidI tend to not get along with anything apt-based. :P
01:09:33psquidThough given I'm running Gentoo, I'm hardly about to suggest you should use what I do. xD
01:11:46*Demos does not like gentoo
01:11:57Demosyou could run OpenBSD
01:12:05Araqwell don't tell me win needs a package manager please
01:12:13Araqit doesn't
01:12:20Demosdoing package management when the packages are not FOSS is really hard
01:12:48Demosand with the standard "I am the best program I will put my icon everywhere in case you forget" attitude of windows apps...
01:12:51Araqpackage managers are mostly hacks necessary for unix's stupid directory hierarchy
01:12:52EXetoCbecause installing and updating libs is trivial
01:13:04EXetoCreally?
01:13:47Araqwe have a good package manager anyway.
01:13:55AraqIt's called steam.
01:14:13Araqreally cool, forces you to download a 5 GB update before you can play the game
01:14:39Araqif that's not progress then I don't know
01:15:50Araqgood night
01:16:39EXetoCpacman -S freetype2. I'm pretty sure I like that kind of convenience
01:17:03VarriountEXetoC, been on the VNUG yet?
01:17:08EXetoCno
01:17:16Demosbut you should not have to install libraries in the first place
01:17:21Demosit is dumb
01:17:43Demosand it means we windows users have to deal with your nix apps having like 15 shared library dependencies
01:17:48Demosand porting them is hard
01:18:28EXetoCyou have apps, and then there's the development aspect
01:18:55VarriountDemos, don't forget the circular dependancies
01:19:06VarriountAnd the 10 minute long configure sessions
01:20:23DemosI will admit that MSBuild is way more fucked up than autotools is
01:20:37VarriountDemos, oh, I agree entirely.
01:21:04VarriountThe fact that you pretty much have to use VS to do anything beyond configuration sucks.
01:21:07EXetoCxml, right?
01:21:07Demosbut we have cmake, so we don't need to deal with it. Although I prefer the nimrod approach of using CTFE to make a build system out of the compiler
01:21:15VarriountCTFE?
01:21:26DemosCompile time function eval, term is from D, but nimrod has it
01:21:32VarriountAh.
01:21:48Demosand yeah, MSBuild is XML
01:22:12Demosbecause when I hear "build system" I think "I need markup"
01:22:36VarriountDemos, not only markup, but user-unfriendly markup
01:23:08Demoshonestly, XML is not that bad if you are actually using it for markup. But nobody actually uses it that way
01:23:22VarriountThey use it for configuration.
01:23:35Demoswhich is it not very good for
01:23:50Demosand as an alternitive to databases.....
01:24:32psquidDemos: On the libraries topic, if they shouldn't need to be separate installs, how do you propose that programs should reuse existing bodies of code without building copies of it into the compiled program? (Even with dead-code elimination, that's still going to result in duplication in the event that you have more than one program using the same code. Though granted Nimrod does a good enough job with DCE to
01:24:34psquidmostly alleviate that.)
01:25:14Demospsquid, just copy the code into the executable. Heck the OS can deal with some of that as well
01:25:42DemosIE. Lib1 has all the code in one page sized chunk and if two people use it than they can share
01:25:51Demosbut yeah, duplicate the code
01:26:15Demosshared libs may still be good for like hotloading and plugins
01:26:30psquidFair enough. Actually, with an OS designed for it, appending libraries to the executable and letting the OS handle deduping sounds pretty good. The trouble is, we don't have any OSes which do that yet. xD
01:26:44Demoslinux can do some of it I think
01:26:53psquidQuite possibly!
01:26:55Demosyou would need to have that be on like function granularity though
01:26:58Varriount^ I think I read about such an extension
01:27:06Demoswhich is a problem unless you want to have each function on its own page "D
01:27:35Demosactually MSVC can generate CIL output files that can be linked function by function
01:27:47*brson quit (Quit: leaving)
01:27:59Demosand besides I really do not care if my executable is a few megs bigger if it means I do not have to deal with dependencies
01:28:01*brson joined #nimrod
01:28:15EXetoCsome libs are massive though
01:28:56psquidSo apply the same trick on the filesystem level - use a filesystem which dedups. :P
01:29:01Demosapperently shared libs did not even help xorg that much, although my source for that is like cat-v so take with salt
01:29:03psquidAnd those *do* already exist!
01:29:07EXetoCand where do you stop? at most before the windowing system, right? :p
01:29:09Demosthat too!
01:30:49DemosI mean consider this: on windows nobody actually shares libraries anyway
01:30:50VarriountDemos, care to comment on this piece of code? -> https://gist.github.com/Varriount/8015894
01:31:06Demosand when they do they ALWAYS distribute the installer for the lib with their software
01:31:08VarriountI'm pondering using templates to remove the duplicated code.
01:31:54Demoswhat to translage DeleteFile to DeleteFileW on windows
01:31:57psquidDemos: And my Windows partitions always have considerably more space used for near enough the same installed stuff. Though disk space is cheap enough anyway these days. xD
01:32:22VarriountDemos, pretty much
01:32:31Demospsquid, sure, but consider that shared libs (which windows apps use but do not share) always have all their symbols, no striping
01:32:38EXetoChm
01:32:47Demosthere /may/ be a compiler option to do that for you
01:33:05DemosI know there is a compiler option to change stuff like sprintf to sptintf_s
01:33:11Demosbut just deal with it
01:33:11psquidTrue enough.
01:33:24VarriountDemos, I'm talking about the two sections of code
01:33:45VarriountThere's one for dealing with Wide string windows apis (unicode) and one for ansi
01:33:49Demosyeah, but presumably that calls some windows functions at some point
01:33:53EXetoCmaybe there should be a proper abstraction for that
01:33:59Demosoh that is windows and windows
01:34:01Demosnot windows and nix
01:34:02Demossorry
01:34:06EXetoCrather than having to create a template every time
01:34:25VarriountEXetoC, things this are sprinkled all throughout the stdlib.
01:34:47Demosyeah do it, sounds neat
01:35:13VarriountI think it's done in the sake of performance. Auto-wrapping the api calls would mean creation of a new wide string for each call, unless a caching mechanism was used.
01:36:14DemosI dont think that would matter
01:36:19Demosand you need to do it in any case
01:37:04VarriountDemos, I mean, for each and every api call. In the posted code, that means that 'f' (the wide string filename) would be duplicated about 3 times.
01:37:11Demosbut if UNICODE and _UNICODE are not defined when it is passed to MSVC the wide versions of the apicalls will not even exist
01:37:11VarriountInstead of the one time.
01:37:31VarriountDemos, "when useWinUnicode:"
01:37:44Demoswhich at some point defines UNICODE and _UNICODE
01:38:05Demosanyway, presumably you could make the template only widen once
01:38:36VarriountDemos, a template for that entire function part, yes. Not an automatic converter for windows api calls though.
01:39:13Demosyou could make the template require you have already widened the string
01:39:20Demosand just take both versions
01:39:31Varriountnow you've lost me.
01:39:44Demosdisadvantage is that you still widen when doing only ASCII
01:40:04Demosthe template has access to both the widened and narrow string
01:41:44EXetoCmaybe all the function pairs should be wrapped
01:42:18EXetoCA more hacky approach would be to have a macro that appends a W conditionally. I'm sure it's possible
01:44:14VarriountEXetoC, their are parts of os.nim which define templates that call one function in a pair or the other
01:44:26EXetoCawesome
01:44:40VarriountBut, I don't know if I should follow the convention..
01:44:53Demosoh no! a new version of KSP is out... and right before an exam as well
01:45:01VarriountKSP?
01:45:11DemosKerpal Space Program
01:45:13psquidKerbal Space Program, probably
01:45:14psquidyeah
01:45:31Demosnot quite as bad as SpaceChem but still
01:45:40shodan45:O
01:45:49*shodan45 goes to check steam
01:45:56EXetoClame. day of defeat ftw
01:46:22Demoscareful it is a trap for computer scientists, someone essentially saw a race condition and said "wow! this would make a great game"
01:46:29shodan45EXetoC: heh, haven't played DoD in a long long time
01:46:41EXetoC:-p
01:46:45*DAddYE quit (Remote host closed the connection)
01:47:21*DAddYE joined #nimrod
01:49:12VarriountEXetoC, I'm gonna ask Araq about the template idea tomarrow.
01:49:54OrionPKMdemos how is your visual studio plugin coming
01:50:09VarriountIt's just that, in most cases, the logic needed when using each function pair is quite similar.
01:51:00DemosOK I am binding the token parsing stuff to C#, having an annoying segfault, openLexer seems to be corrupting /something/
01:51:37Demostoday is the first time I have worked on it is quite a while, exams being what they are
01:51:59*DAddYE quit (Ping timeout: 260 seconds)
02:04:58VarriountOk.. how do I test both unicode and ansi versions of window's nimrod procedures...
02:09:12EXetoC"pen_x += face.getFaceGlyphSlot.getGlyphSlotAdvance.x.FT_Int" should I make it look less like java?
02:10:02VarriountGreat, now my eyes are bleeding. Thank you very much EXetoC
02:10:43EXetoCsorry, will deal with this
02:12:09Varriounteven without intermediate variables, that could be renamed into comething like "face.glyphSlot.advance.FT_Int"
02:14:55EXetoCthat's just my C interface. I'll have to wrap it once more in nimrod
02:22:18OrionPKMis there some way to tell the compiler to stop, other than {.error/fatal.}
02:22:36VarriountOrionPKM, static: assert false
02:23:32OrionPKMvarriount what about silently
02:23:45OrionPKMassert false spits out even more stuff than {.error.}
02:24:15EXetoCsilently? it better be detectable optionally then :p
02:24:19OrionPKMI essentially just want to use nimrods runtime without compiling any C/nimcache stuff
02:24:34VarriountErm, OrionPKM, you mean, like a VM?
02:24:51VarriountLike, what Araq's been working on for months now?
02:24:52OrionPKMI'm writing a compile time string parser/converter and I just want a test bed
02:25:05OrionPKMvarriount there is already a vm
02:25:56OrionPKMyou can execute nimrod code at compile time, which is all I need to do, then I want to stop compilation
02:26:08OrionPKMit's not important I guess, I can just error out
02:35:58Demosis the new VM going to give us a less segfaulty rpel
02:36:55VarriountYes.
02:37:02psquidA Read-Print-Eval-Loop sounds like a fun idea.
02:37:06VarriountDemos, it's buildable right now.
02:37:21Demospsquid, we have one
02:37:23Demosnimrod i
02:37:33Varriountpsquid, don't do it
02:37:38DemosVarriount, do I get it if I am just building from master?
02:37:44VarriountIt'll make your computer explode
02:37:48psquidAnd yeah, pretty sure I read somewhere (forums?) that that was half the point of the new one.
02:37:54VarriountDemos, it's the vm branch
02:38:08Demosis the other half doing compile time FFI?
02:38:19psquidDemos: No, we have a Read-Eval-Print-Loop. :P That's the *boring* way around, though.
02:38:24psquidI think so, yeah.
02:38:26VarriountDemos, macros and templates
02:38:42Varriountthe new vm is used to run them.
02:39:17DemosI thought the compile jut dealt with macros and template, and the VM was for compile time functions and external code
02:39:39VarriountMacros and templates *are* compile time functions
02:39:46psquidMaybe a RPEL would decide what you wanted it to do first, then say "oops my bad" if it then finished eval'ing and found it had been wrong.
02:39:55Demosis the motivation for using the VM to run external C code just better errors and stuff or is there a security reason or something.
02:40:24Demosoh derp
02:40:37*Varriount slaps Demos around a bit with a giant trout.
02:40:42DemosRPEL sounds so much nicer than REPL, I pronounce it as rpel
02:40:50Demoswhaaaa
02:41:15VarriountAnd no, I am not running mIRC
02:41:18Demosletting the compile call arbitrary code "on the real metal"... what could go wrong!
02:41:49VarriountDemos, build systems in C and C++ do the same thing.
02:42:34Demoswhat? have a VM or run code on the real chip
02:42:57VarriountWhat's the difference?
02:43:16VarriountI mean, in this case, both can amount to the same thing.
02:43:26*psquid slaps a giant trout around a bit with Varriount
02:43:39*Varriount vaporizes the trout.
02:43:56DemosI know, but I thought various compile time code eval was a motivation for the new VM
02:44:09VarriountYes. It is.
02:48:01VarriountYay! It's ALIIIIIIVE
02:48:05*DAddYE joined #nimrod
02:49:59OrionPKMyou can do all kinds of compile time stuff right now w/o the new vm
02:50:12OrionPKMthere's just a lot of very important things you cant do
02:51:16psquidstaticExec alone is pretty much already a license to do dangerous shit at compile time if you feel like it. But that power is also necessary to be able to do useful stuff in the same vein.
02:52:14*DAddYE quit (Ping timeout: 240 seconds)
02:52:14VarriountIsn't staticExec marked to be depracated?
02:54:15*psquid shrugs
02:58:11*DAddYE joined #nimrod
03:03:03*DAddYE quit (Ping timeout: 272 seconds)
03:11:27VarriountBlargh.. Writing unit tests is boring.
03:15:32*DAddYE joined #nimrod
03:15:41*DAddYE quit (Remote host closed the connection)
03:15:47*DAddYE joined #nimrod
03:30:03*ddl_smurf quit (Quit: ddl_smurf)
03:40:56*brson quit (Quit: leaving)
03:41:24*brson joined #nimrod
03:54:18*shodan45 quit (Ping timeout: 245 seconds)
03:56:53OrionPKMsolution: dont write tests ;P
04:00:30*dymk quit (Quit: ZNC Bouncer Quitting)
04:01:24*dymk joined #nimrod
04:05:45*dymk quit (Ping timeout: 245 seconds)
04:12:50*dymk joined #nimrod
04:14:21*mal`` quit (Ping timeout: 246 seconds)
04:17:20*dymk quit (Client Quit)
04:17:44*OrionPKM quit (Remote host closed the connection)
04:19:48*mal`` joined #nimrod
04:20:57*OrionPKM joined #nimrod
04:29:27*dymk joined #nimrod
04:56:48*dymk quit (Ping timeout: 240 seconds)
04:58:28*dymk joined #nimrod
05:11:08*dymk quit (Ping timeout: 246 seconds)
05:23:29*dymk joined #nimrod
05:42:24*dymk quit (Ping timeout: 240 seconds)
05:42:24*dymk joined #nimrod
05:57:44*DAddYE quit (Remote host closed the connection)
06:03:04*brson quit (Quit: leaving)
06:59:09*DAddYE joined #nimrod
07:01:04*DAddYE_ joined #nimrod
07:01:04*DAddYE quit (Read error: Connection reset by peer)
07:01:14*DAddYE_ quit (Remote host closed the connection)
07:01:24*DAddYE joined #nimrod
07:11:24*Demos quit (Quit: Leaving)
07:21:29*Mordecai joined #nimrod
07:22:44*psquid quit (Ping timeout: 246 seconds)
07:32:39*dirkk0 joined #nimrod
07:43:00*dirkk0 quit (Quit: Leaving)
08:06:45*shodan45 joined #nimrod
08:21:10*Araq_ joined #nimrod
08:57:30*Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 25.0.1/20131112160018])
09:11:00*jenjimm quit (*.net *.split)
09:11:00*Araq quit (*.net *.split)
09:11:00*vendethiel quit (*.net *.split)
09:11:00*Roin quit (*.net *.split)
09:11:00*Kooda quit (*.net *.split)
09:11:00*joelmo quit (*.net *.split)
09:11:00*JStoker quit (*.net *.split)
09:12:45*joelmo joined #nimrod
09:12:45*jenjimm joined #nimrod
09:12:45*Araq joined #nimrod
09:12:45*vendethiel joined #nimrod
09:12:45*Kooda joined #nimrod
09:12:45*JStoker joined #nimrod
09:15:10*Roin joined #nimrod
09:16:25*jenjimm quit (*.net *.split)
09:16:25*Araq quit (*.net *.split)
09:16:25*vendethiel quit (*.net *.split)
09:16:25*Kooda quit (*.net *.split)
09:16:25*joelmo quit (*.net *.split)
09:16:25*JStoker quit (*.net *.split)
09:21:50*joelmo joined #nimrod
09:21:50*jenjimm joined #nimrod
09:21:50*Araq joined #nimrod
09:21:50*vendethiel joined #nimrod
09:21:50*Kooda joined #nimrod
09:21:50*JStoker joined #nimrod
09:35:50*CarpNet joined #nimrod
09:50:11*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
10:08:01*DAddYE quit (Remote host closed the connection)
10:09:21*radsoc joined #nimrod
10:10:11*Araq_ joined #nimrod
10:17:51*dymk quit (Ping timeout: 240 seconds)
10:20:06*dymk joined #nimrod
10:24:26*dymk quit (Ping timeout: 246 seconds)
10:26:11*zielmicha1 joined #nimrod
10:27:11*zielmicha quit (Ping timeout: 240 seconds)
10:34:01EXetoCVarriount: why do you think staticExec might be deprecated?
10:43:06*dymk joined #nimrod
10:47:11*dymk quit (Ping timeout: 246 seconds)
10:54:06*dymk joined #nimrod
10:58:21*dymk quit (Ping timeout: 245 seconds)
11:05:11*dymk joined #nimrod
11:05:11*dymk quit (Excess Flood)
11:05:31*dymk joined #nimrod
11:08:46*BitPuffin joined #nimrod
11:09:51*dymk quit (Ping timeout: 246 seconds)
11:12:31*dymk joined #nimrod
11:16:41*dymk quit (Ping timeout: 245 seconds)
11:18:06*radsoc quit (Ping timeout: 272 seconds)
11:21:32*BitPuffin quit (Quit: WeeChat 0.4.2)
11:21:52*BitPuffin joined #nimrod
11:22:07BitPuffinahoy guys
11:22:22BitPuffinVarriount, dom96: I'll probably be on the VNUG later :)
11:24:32*dymk joined #nimrod
11:25:42BitPuffinjust installed teamspeak hehe
11:28:52*dymk quit (Ping timeout: 246 seconds)
11:30:07Araq_just for the record, staticExec will stay
11:33:32Araq_vm2 can compile keineschweine! Which is the ultimate stress test for macros :-)
11:35:27EXetoC\o/
11:36:02BitPuffinwhat is keineschweine lol
11:36:12Araq_fowl's macros stress test
11:36:32Araq_it's also a game I never played
11:37:47fowla game i never finished
11:38:32KoodaWhat’s vm2?
11:38:52*ddl_smurf joined #nimrod
11:39:07EXetoCvirtual machine #2?
11:39:27KoodaWhat would that be for nimrod? :o
11:39:27EXetoC2.0, whatever. new, awesome VM
11:39:52fowlKooda, a better compile-time evaluator
11:40:02KoodaOk
11:40:32*dymk joined #nimrod
11:44:22Araq_vm2 is the 2nd virtual machine I wrote ... well not really ;-)
11:44:52*dymk quit (Ping timeout: 246 seconds)
11:45:52fowlAraq_, will it mean we can use nimrod as a scripting lang
11:46:12Araq_I think so, yes
11:46:22Araq_the FFI support is still not finished though
11:46:52BitPuffinthat will be cool
11:47:07BitPuffinand then for the release version you compile it for ultimate efficiency :P
11:47:22Kooda:3
11:59:02*dymk joined #nimrod
12:03:32*dymk quit (Client Quit)
12:04:42*dymk joined #nimrod
12:05:47BitPuffindom96: that was weird
12:05:47BitPuffinI just installed babel
12:06:02BitPuffinand when I installed scrypt.nim it said that it already existed
12:06:12BitPuffinwhich was weird because I didn't have scrypt.nim installed already
12:06:12BitPuffinsince I didn't even have babel
12:06:47BitPuffingonna restart my terminal lol
12:06:47BitPuffinbrb
12:06:47*BitPuffin quit (Quit: WeeChat 0.4.2)
12:07:52*BitPuffin joined #nimrod
12:08:47*dymk quit (Ping timeout: 245 seconds)
12:20:02*dymk joined #nimrod
12:20:02BitPuffinI think I am gonna write some of my javascript in nimord
12:20:12BitPuffinnon of the GUI stuff though
12:20:12BitPuffinbut my spam protection
12:32:47BitPuffininspired by ze BTCs
13:22:48fowlhi BitPuffin
13:29:33*Hannibal_Smith joined #nimrod
13:58:13*Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 25.0.1/20131112160018])
14:13:23*faassen joined #nimrod
14:21:48BitPuffinyoyo fowl
14:22:03BitPuffinIf anyone mentions btc they can expect fowl's attention
14:22:13fowldont care about btc
14:22:23fowlits all about the doge
14:22:23BitPuffinaw yeah
14:27:43*darkf quit (Quit: Leaving)
14:52:43*Araq_ joined #nimrod
15:02:13*Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 25.0.1/20131112160018])
15:09:33*dymk quit (Ping timeout: 252 seconds)
15:10:33*dymk joined #nimrod
15:15:23*dymk quit (Ping timeout: 264 seconds)
15:28:08*dymk joined #nimrod
15:32:33*dymk quit (Ping timeout: 245 seconds)
15:34:09*dymk joined #nimrod
15:38:24*dymk quit (Ping timeout: 245 seconds)
15:39:09*dymk joined #nimrod
15:43:34*dymk quit (Ping timeout: 260 seconds)
15:55:14*zielmicha1 quit (Ping timeout: 240 seconds)
15:57:09*dymk joined #nimrod
16:01:29*dymk quit (Ping timeout: 246 seconds)
16:09:44*dymk joined #nimrod
16:14:14*dymk quit (Ping timeout: 245 seconds)
16:15:31*dymk joined #nimrod
16:16:12dom96BitPuffin: Hopefully it's not some weird Mac OS X bug
16:20:02*dymk quit (Ping timeout: 264 seconds)
16:33:35*dymk joined #nimrod
16:38:08*dymk quit (Ping timeout: 260 seconds)
16:39:05*zielmicha joined #nimrod
16:44:29*dymk joined #nimrod
16:46:45*ddl_smurf quit (Quit: ddl_smurf)
16:48:45*dymk quit (Ping timeout: 245 seconds)
16:50:59*dymk joined #nimrod
17:04:01dom96hah, they just mentioned BitCoin in Almost Human
17:04:58fowlwhats almost human
17:05:07dom96a tv show
17:10:25*dymk quit (Ping timeout: 245 seconds)
17:12:08OrionPKMI heard bitcoin lost 50% of its worth overnight
17:12:19dom96yea
17:15:22dom96seems to be rising up again pretty fast though
17:15:41Trixar_zaIt does that
17:16:03*BitPuffin quit (Ping timeout: 250 seconds)
17:16:11Trixar_zaBut I think it's intentional. The Chinese really wants to grow it's exchange rate
17:25:33*dymk joined #nimrod
17:29:36*zielmicha quit (Read error: Operation timed out)
17:32:57*zielmicha joined #nimrod
17:44:10*DAddYE joined #nimrod
17:44:13*DAddYE quit (Remote host closed the connection)
17:44:26*DAddYE joined #nimrod
17:49:46*Demos joined #nimrod
17:56:44*jenjimm quit (*.net *.split)
17:56:44*Araq quit (*.net *.split)
17:56:44*vendethiel quit (*.net *.split)
17:56:44*Kooda quit (*.net *.split)
17:56:44*joelmo quit (*.net *.split)
17:56:45*JStoker quit (*.net *.split)
18:11:52shodan45wonder what happened to freenode :/
18:13:08*joelmo joined #nimrod
18:13:08*jenjimm joined #nimrod
18:13:08*Araq joined #nimrod
18:13:08*vendethiel joined #nimrod
18:13:08*Kooda joined #nimrod
18:13:08*JStoker joined #nimrod
18:14:15shodan45welcome back, netsplitters
18:14:46*Mat3 joined #nimrod
18:14:50Mat3hi all
18:15:01dom96hello
18:15:07*gradha joined #nimrod
18:15:17Mat3hi dom96 and gradha
18:15:21Mat3what's new ?
18:16:03gradhaMat3: nimrod is gaining notoriety, people ara starting to ask questions http://stackoverflow.com/questions/20655443/passing-complex-parameters-to-a-nimrod-macro
18:18:11gradhamaybe I should ask SO what is nimrod's mascot
18:18:43gradhait certainly needs a name
18:19:12Mat3gradha: Ah, that is a nice development !
18:25:45*BitPuffin joined #nimrod
18:27:29Mat3hi BitPuffin
18:27:55gradhaMat3: you should ask BitPuffin about Varriount's Nimrod User Group
18:32:56*brson joined #nimrod
18:33:52BitPuffinhey Mat3
18:34:00BitPuffingradha: but I was the one who came up with it
18:34:02BitPuffin:(
18:35:11*CarpNet quit (Quit: Leaving)
18:35:42gradhasorry, it's my new hobby, s/virtual/varriount/g in everyday conversations
18:40:11*brson quit (Ping timeout: 240 seconds)
18:50:36*brson joined #nimrod
19:00:17*achim joined #nimrod
19:02:05*BitPuffin quit (Ping timeout: 245 seconds)
19:06:39*achim quit (Ping timeout: 240 seconds)
19:08:13*achim joined #nimrod
19:09:09Araqhi Mat3
19:17:58EXetoChow do I convert a string to UTF-32 code points?
19:18:43VarriountCast each char to an int32?
19:19:29Araquse the unicode.runes iterator
19:20:59EXetoCyeah that works
19:23:03gradhamanual says "Macros should deal with nnkIdent nodes and do not need to deal with nnkSym nodes", but inside a macro I get param.kind == nnkSym. Isn't that contradicting?
19:24:50gradhaah, that's because I was passing a var, when I const it I get an nnkPar… only that makes less sense
19:25:56Araqthat part of the manual is outdated
19:39:20*BitPuffin joined #nimrod
19:39:59VarriountMmm. A spoonful of apricot preserve helps the medicine go down.
19:41:19gradhaAraq: find a name for the honey badger mascot
19:41:30AraqNimrod?
19:41:37Varriount^ ?
19:41:45Araq"pussy riot Nimrod"?
19:41:46gradhait would be awesome if people programmed in Duke rather than Java
19:42:04VarriountDuke?
19:42:11zaharyAraq, just how much do you hate expr[T]. I'm now trying it switch to static[T], but unfortunately this is a bit ambiguous - static[int] is parsed in the same way as static[1], which is equivalent to static(array(1))
19:42:16gradhaVarriount: that's java's mascot name
19:42:25gradhalet's see what go's name is
19:43:15Araqzahary: why is static[1] equivalent to static(array(1))?
19:43:32AraqI guess I misunderstand you and you mean the array constructor?
19:43:40zaharyit's static[bracket[1]] to be precise
19:43:48zaharybracker being the array constructor
19:43:49gradhaamazing, go's mascot is unnamed https://en.wikipedia.org/wiki/Go_(programming_language)#Mascot
19:44:18AraqI'd special case "static [" in the parser
19:44:41zaharyshould I try to look for the space?
19:44:52Araqnah just for the [
19:44:52zaharyi.e. static[] to be different than static []
19:45:16zaharyso static([foo, bar]) is the forced evaluation?
19:45:22zaharyit could work that way I guess
19:45:32Araqyeah, that was my plan
19:45:38zaharyok
19:46:04Araqstatic[ vs static [ is a different topic
19:46:20Araqwe need that later with {.horparsing: on.}
19:47:02Araqso we can play with the horizontal parsing feature and do no harm
19:48:21Araqmy bet is that we'll get quite some people complaining that foo (a, b) changed its semantics
19:48:57gradha{.horseparsing.} ftw
19:49:13EXetoCthat would pass a tuple using the command syntax?
19:49:18EXetoCor whatever it was called
19:50:28*ics joined #nimrod
19:51:05Araqyeah
19:51:45Araqoh and a better name for 'horizontal parsing' would be a good idea, I think
19:52:07Varriountgradha, what kind of horse?
19:52:14AraqsignificantSpaces:on ?
19:52:16EXetoCand the plan is still to have "a+b * c" evaluate to "(a + b) * c"?
19:52:24gradhaVarriount: {.sarahjessicaparsing.} ftw
19:52:27AraqEXetoC: that's correct, yes
19:52:31EXetoCgreat
19:55:33VarriountThe word 'horparsing' has.. significant chances for being misinterpreted.
19:56:15gradhadom96: maybe you should migrate your wikipedia sandbox to http://en.uncyclopedia.co/w/index.php?title=Nimrod&action=edit&redlink=1 and make it serious, which would be a joke in itself
19:57:05Araq"significantSpaces" is the best I can come up with
19:58:02gradha{.hparsing.} is not that difficult to come up with, but definitely boring
19:59:53Varriountgradha, what about {.saggySpaces.} ?
20:01:18AraqstrongSpaces?
20:01:40gradhaVarriount: reminds me of the old times, when a friend at work used the nick "saggytits"
20:01:58VarriountAraq: Ooh, that has possibilities
20:02:22Araqlol? how so?
20:02:24gradhawhitespace indentation… strongSpaces… hmm… indeed
20:02:40VarriountAraq, it just sounds.. cool
20:03:09Araqalright then
20:03:49Araqa good name helps to sell this feature
20:03:51VarriountAraq, it has consonance.
20:04:21VarriountOr alliteration, depending on whether you view "strongSpaces" as one word or two
20:04:27Varriounthttp://en.wikipedia.org/wiki/Literary_consonance
20:11:14Araqwhat does gcc define for x86_64 ?
20:12:00Araq__X86_64__? __x86_64__ ? __amd64__ ? __x8664 ?
20:12:08*Hannibal_Smith quit (Quit: Sto andando via)
20:12:36Mat3hi Araq and all
20:12:49gradhawb Mat3
20:12:50Mat3get some sleep, ciao
20:12:56gradhagood bye Mat3
20:13:03*Mat3 quit (Quit: Verlassend)
20:13:20Araqnow that was quick ...
20:13:32Araqit's __x86_64 obviously
20:13:41Araqascii art games
20:21:17*ddl_smurf joined #nimrod
20:29:13VarriountAraq, should I bother writing unit tests for os.nim?
20:30:20Araqwe have tests/run/io.nim for these iirc
20:30:30VarriountOh, didn't see those.
20:33:48VarriountAraq, just pushed new changes to the branch fixing os.removeFile on windows.
20:34:27Araqdo you have a version for -d:useWinAnsi too?
20:35:02VarriountYes. look at the new code above removeFile
20:35:35Araqhave you compiled it with --os:linux and ensured it still compiles under linux?
20:35:35VarriountI used a when useWinUnicode: ... else: ... to create a conditional template
20:35:47VarriountI don't have a linux box.
20:35:57VarriountOh, wait, that can be done?
20:36:00Araqthat doesn't matter
20:36:28Araqit's still useful to test it compiles on linux
20:36:53VarriountWill using boot koch --os:linux work?
20:38:21VarriountDoh, now I feel silly.
20:38:49VarriountAraq, c:\64\nimrod\nimcache\nimrod_system.c:10:22: fatal error: sys/mman.h: No such file or directory
20:38:49Varriount #include <sys/mman.h>
20:39:09Araqsorry, use --compileOnly --os:linux
20:39:10VarriountI guessing that's expected?
20:39:35Araqso yeah, it's expected
20:39:40VarriountOk, it works.
20:39:48Araqtry the same with --os:macosx to be really sure
20:40:07Varriountlib\system\dyncalls.nim(139, 9) Error: no implementation for dyncalls
20:40:22Araqthat's bad
20:40:40Araqwhy does it use dyncalls for mac?
20:40:52VarriountI didn't change anything mac related.
20:42:13*shodan45 quit (Quit: Konversation terminated!)
20:42:26AraqI don't get it
20:42:46Araqdyncalls for mac should use the posix path
20:46:26*Hannibal_Smith joined #nimrod
20:51:01VarriountAraq, I don't know if this is relevant, but I'm running nimrod from a command prompt, not the mingw terminal
20:52:07AraqI never use the mingw terminal
20:56:57Araqzielmicha: congrats for using tags on the errorMessageWriter callback
20:58:04*DAddYE_ joined #nimrod
20:59:03*faassen left #nimrod (#nimrod)
20:59:43AraqVarriount: you didn't get rid of cremove(file)
21:00:52*DAddYE_ quit (Remote host closed the connection)
21:01:15*DAddYE quit (Ping timeout: 245 seconds)
21:01:15*Hannibal_Smith quit (Quit: Sto andando via)
21:01:34*DAddYE joined #nimrod
21:03:45VarriountAraq, I know. Somehow my code got screwy
21:05:04VarriountAraq, request updated.
21:05:34VarriountShould I also update the tags? Add FReadDir or something?
21:07:42Araqwell it doesn't read the directory, does it?
21:08:33VarriountNo, though it reads the file attributes
21:08:55VarriountOr, calls an os api procedure which does.
21:09:26VarriountActually, it doesn't even do that, just write the procedure. Nevermind
21:09:36Varriount*writes the attributes
21:09:57Araqwell the tags should stay as they are
21:10:07Araqthough I'm not sure what they are :P
21:13:30VarriountAraq, what do you think of the conditional templates?
21:14:03Araqfine with me, I'd have used the same I think
21:14:15VarriountThe bits above removeFile, which define 'removeFile
21:14:35Varriount*define 'removeFile' as removeFileW or removeFileA
21:16:11Araqwell yes, I like it
21:17:12*zielmicha quit (Ping timeout: 260 seconds)
21:22:16*DAddYE quit (Remote host closed the connection)
21:22:50*DAddYE joined #nimrod
21:24:22NimBotAraq/Nimrod master b69c666 Clay Sweetser [+0 ±1 -0]: Modified os.removeFile to act correctly when deleting a file that doesn't exist.
21:24:22NimBotAraq/Nimrod master c290d6e Clay Sweetser [+0 ±1 -0]: os.nim - Modify removeFile to use native Windows API calls
21:24:22NimBotAraq/Nimrod master 4642cc3 Clay Sweetser [+0 ±2 -0]: Further fixes (stupid kdiff automerge)
21:24:22NimBotAraq/Nimrod master 2faf29a Andreas Rumpf [+0 ±2 -0]: Merge pull request #762 from Varriount/os/fix-removeFile2... 2 more lines
21:31:48*brihat quit (Ping timeout: 245 seconds)
21:33:54*brihat joined #nimrod
21:36:08AraqVarriount: well it still builds on macosx, so it's fine
21:37:54Araqnow here is my new favourite piece of code:
21:37:58Araqstatic int
21:38:00Araqopen_temp_exec_file_opts_next (void)
21:38:01Araq{
21:38:03Araq if (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
21:38:04Araq open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func (NULL);
21:39:24Araqnote how the reader has to carefully read everything to note it uses the same index twice
21:39:25*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:39:46Araqand how the verbosity doesn't help at all to understand it
21:47:09EXetoC-.-
21:58:51Araq#include <sys/mman.h>
21:58:53Araq#define LACKS_SYS_MMAN_H 1
21:59:17Araqyes, that's right. we inlcude it and still pretend it's lacking
21:59:58Araqlibffi's source code is awful
22:00:11Demoswhat is the seperater for --path?
22:01:23gradhaDemos: if you mean compiler and related tools, try a colon --path:something/out/there
22:01:24Demosnever mind
22:01:41DemosI just specified the path twice, did not solve my problems though
22:01:41Araqthere is none, use --path multiple times instead
22:01:58Demostrying to link to nimrtl.dll, getting undefined symbols, but dependency walker sees them
22:04:23Araqwell let us know once you have a fix ...
22:04:51Demosyeah, likely just a path error. Hence the question
22:05:16Araqwell there is a bug report that building nimrtl.dll is broken
22:05:23Araqhow did you manage to build it?
22:05:29Demosit built fine
22:05:35Demosnimrod c lib\nimrtl.nim
22:05:45Demosnimrod c --passl:-static-libgcc lib\nimrtl.nim
22:06:44Demosmy dll is building without nimrtl but calling functions that deal in gc'd pointers seems to cause pain
22:06:49Demosand by pain I mean coredumps
22:08:42Araqwell there is a test somewhere
22:08:53Araqthat tests the gc works across dll boundaries
22:09:33Araqtests/dll contains a "client server" test
22:09:34DemosOK I got it to build, was indeed a path issue
22:10:04Demoserm OK I can try that, but I am like making a GC'd object, pinning it, then returning a pointer to C#
22:10:29Demoshonestly I could just use alloc but some of the functions I call expect a ref blarg
22:10:38Demoscan I just give them a ptr blarg?
22:11:08Araqno
22:11:53Araqbut you can't give a C# object to a 'ref' either
22:14:39DemosI am returning a ref and taking it as an IntPtr in c#
22:16:25Demosanyway I have to go, I will be back in a bit. But it seems that GC test works
22:16:28*Demos quit (Quit: Leaving)
22:26:43*Demos joined #nimrod
22:45:15*darkf joined #nimrod
22:55:04gradhalooks like slurp commands are done using the current working directory
22:55:16gradhahow can I make slurp use a relative path to the module using the slurp?
22:56:30*achim quit (Quit: Computer has gone to sleep.)
22:57:09*psquid joined #nimrod
22:57:31*Mordecai quit (Ping timeout: 250 seconds)
23:01:53*DAddYE_ joined #nimrod
23:04:09*DAddYE_ quit (Remote host closed the connection)
23:04:33*DAddYE quit (Read error: No route to host)
23:04:48*DAddYE joined #nimrod
23:11:34gradhagood night, honey badgers
23:11:48*gradha quit (Quit: bbl, need to watch http://www.youtube.com/watch?v=dEf4PJZXBxA again)
23:34:11*q66_ joined #nimrod
23:37:27*q66 quit (Ping timeout: 246 seconds)