<<03-03-2013>>

00:27:14*XAMPP-8 joined #nimrod
00:50:01*XAMPP-8 quit (Read error: Connection reset by peer)
04:17:18*q66 quit (Remote host closed the connection)
05:18:58*Zor_ joined #nimrod
05:22:46*Zor quit (Ping timeout: 255 seconds)
05:27:32*rking quit (Ping timeout: 255 seconds)
05:31:19*rking joined #nimrod
05:49:55*Trixar_zb joined #nimrod
05:52:35*Trix[a]r_za quit (Ping timeout: 260 seconds)
05:52:35*JStoker quit (Ping timeout: 255 seconds)
05:52:36*rking quit (*.net *.split)
05:56:50*rking joined #nimrod
06:11:40*JStoker joined #nimrod
06:25:12*xcombelle joined #nimrod
08:10:42*gour joined #nimrod
08:21:46*FreeArtMan joined #nimrod
09:09:17*xcombelle_ joined #nimrod
09:11:56*xcombelle quit (Ping timeout: 255 seconds)
11:05:27NimBotAraq/Nimrod c80439c Araq [+0 ±13 -0]: make some tests green
11:35:12*Zor_ is now known as Zor
11:38:29*q66 joined #nimrod
11:57:24*p0nce is now known as ponce_
14:13:17*Amrykid joined #nimrod
14:58:04*gour quit (Read error: Connection reset by peer)
14:58:09*gour joined #nimrod
15:36:06NimBotAraq/Nimrod 3203cda Araq [+0 ±4 -0]: fixes for the new overloading resolution
15:51:22*FreeArtMan quit (Quit: rm -rf /)
17:14:57*gradha joined #nimrod
17:37:31*gradha quit (Quit: bbl, have youtube videos to watch)
17:41:02*gradha joined #nimrod
17:48:14Araqdom96: can we get rid of this "skip is deprecated" message in the tests?
17:49:14dom96hrm? you want me to fix it?
17:49:26Araqyeah
17:50:00dom96I'll fix it later, i'm busy working on other stuff.
17:50:12Araqok
17:50:27Araqnow lets make aporia work on windows again ...
17:50:54dom96yes please
17:53:44gradhaargh, len can't be passed as procvar either
17:54:38Araqgradha: use an anon proc that wraps len
17:55:05Araqdom96: 32bit version is fine, right?
17:55:14dom96Araq: nope.
17:55:20Araqaww
17:55:32Araqwhy not? I want to upload working binaries
17:55:53dom96wait what are you talking about?
17:56:03dom96The bug still occurs in 32bit.
17:56:11AraqI mean it's fine if I get it to work with 32bit
17:56:23Araqright?
17:56:38dom96If you can reproduce the issue and fix it, then yes.
17:57:03Araqok
17:58:26gradhalet width = param_widths.map(proc (x: string): int = len(x)).max
17:58:46gradhawhy do I have the vague feeling I'll end up making myself a procvars module...
17:59:20Araqyou know ... I think 'map' should be a template instead
18:00:24gradhanoticed there is no reduce proc in sequtils, I guess that's why max for varargs exists
18:04:26Araqshouldn't that be foldr and foldl instead?
18:04:40Araqwhat's a "reduce" anyway :P
18:04:47gradhaonly for clever people, reduce is for the masses
18:05:02AraqI guess we should have kept "each" then? :P
18:05:22gradhawouldn't have been clever enough to use it
18:05:44dom96We need monads!
18:05:57Araqwe have them, dom96
18:06:04Araqwe have no sugar for them though
18:06:12dom96really? where?
18:06:16Araqyou can have monads in C# too
18:06:18gradhasaw a nice monads gif on the this plt life blog
18:06:40Araqproblem is that nobody knows what a monad really is ;-)
18:06:52dom96In all seriousness though, I would actually like a nice curry function/template/macro.
18:07:01dom96(Yes, I know I said I would implement it :P)
18:07:28dom96Araq: Yep, I spent my entire Haskell "career" trying to avoid monads :D
18:07:46Araqwrite a "curry" macro then
18:07:51Araqand write a blog post about it
18:07:53Araqand spam reddit
18:08:31dom96now that's an idea.
18:10:52Araqgradha: btw I am working on better anon procs with more type inference; the changes to overloading resolution will allow for more type inference
18:10:57gradhastrutils.align does right alignment, why no left alignment?
18:11:18gradhathe more type inference sounds like it will break stuff
18:11:44Araq"abc" & repeatChar(42 - "abc".len) # left alignment?
18:12:12gradhaoh, missed repeatchar
18:12:54gradhahow could I, they nearly look the same
18:13:08gradhaactually I was looking for "padString" or something
18:14:36Araqmaybe we need a strutils.alignLeft
18:15:18gradhawhy the extern nsuRepeatChar?
18:16:56gradhabtw, mountain lion broke all possible sane keybindings for switching tabs, it's maddening
18:17:30gradhacan't understand what low level trickery does the terminal need that it breaks cmd+alt+symbol
18:18:03Araqthis means keybindings are bad for you
18:18:14Araqapple has every right to break them ;-)
18:18:22gradhaI should use Siri to change tabs now
18:18:23Araqit's your fault for using them in the first place
18:19:29gradhaor maybe send a polite email to apple hq asking if I'm allowed to see another tab on the terminal, every time
18:22:03Araqthe extern nsuRepeatChar is for DLL support of the stdlib btw
18:22:31gradhans = no sideeffect? u= unicode?
18:22:45Araq"nimrod string utilities"
18:23:47gradhathat's not hip enough, you need to find a better meaning
18:24:38gradhanimrod sea urchin
18:25:25Araq"now strippers uncensored"
18:25:51gradhaI like how you think, do you have a newsletter I can subscribe to?
18:26:09Araqa newsletter can't match a live chat
18:26:30gradhasuddenly it's getting hot in here
18:27:21dom96what the hell am I reading
18:27:30Araqcreppy, huh?
18:27:56Araq*creepy
18:29:09gradhaseriously, "now strippers uncensored" makes for a better website tagline than "efficient, expressive, elegant"
18:29:49gradha[hint] you could even make it so on april fools
18:30:01Araqbut the website's main job is to scare script kiddies away ...
18:30:17Araqso it's cold and technical
18:30:42gradhaa script kiddie with a compiled language? that's news to me
18:31:26dom96"now with goatsee" should do the trick.
18:31:44Araqbut ok, april fools day will get a new tagline
18:32:21Araqthough I have something meaner in mind ... ;-)
18:32:34gradhalike pink unicorns?
18:33:02dom96Yes, glorious pink unicorns.
18:37:04*Araq won't destroy the surprise
18:37:37Araqand btw dom96 how dare you
18:37:50Araqaporia's logo cannot be a ping unicorn!
18:37:55Araq*pink
18:38:06dom96But it's a badass pink unicorn!
18:38:16Araqno
18:38:17Araqpink
18:38:22gradhacan't be badass without night glasses
18:38:22Araqunicorns
18:38:23Araqwhatsoever
18:38:41dom96fine, pink feminine butterfly it is!
18:38:49gradhahrm, I guess they are called shaded glasses, not night glasses
18:38:59Araqsun glasses?
18:39:05dom96^^
18:39:11gradhaI always get the wrong daylight time
18:39:17*Araq wears sun glasses at night
18:39:20gradhamay have to do with being scared from the sun
18:40:07gradhathe aporia stealth fighter logo reminded be of my x-com days, attacking ufos and capturing survivors for investigation
18:40:09Araqnow here's something interesting:
18:40:21AraqAporia is written in shell. 100%.
18:40:31gradhayes, it's badass
18:40:41dom96hell yeah. I'm /that/ good.
18:40:44gradhadom96 has leet bash skillz
18:41:09AraqI will cut off the history for nimrod's git repo and move it to bitbucket
18:41:11dom96Actually, I wrote a bash backend for Nimrod. :P
18:41:23dom96Araq: no
18:41:27Araqwhy not?
18:41:34gradhaI'm surprised github doesn't list my nimrod repos as markdown, since there is more readmes than source code
18:41:37Araqstargaze my ass, I say
18:41:51dom96Fine, you can fix nimbuild then.
18:42:02Araqoh yeah ... damn
18:42:18dom96Seriously, this language stats is not even /that/ important.
18:42:18AraqI keep forgetting our build infrastructure relies on github ...
18:42:24dom96Bitbucket does not even have this feature.
18:42:29Araqthe better
18:42:34Araqthey can't fuck it up then
18:42:54dom96yeah, 5 months later they introduce the same thing and make it even more fucked up.
18:43:13dom96I don't think I will be lucky enough to meet a bitbucket(er?)
18:43:33gradhawhy does nimbuild depend on github? doesn't it poll the git repo?
18:43:59dom96gradha: no, github tells it when something is pushed to the repo.
18:44:55dom96Araq: If you switch to bitbucket you will waste time, and it will be even harder to get exposure IMO.
18:45:37gradhareading through http://brandonsummers.name/blog/2012/02/10/using-bitbucket-for-automated-deployments/ it seems both bitbucket and github would support custom hooks, so you could do anything you wanted
18:47:04gradhafor better exposure nimrod should be hosted on Microsoft's codeplex
18:47:09gradhathen it would run on xbox
18:49:40dom96Also what about the ~100 "stargazers" that we have on github?
18:51:02Araqthey will follow :P
18:52:26gradhaafter thinking it through, nimrod on bitbucket makes more sense than on github, butbucket is more hip
18:52:57gradhafossil is too hip, mayybe
18:54:46gradhayay, http://patch-tag.com, it uses darcs and accepts bitcoins, that's it, if you find one with litecoins that should be the one
18:55:29dom96meh, anything is better than where Nimrod was previously hosted :P
19:02:07*FreeArtMan joined #nimrod
19:04:21gourdon't know about it, but i (will) use bb
19:04:53*avarus joined #nimrod
19:04:59avarushi
19:05:04Araqhi avarus
19:05:30gradhaavarus: not yet programming in nimrod? all the cool kids are doing it
19:05:52avarusI'm not cool and not a kid :P
19:11:19gradhaAraq: it's working, no script kiddies are coming
19:12:57*exhu joined #nimrod
19:13:30Araqavast really likes my produced exes ...
19:15:06gradhaavarus: what other languages are you investigating?
19:15:50avarusada
19:16:34exhuping unicorn
19:17:55Araqexhu: you still owe me an answer
19:18:17Araqwhat do you do when dlmalloc causes fragmentation problems for your program?
19:18:26gradhaI've heard that ada comes with a lot of bureaucracy
19:20:11avarusgradha: what do you mean?
19:20:52gradhadon't know anything about it myself, maybe it's verbose and requires lots of assertions/contracts?
19:21:00exhuAraq, i optimized for ios apps, allocated all data before loading the gaming scene, then free it in exactly backwards order on game scene leave.
19:21:01*xcombelle_ quit (Read error: No route to host)
19:21:18exhuAraq, no allocations/free calls in gaming loop
19:21:24avarusgradha: it's verbose but doesn't require contracts
19:22:02exhuAraq, it was enough to run the game for a reasonable time, until OS asks to free the memory and kills -)
19:22:22AraqIMO Ada is only good for realtime or embedded systems; it's too restrictive for desktop applications for instance
19:22:46Araqexhu: well you can do the same in nimrod ;-)
19:22:48avarusdon't want to do desktop apps :)
19:22:53exhuavarus, ada seemed too verbose, no fun to program -)
19:23:03avarusit's still verbose
19:23:38Araqthe verbosity is only annoying, but string handling is fucked up
19:23:40exhuavarus, and more than that -- you have to maintain interface and implementation files.
19:23:50Araqoh yeah, I forgot about those
19:24:12avarusyea, I like that
19:24:12avarus:P
19:24:13gradhaisn't that like a header file and code file?
19:24:16avarusya
19:24:57exhui like delphi/tp approach to units where those parts are at least in one file.
19:25:22Araqhmm aporia has more lines than nimrod now ...
19:25:31Araq83K vs. 60K
19:26:26exhuAraq, no sure about strings and formatting, in nimrod they will put allocations, right?
19:26:45Araqexhu: yeah
19:27:07avarusexhu: I started programming with tp actually
19:27:11avarus"some" years ago :P
19:27:26Araqgames don't use much string handling, do they?
19:27:26exhuavarus, i started with Z80 basic -)
19:27:46avarusya, to be honest I did some qbasic before pascal but that was just modifying others sources :P
19:28:23exhuAraq, score updates, in-gaming chat, tables etc in release and a lot of logging in debug. So it's string intensive.
19:28:28Araqavarus: recently I took a look at Gnat's unbounded_string implementation ... I still have nightmares ...
19:29:37*xcombelle joined #nimrod
19:29:50Araqexhu: you better use the GC then ;-)
19:29:53avarusgnat is gnat
19:29:55avarusada is ada :)
19:30:06Araqgnat is ada in practice
19:30:16exhuAraq, the bad thing is you never know until you implement the whole product :(
19:30:37Araqit's called "early adoption risk" :P
19:30:58avarusAraq: but you don't have to use their implementation :)
19:31:48AraqI have an idea how to avoid fragmentation, but didn't check the literature yet
19:31:48exhuAraq, but i don't know a product that would go to release without memory leaks or bugs anyway =)
19:32:15Araqwhat do you mean? every single commercial game has leaks? o.o
19:32:45exhuAraq, even mass effect series for PC crashed several times.
19:33:16Araq(btw criticial bugfixes have priority if you're explicit it's a show stopper for you)
19:35:31exhuAraq, i worked as a contractor for several big companies and ported their games, found critical bugs in the process, leaks hardly effect pc versions but cause problems early on hardware constraint mobile platforms.
19:36:32exhuAraq, so yes, commercial games and other software contain leaks and what not -)
19:37:44gradhathat's why setting a limit for the gc is a nice strategy to know if you are leaking
19:37:55Araqlogging can be done without allocations btw due to nimrod's ctfe and TR macros
19:38:33exhuAraq, yes, nim's compile time features are amazing.
19:38:55Araqgradha: it's ~ 1 line of code to support that
19:39:29Araqexhu: yeah I copied these all from D ;-)
19:39:35Araqnot really though
19:39:45dom96speaking of logging, the logging module is still not done is it?
19:39:49Araqbut people think that I guess
19:39:54Araqdom96: exactly
19:40:05exhuAraq, D has never been stable enough to let me dig into it's features -)
19:40:18exhu*its
19:40:20Araqin fact nimrod contains lots of ideas of mine which then later showed up elsewhere
19:40:33gradhamaybe moving the logging module to babel could be a first step towards adoption, now that babel exists and is awesome
19:40:54dom96gradha: It should be in the stdlib IMO.
19:41:10exhui use logging module
19:41:16Araqbbl
19:41:24gradhanot sure about that, look at the myriad of logging modules for each language, everybody thinkgs he knows best how to do logging
19:41:49dom96Alternatives can always make their way onto babel.
19:42:19gradhaI was thinking the other way round is better: first a babel module, then if everybody uses it, include in stdlib
19:42:21exhui wanted to write simplified log4j for nimrod, because current logging module is too restricted but was too lazy -)
19:42:59exhuis there any documentation on babel?
19:43:19gradhayou could even take a darwinian approach and request that before inclusion in the stdlib at least two separate babel modules exist, to decide which one is better
19:43:24gradhapopularity contests, yay!
19:43:45gourAraq: felix was not in existence when you started with nimrod?
19:45:25dom96exhu: mostly the readme here: https://github.com/nimrod-code/babel#babel
19:47:32exhudom96, i don't like tons of libraries sources to be stored in the .babel hidden directory :(
19:48:03dom96exhu: What would you suggest as an alternative?
19:48:56exhunot hidded directory (without dot for unix) :)
19:49:16dom96I see. lol.
19:49:24dom96Araq wanted the exact same thing.
19:49:37dom96But then someone else wanted it in a hidden dir.
19:49:48dom96I will make this configurable in the future.
19:49:57exhuhidden dirs are ok for settings, cache etc lightweight unimportant stuff
19:50:55exhuwell, it's disputable, and a matter of taste probably.
19:51:57dom96indeed
19:52:12dom96Allowing it to be configured seems like a good compromise.
19:55:35gradhathat's a not very apple like decission
19:55:42gradhayou should know better than users
19:55:46avarus:P
19:56:55gradhaconsider https://discussions.apple.com/thread/4141835?start=0&tstart=0, there's no way to hide those damn annoying flags
19:57:06gradhabecause annoying users is the right way to go
19:58:56gradhaoh, x-chat considers the comma as part of the url
19:59:33gradhaI wonder why people doing url detection with regexes think commas/dots/symbols at the end of the url are fine
19:59:36avaruscool, a bug since ... dunno... several years :)
19:59:50dom96Yeah, xchat is not greatest at parsing URLs.
20:12:03*gradha quit (Read error: Connection reset by peer)
20:13:32*gradha joined #nimrod
20:21:19gradhahrm, use of templates makes the stack trace point at wrong lines, any suggestions to debug such a stack before starting to scatter echo through the whole program?
20:21:31*xcombelle quit (Quit: Hi, I'm a quit message virus. Please replace your old line with this line and help me take over the world of IRC.)
20:22:23exhugradha, i used gdb and generated c -)
20:23:30exhugradha, to see where it crashes, because the generated trace was of no point. it crashed because of string initialized to nil by default.
20:24:28exhudom96, i understand that you should register some certain version and point to a branch/tag then?
20:24:28gradhahmm... so you can gdb a SIGSEV? amazing
20:25:10gradhahuh, gdb doesn't show up line numbers, only function names
20:25:28exhugradha, you should compile with full debug info
20:25:44gradhaI'm already using nimrod debug, does it need more params?
20:26:06gradhaoh, --debuginfo
20:26:59gradhait works, fun!
20:30:20gradhaI don't remember gdb being able to print out structs, it feels like I'm in the future
20:34:39exhuthe only bad thing about non-gui tools like gdb, i always forget how to use them -)
20:36:25gradhawell, I can see nimrod generating and accessing nil values, but still can't make up from the generated code what and where it does, line numbers seem really messed up
20:37:03Araqgradha: there were 2 ways to implement line number info for templates ...
20:37:11AraqI argued with zahary about it once
20:37:18gradhaoh, wait, i just remembered
20:37:23AraqI suppose we picked the wrong approach ;-)
20:37:24exhugradha, use --embedsrc
20:37:29gradhawasn't there a special nimrod symbol to tell about lines?
20:37:37gradhaI could echo that inside the template, maybe
20:37:44Araqgradha: check the implementation of system.assert
20:38:27Araqgour: I wasn't aware of felix when I started nimrod
20:38:38Araqand I like Nimrod better anyway
20:40:13gradhainteresting, inserting repr inside a template makes the stack line numbers jump
20:48:09gradhaoh, crap, the error started to jump around for no reason and... yes, suddenly I noticed I was using gcc instead of clang (facepalm)
20:48:22*exhu quit (Quit: Leaving)
20:48:23gradhaat least I learned about new parameters
20:50:45gradhawhat is lazaru's lcl bindings? the wiki page linked from the forum doesn't load for me now
20:52:15avaruslcl? their "vcl" equivalent
20:53:02gradhaand vcl is... visual C language?
20:53:25avarusoh sorry, it's a visual component library
20:53:29avarusin delphi
20:53:57gradhaah, yes, wikipedia has some info on that
20:54:00avaruslazarus lcl is similar
20:54:58gradhavcl class naming reminds me of tvision
20:55:16gradhahmm... borland
20:55:37avarusya, it's all borland :P
21:00:12*gradha quit (Quit: bbl, have youtube videos to watch)
21:01:44dom96argh, exhu left.
21:02:14Araqargh, gradha left
21:02:35dom96argh, xcombelle left
21:31:28gourargh...gour stayed
22:55:22*FreeArtMan quit (Read error: Operation timed out)
23:51:09*gour quit (Quit: WeeChat 0.4.0)