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:27 | NimBot | Araq/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:06 | NimBot | Araq/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:14 | Araq | dom96: can we get rid of this "skip is deprecated" message in the tests? |
17:49:14 | dom96 | hrm? you want me to fix it? |
17:49:26 | Araq | yeah |
17:50:00 | dom96 | I'll fix it later, i'm busy working on other stuff. |
17:50:12 | Araq | ok |
17:50:27 | Araq | now lets make aporia work on windows again ... |
17:50:54 | dom96 | yes please |
17:53:44 | gradha | argh, len can't be passed as procvar either |
17:54:38 | Araq | gradha: use an anon proc that wraps len |
17:55:05 | Araq | dom96: 32bit version is fine, right? |
17:55:14 | dom96 | Araq: nope. |
17:55:20 | Araq | aww |
17:55:32 | Araq | why not? I want to upload working binaries |
17:55:53 | dom96 | wait what are you talking about? |
17:56:03 | dom96 | The bug still occurs in 32bit. |
17:56:11 | Araq | I mean it's fine if I get it to work with 32bit |
17:56:23 | Araq | right? |
17:56:38 | dom96 | If you can reproduce the issue and fix it, then yes. |
17:57:03 | Araq | ok |
17:58:26 | gradha | let width = param_widths.map(proc (x: string): int = len(x)).max |
17:58:46 | gradha | why do I have the vague feeling I'll end up making myself a procvars module... |
17:59:20 | Araq | you know ... I think 'map' should be a template instead |
18:00:24 | gradha | noticed there is no reduce proc in sequtils, I guess that's why max for varargs exists |
18:04:26 | Araq | shouldn't that be foldr and foldl instead? |
18:04:40 | Araq | what's a "reduce" anyway :P |
18:04:47 | gradha | only for clever people, reduce is for the masses |
18:05:02 | Araq | I guess we should have kept "each" then? :P |
18:05:22 | gradha | wouldn't have been clever enough to use it |
18:05:44 | dom96 | We need monads! |
18:05:57 | Araq | we have them, dom96 |
18:06:04 | Araq | we have no sugar for them though |
18:06:12 | dom96 | really? where? |
18:06:16 | Araq | you can have monads in C# too |
18:06:18 | gradha | saw a nice monads gif on the this plt life blog |
18:06:40 | Araq | problem is that nobody knows what a monad really is ;-) |
18:06:52 | dom96 | In all seriousness though, I would actually like a nice curry function/template/macro. |
18:07:01 | dom96 | (Yes, I know I said I would implement it :P) |
18:07:28 | dom96 | Araq: Yep, I spent my entire Haskell "career" trying to avoid monads :D |
18:07:46 | Araq | write a "curry" macro then |
18:07:51 | Araq | and write a blog post about it |
18:07:53 | Araq | and spam reddit |
18:08:31 | dom96 | now that's an idea. |
18:10:52 | Araq | gradha: 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:57 | gradha | strutils.align does right alignment, why no left alignment? |
18:11:18 | gradha | the more type inference sounds like it will break stuff |
18:11:44 | Araq | "abc" & repeatChar(42 - "abc".len) # left alignment? |
18:12:12 | gradha | oh, missed repeatchar |
18:12:54 | gradha | how could I, they nearly look the same |
18:13:08 | gradha | actually I was looking for "padString" or something |
18:14:36 | Araq | maybe we need a strutils.alignLeft |
18:15:18 | gradha | why the extern nsuRepeatChar? |
18:16:56 | gradha | btw, mountain lion broke all possible sane keybindings for switching tabs, it's maddening |
18:17:30 | gradha | can't understand what low level trickery does the terminal need that it breaks cmd+alt+symbol |
18:18:03 | Araq | this means keybindings are bad for you |
18:18:14 | Araq | apple has every right to break them ;-) |
18:18:22 | gradha | I should use Siri to change tabs now |
18:18:23 | Araq | it's your fault for using them in the first place |
18:19:29 | gradha | or maybe send a polite email to apple hq asking if I'm allowed to see another tab on the terminal, every time |
18:22:03 | Araq | the extern nsuRepeatChar is for DLL support of the stdlib btw |
18:22:31 | gradha | ns = no sideeffect? u= unicode? |
18:22:45 | Araq | "nimrod string utilities" |
18:23:47 | gradha | that's not hip enough, you need to find a better meaning |
18:24:38 | gradha | nimrod sea urchin |
18:25:25 | Araq | "now strippers uncensored" |
18:25:51 | gradha | I like how you think, do you have a newsletter I can subscribe to? |
18:26:09 | Araq | a newsletter can't match a live chat |
18:26:30 | gradha | suddenly it's getting hot in here |
18:27:21 | dom96 | what the hell am I reading |
18:27:30 | Araq | creppy, huh? |
18:27:56 | Araq | *creepy |
18:29:09 | gradha | seriously, "now strippers uncensored" makes for a better website tagline than "efficient, expressive, elegant" |
18:29:49 | gradha | [hint] you could even make it so on april fools |
18:30:01 | Araq | but the website's main job is to scare script kiddies away ... |
18:30:17 | Araq | so it's cold and technical |
18:30:42 | gradha | a script kiddie with a compiled language? that's news to me |
18:31:26 | dom96 | "now with goatsee" should do the trick. |
18:31:44 | Araq | but ok, april fools day will get a new tagline |
18:32:21 | Araq | though I have something meaner in mind ... ;-) |
18:32:34 | gradha | like pink unicorns? |
18:33:02 | dom96 | Yes, glorious pink unicorns. |
18:37:04 | * | Araq won't destroy the surprise |
18:37:37 | Araq | and btw dom96 how dare you |
18:37:50 | Araq | aporia's logo cannot be a ping unicorn! |
18:37:55 | Araq | *pink |
18:38:06 | dom96 | But it's a badass pink unicorn! |
18:38:16 | Araq | no |
18:38:17 | Araq | pink |
18:38:22 | gradha | can't be badass without night glasses |
18:38:22 | Araq | unicorns |
18:38:23 | Araq | whatsoever |
18:38:41 | dom96 | fine, pink feminine butterfly it is! |
18:38:49 | gradha | hrm, I guess they are called shaded glasses, not night glasses |
18:38:59 | Araq | sun glasses? |
18:39:05 | dom96 | ^^ |
18:39:11 | gradha | I always get the wrong daylight time |
18:39:17 | * | Araq wears sun glasses at night |
18:39:20 | gradha | may have to do with being scared from the sun |
18:40:07 | gradha | the aporia stealth fighter logo reminded be of my x-com days, attacking ufos and capturing survivors for investigation |
18:40:09 | Araq | now here's something interesting: |
18:40:21 | Araq | Aporia is written in shell. 100%. |
18:40:31 | gradha | yes, it's badass |
18:40:41 | dom96 | hell yeah. I'm /that/ good. |
18:40:44 | gradha | dom96 has leet bash skillz |
18:41:09 | Araq | I will cut off the history for nimrod's git repo and move it to bitbucket |
18:41:11 | dom96 | Actually, I wrote a bash backend for Nimrod. :P |
18:41:23 | dom96 | Araq: no |
18:41:27 | Araq | why not? |
18:41:34 | gradha | I'm surprised github doesn't list my nimrod repos as markdown, since there is more readmes than source code |
18:41:37 | Araq | stargaze my ass, I say |
18:41:51 | dom96 | Fine, you can fix nimbuild then. |
18:42:02 | Araq | oh yeah ... damn |
18:42:18 | dom96 | Seriously, this language stats is not even /that/ important. |
18:42:18 | Araq | I keep forgetting our build infrastructure relies on github ... |
18:42:24 | dom96 | Bitbucket does not even have this feature. |
18:42:29 | Araq | the better |
18:42:34 | Araq | they can't fuck it up then |
18:42:54 | dom96 | yeah, 5 months later they introduce the same thing and make it even more fucked up. |
18:43:13 | dom96 | I don't think I will be lucky enough to meet a bitbucket(er?) |
18:43:33 | gradha | why does nimbuild depend on github? doesn't it poll the git repo? |
18:43:59 | dom96 | gradha: no, github tells it when something is pushed to the repo. |
18:44:55 | dom96 | Araq: If you switch to bitbucket you will waste time, and it will be even harder to get exposure IMO. |
18:45:37 | gradha | reading 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:04 | gradha | for better exposure nimrod should be hosted on Microsoft's codeplex |
18:47:09 | gradha | then it would run on xbox |
18:49:40 | dom96 | Also what about the ~100 "stargazers" that we have on github? |
18:51:02 | Araq | they will follow :P |
18:52:26 | gradha | after thinking it through, nimrod on bitbucket makes more sense than on github, butbucket is more hip |
18:52:57 | gradha | fossil is too hip, mayybe |
18:54:46 | gradha | yay, 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:29 | dom96 | meh, anything is better than where Nimrod was previously hosted :P |
19:02:07 | * | FreeArtMan joined #nimrod |
19:04:21 | gour | don't know about it, but i (will) use bb |
19:04:53 | * | avarus joined #nimrod |
19:04:59 | avarus | hi |
19:05:04 | Araq | hi avarus |
19:05:30 | gradha | avarus: not yet programming in nimrod? all the cool kids are doing it |
19:05:52 | avarus | I'm not cool and not a kid :P |
19:11:19 | gradha | Araq: it's working, no script kiddies are coming |
19:12:57 | * | exhu joined #nimrod |
19:13:30 | Araq | avast really likes my produced exes ... |
19:15:06 | gradha | avarus: what other languages are you investigating? |
19:15:50 | avarus | ada |
19:16:34 | exhu | ping unicorn |
19:17:55 | Araq | exhu: you still owe me an answer |
19:18:17 | Araq | what do you do when dlmalloc causes fragmentation problems for your program? |
19:18:26 | gradha | I've heard that ada comes with a lot of bureaucracy |
19:20:11 | avarus | gradha: what do you mean? |
19:20:52 | gradha | don't know anything about it myself, maybe it's verbose and requires lots of assertions/contracts? |
19:21:00 | exhu | Araq, 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:18 | exhu | Araq, no allocations/free calls in gaming loop |
19:21:24 | avarus | gradha: it's verbose but doesn't require contracts |
19:22:02 | exhu | Araq, it was enough to run the game for a reasonable time, until OS asks to free the memory and kills -) |
19:22:22 | Araq | IMO Ada is only good for realtime or embedded systems; it's too restrictive for desktop applications for instance |
19:22:46 | Araq | exhu: well you can do the same in nimrod ;-) |
19:22:48 | avarus | don't want to do desktop apps :) |
19:22:53 | exhu | avarus, ada seemed too verbose, no fun to program -) |
19:23:03 | avarus | it's still verbose |
19:23:38 | Araq | the verbosity is only annoying, but string handling is fucked up |
19:23:40 | exhu | avarus, and more than that -- you have to maintain interface and implementation files. |
19:23:50 | Araq | oh yeah, I forgot about those |
19:24:12 | avarus | yea, I like that |
19:24:12 | avarus | :P |
19:24:13 | gradha | isn't that like a header file and code file? |
19:24:16 | avarus | ya |
19:24:57 | exhu | i like delphi/tp approach to units where those parts are at least in one file. |
19:25:22 | Araq | hmm aporia has more lines than nimrod now ... |
19:25:31 | Araq | 83K vs. 60K |
19:26:26 | exhu | Araq, no sure about strings and formatting, in nimrod they will put allocations, right? |
19:26:45 | Araq | exhu: yeah |
19:27:07 | avarus | exhu: I started programming with tp actually |
19:27:11 | avarus | "some" years ago :P |
19:27:26 | Araq | games don't use much string handling, do they? |
19:27:26 | exhu | avarus, i started with Z80 basic -) |
19:27:46 | avarus | ya, to be honest I did some qbasic before pascal but that was just modifying others sources :P |
19:28:23 | exhu | Araq, score updates, in-gaming chat, tables etc in release and a lot of logging in debug. So it's string intensive. |
19:28:28 | Araq | avarus: recently I took a look at Gnat's unbounded_string implementation ... I still have nightmares ... |
19:29:37 | * | xcombelle joined #nimrod |
19:29:50 | Araq | exhu: you better use the GC then ;-) |
19:29:53 | avarus | gnat is gnat |
19:29:55 | avarus | ada is ada :) |
19:30:06 | Araq | gnat is ada in practice |
19:30:16 | exhu | Araq, the bad thing is you never know until you implement the whole product :( |
19:30:37 | Araq | it's called "early adoption risk" :P |
19:30:58 | avarus | Araq: but you don't have to use their implementation :) |
19:31:48 | Araq | I have an idea how to avoid fragmentation, but didn't check the literature yet |
19:31:48 | exhu | Araq, but i don't know a product that would go to release without memory leaks or bugs anyway =) |
19:32:15 | Araq | what do you mean? every single commercial game has leaks? o.o |
19:32:45 | exhu | Araq, even mass effect series for PC crashed several times. |
19:33:16 | Araq | (btw criticial bugfixes have priority if you're explicit it's a show stopper for you) |
19:35:31 | exhu | Araq, 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:32 | exhu | Araq, so yes, commercial games and other software contain leaks and what not -) |
19:37:44 | gradha | that's why setting a limit for the gc is a nice strategy to know if you are leaking |
19:37:55 | Araq | logging can be done without allocations btw due to nimrod's ctfe and TR macros |
19:38:33 | exhu | Araq, yes, nim's compile time features are amazing. |
19:38:55 | Araq | gradha: it's ~ 1 line of code to support that |
19:39:29 | Araq | exhu: yeah I copied these all from D ;-) |
19:39:35 | Araq | not really though |
19:39:45 | dom96 | speaking of logging, the logging module is still not done is it? |
19:39:49 | Araq | but people think that I guess |
19:39:54 | Araq | dom96: exactly |
19:40:05 | exhu | Araq, D has never been stable enough to let me dig into it's features -) |
19:40:18 | exhu | *its |
19:40:20 | Araq | in fact nimrod contains lots of ideas of mine which then later showed up elsewhere |
19:40:33 | gradha | maybe moving the logging module to babel could be a first step towards adoption, now that babel exists and is awesome |
19:40:54 | dom96 | gradha: It should be in the stdlib IMO. |
19:41:10 | exhu | i use logging module |
19:41:16 | Araq | bbl |
19:41:24 | gradha | not sure about that, look at the myriad of logging modules for each language, everybody thinkgs he knows best how to do logging |
19:41:49 | dom96 | Alternatives can always make their way onto babel. |
19:42:19 | gradha | I was thinking the other way round is better: first a babel module, then if everybody uses it, include in stdlib |
19:42:21 | exhu | i wanted to write simplified log4j for nimrod, because current logging module is too restricted but was too lazy -) |
19:42:59 | exhu | is there any documentation on babel? |
19:43:19 | gradha | you 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:24 | gradha | popularity contests, yay! |
19:43:45 | gour | Araq: felix was not in existence when you started with nimrod? |
19:45:25 | dom96 | exhu: mostly the readme here: https://github.com/nimrod-code/babel#babel |
19:47:32 | exhu | dom96, i don't like tons of libraries sources to be stored in the .babel hidden directory :( |
19:48:03 | dom96 | exhu: What would you suggest as an alternative? |
19:48:56 | exhu | not hidded directory (without dot for unix) :) |
19:49:16 | dom96 | I see. lol. |
19:49:24 | dom96 | Araq wanted the exact same thing. |
19:49:37 | dom96 | But then someone else wanted it in a hidden dir. |
19:49:48 | dom96 | I will make this configurable in the future. |
19:49:57 | exhu | hidden dirs are ok for settings, cache etc lightweight unimportant stuff |
19:50:55 | exhu | well, it's disputable, and a matter of taste probably. |
19:51:57 | dom96 | indeed |
19:52:12 | dom96 | Allowing it to be configured seems like a good compromise. |
19:55:35 | gradha | that's a not very apple like decission |
19:55:42 | gradha | you should know better than users |
19:55:46 | avarus | :P |
19:56:55 | gradha | consider https://discussions.apple.com/thread/4141835?start=0&tstart=0, there's no way to hide those damn annoying flags |
19:57:06 | gradha | because annoying users is the right way to go |
19:58:56 | gradha | oh, x-chat considers the comma as part of the url |
19:59:33 | gradha | I wonder why people doing url detection with regexes think commas/dots/symbols at the end of the url are fine |
19:59:36 | avarus | cool, a bug since ... dunno... several years :) |
19:59:50 | dom96 | Yeah, 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:19 | gradha | hrm, 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:23 | exhu | gradha, i used gdb and generated c -) |
20:23:30 | exhu | gradha, 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:28 | exhu | dom96, i understand that you should register some certain version and point to a branch/tag then? |
20:24:28 | gradha | hmm... so you can gdb a SIGSEV? amazing |
20:25:10 | gradha | huh, gdb doesn't show up line numbers, only function names |
20:25:28 | exhu | gradha, you should compile with full debug info |
20:25:44 | gradha | I'm already using nimrod debug, does it need more params? |
20:26:06 | gradha | oh, --debuginfo |
20:26:59 | gradha | it works, fun! |
20:30:20 | gradha | I don't remember gdb being able to print out structs, it feels like I'm in the future |
20:34:39 | exhu | the only bad thing about non-gui tools like gdb, i always forget how to use them -) |
20:36:25 | gradha | well, 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:03 | Araq | gradha: there were 2 ways to implement line number info for templates ... |
20:37:11 | Araq | I argued with zahary about it once |
20:37:18 | gradha | oh, wait, i just remembered |
20:37:23 | Araq | I suppose we picked the wrong approach ;-) |
20:37:24 | exhu | gradha, use --embedsrc |
20:37:29 | gradha | wasn't there a special nimrod symbol to tell about lines? |
20:37:37 | gradha | I could echo that inside the template, maybe |
20:37:44 | Araq | gradha: check the implementation of system.assert |
20:38:27 | Araq | gour: I wasn't aware of felix when I started nimrod |
20:38:38 | Araq | and I like Nimrod better anyway |
20:40:13 | gradha | interesting, inserting repr inside a template makes the stack line numbers jump |
20:48:09 | gradha | oh, 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:23 | gradha | at least I learned about new parameters |
20:50:45 | gradha | what is lazaru's lcl bindings? the wiki page linked from the forum doesn't load for me now |
20:52:15 | avarus | lcl? their "vcl" equivalent |
20:53:02 | gradha | and vcl is... visual C language? |
20:53:25 | avarus | oh sorry, it's a visual component library |
20:53:29 | avarus | in delphi |
20:53:57 | gradha | ah, yes, wikipedia has some info on that |
20:54:00 | avarus | lazarus lcl is similar |
20:54:58 | gradha | vcl class naming reminds me of tvision |
20:55:16 | gradha | hmm... borland |
20:55:37 | avarus | ya, it's all borland :P |
21:00:12 | * | gradha quit (Quit: bbl, have youtube videos to watch) |
21:01:44 | dom96 | argh, exhu left. |
21:02:14 | Araq | argh, gradha left |
21:02:35 | dom96 | argh, xcombelle left |
21:31:28 | gour | argh...gour stayed |
22:55:22 | * | FreeArtMan quit (Read error: Operation timed out) |
23:51:09 | * | gour quit (Quit: WeeChat 0.4.0) |