00:10:29 | * | NewGuy quit (Ping timeout: 250 seconds) |
01:03:43 | * | EXetoC quit (Quit: WeeChat 0.4.1) |
01:15:11 | * | q66 quit (Quit: Leaving) |
01:19:56 | * | Sergio965 quit (Quit: Bye! :)) |
01:52:28 | * | skinkitten joined #nimrod |
01:53:16 | skinkitten | who named the language? |
02:24:49 | OnionPK | araq created the language, not 100% sure he named it |
02:53:25 | * | skinkitten quit (Quit: Page closed) |
03:48:44 | * | Associat0r joined #nimrod |
03:48:44 | * | Associat0r quit (Changing host) |
03:48:44 | * | Associat0r joined #nimrod |
03:55:33 | reactormonk | oh, I broke c2nim with for(n = 0, c = nexttiled(mon->clients); c; c = nexttiled(c->next), n++); |
04:05:48 | * | mal``` quit (Ping timeout: 241 seconds) |
04:06:43 | * | OnionPK quit (Quit: Leaving) |
04:12:23 | * | mal`` joined #nimrod |
04:17:33 | * | mal`` quit (Ping timeout: 264 seconds) |
04:37:05 | * | erlnoob joined #nimrod |
04:40:44 | * | mal`` joined #nimrod |
04:41:42 | * | DAddYE joined #nimrod |
05:20:49 | * | DAddYE quit (Remote host closed the connection) |
05:21:21 | * | DAddYE joined #nimrod |
05:25:26 | * | DAddYE quit (Ping timeout: 240 seconds) |
05:42:56 | reactormonk | what's the nimrod-idiomatic way of format strings again? |
05:59:06 | * | Boscop quit (Disconnected by services) |
06:22:23 | * | DAddYE joined #nimrod |
06:59:22 | * | Boscop joined #nimrod |
07:10:45 | * | Araq_ joined #nimrod |
07:14:45 | * | silven quit (Read error: Operation timed out) |
07:17:03 | * | silven joined #nimrod |
07:59:59 | * | Boscop quit (Disconnected by services) |
08:30:15 | * | Associat0r quit (Read error: Connection reset by peer) |
08:36:17 | * | DAddYE quit (Remote host closed the connection) |
08:36:49 | * | DAddYE joined #nimrod |
08:41:02 | * | DAddYE quit (Ping timeout: 240 seconds) |
08:56:39 | * | BitPuffin joined #nimrod |
08:58:04 | BitPuffin | Hey guys! |
08:58:25 | BitPuffin | I'm having some trouble here, it's becoming a bit hard to decide where things belong |
08:58:42 | BitPuffin | I thought it would be nice to have matrices and vectors in separate files |
08:58:52 | BitPuffin | but they can perform operations on each other |
08:59:00 | BitPuffin | like vector * matrix mul |
08:59:12 | BitPuffin | problem is, does that proc belong in matrix.nim or vector.nim? |
08:59:38 | BitPuffin | I'm considering just putting them in the same file, something like linagl/core.nim |
09:00:11 | BitPuffin | and then perhaps adding extra files like matrix_utils.nim for a module that constructs rotation matrices etc |
09:00:12 | * | Boscop joined #nimrod |
09:00:14 | BitPuffin | and projection |
09:00:51 | BitPuffin | what do you guys think? is there a better way? |
09:01:51 | BitPuffin | another thing that makes having them in separate modules is nimrods mutually recursive imports |
09:02:01 | BitPuffin | if both import each other at the top then they don't import anything |
09:04:26 | Araq_ | put everything that supports matrix in matrix.nim |
09:05:15 | BitPuffin | Araq_: including vector stuff? |
09:05:27 | BitPuffin | that's what I've currently done |
09:05:32 | BitPuffin | what about quaternions then? |
09:05:58 | Araq_ | pure vector stuff should be in a vectors module |
09:06:03 | BitPuffin | or actually I haven't learned them yet so I don't know if they operate on matrices for example |
09:06:07 | Araq_ | but matrixes obviously know about vectors |
09:06:20 | Araq_ | but *shrug* do what suits you |
09:06:26 | BitPuffin | yeah |
09:06:31 | BitPuffin | that was exactly my reasoning |
09:06:50 | Araq_ | the guys that care are likely also the guys who never get anything done at all ;-) |
09:07:20 | BitPuffin | turns out though that it probably isn't a problem at all, if you are using both vectors and matrices you have imported both matrices and vectors |
09:07:37 | BitPuffin | Araq_: yeah true, sometimes you become sort of perfectionist you know :) |
09:08:57 | BitPuffin | that's also why I won't optimize the stuff with asm yet like Mat2 wanted me to |
09:08:58 | BitPuffin | haha |
09:09:07 | BitPuffin | until later I mean |
09:09:12 | BitPuffin | right now I gotta get done |
09:13:45 | BitPuffin | Hmm, I think I might have done the reverse thing with the col and row procedures/templates |
09:14:03 | BitPuffin | or have I |
09:14:40 | BitPuffin | nah it's correct |
09:24:06 | * | q66 joined #nimrod |
09:36:43 | dom96 | hello |
09:44:58 | * | Endeg joined #nimrod |
09:45:48 | * | DAddYE joined #nimrod |
09:52:14 | * | DAddYE quit (Ping timeout: 240 seconds) |
09:53:48 | BitPuffin | hey dom96! |
09:53:55 | dom96 | hey BitPuffin! |
09:54:02 | * | Araq_ quit (Read error: Connection timed out) |
09:54:11 | BitPuffin | dom96: what's going on? |
09:54:29 | dom96 | Not much, really. heh. |
09:54:37 | dom96 | Just woke up. |
09:55:48 | dom96 | how's linagl going? |
09:56:01 | * | Araq_ joined #nimrod |
09:57:24 | BitPuffin | dom96: going okay, had a bit of a crisis with weather or not matrices, vectors, quaternions etc should be in separate files or not but I decided to keep it that way with the help of Araq |
09:58:46 | BitPuffin | I just made Matrix types public so POST TO REDDIT OMG |
09:59:02 | BitPuffin | time to eat a sandwich |
09:59:07 | dom96 | llol |
09:59:30 | dom96 | I can see the headlines now: |
09:59:40 | dom96 | "Linagl's Matrix types become public!" |
09:59:50 | dom96 | "Developer takes a break to eat a sandwich!" |
10:00:28 | * | Boscop quit (Disconnected by services) |
10:01:21 | BitPuffin | Hahahaha! For sure |
10:01:37 | BitPuffin | dom96: and then it's a link to the commit |
10:01:44 | BitPuffin | dom96: and a link to the irc log ;) |
10:01:54 | dom96 | :D |
10:02:32 | BitPuffin | damn, you couldn't link to a specific line in the irc log |
10:02:55 | dom96 | yeah, we need to support that! |
10:02:56 | * | Trix[a]r_za quit (Ping timeout: 268 seconds) |
10:03:00 | dom96 | And reddit about it! |
10:03:27 | BitPuffin | dom96: really though matrices aren't all that far away from being complete in terms of basic operations |
10:03:33 | BitPuffin | dom96: yeah for sure! |
10:03:57 | dom96 | in all seriousness, you should write a blog post about it and post it to reddit. |
10:04:16 | BitPuffin | About exporting the matrix types? |
10:04:22 | dom96 | lol |
10:05:01 | dom96 | About finishing linagl and how much you love Nimrod. |
10:05:40 | BitPuffin | Wtf, how did bitbucket figure out that EXetoC on github is EXetoC on bitbucket :D |
10:05:58 | BitPuffin | dom96: yeah possibly, maybe when I get my website finished (bitpuffin.com |
10:05:59 | BitPuffin | 9 |
10:06:00 | BitPuffin | ) |
10:06:01 | BitPuffin | * |
10:06:32 | * | Associat0r joined #nimrod |
10:06:32 | * | Associat0r quit (Changing host) |
10:06:32 | * | Associat0r joined #nimrod |
10:06:44 | BitPuffin | or maybe I'll just post to tumblr or something |
10:06:50 | dom96 | yeah, why not. |
10:06:59 | dom96 | Does tumblr support code snippets? |
10:07:09 | BitPuffin | you could embed gists or something I guess |
10:07:25 | dom96 | ahh |
10:21:16 | * | Araq_ quit (Read error: Connection timed out) |
10:21:59 | * | Araq_ joined #nimrod |
10:28:24 | * | EXetoC joined #nimrod |
10:35:03 | BitPuffin | hi EXetoC! |
10:35:56 | BitPuffin | EXetoC: What exactly are you working on with nimrod, I think you mentioned that you were working on something awesome a few days ago |
10:39:50 | * | erlnoob left #nimrod (#nimrod) |
10:49:00 | * | DAddYE joined #nimrod |
10:50:44 | EXetoC | BitPuffin: It was probably not in a serious context. are you thinking of the time when I mentioned single-colored widgets? :> |
10:51:26 | BitPuffin | EXetoC: hmm dunno! Do you have a project |
10:55:25 | * | DAddYE quit (Ping timeout: 245 seconds) |
11:00:40 | * | Boscop joined #nimrod |
11:15:55 | EXetoC | BitPuffin: A 2D engine |
11:23:59 | EXetoC | you prefer hg? |
11:36:00 | BitPuffin | EXetoC: cool! |
11:36:07 | BitPuffin | EXetoC: I most certainly do |
11:52:09 | * | DAddYE joined #nimrod |
11:58:38 | * | DAddYE quit (Ping timeout: 240 seconds) |
12:10:45 | * | BitPuffin quit (Ping timeout: 248 seconds) |
12:12:53 | * | BitPuffin joined #nimrod |
12:18:33 | * | Boscop quit (Disconnected by services) |
12:24:39 | * | Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 22.0/20130618035212]) |
12:46:13 | * | BitPuffin quit (Ping timeout: 276 seconds) |
12:47:36 | * | BitPuffin joined #nimrod |
12:55:14 | * | DAddYE joined #nimrod |
13:00:31 | * | Araq_ joined #nimrod |
13:01:26 | * | DAddYE quit (Ping timeout: 240 seconds) |
13:13:04 | * | nihathrael quit (Ping timeout: 246 seconds) |
13:13:13 | * | nihathrael joined #nimrod |
13:13:22 | * | Associat0r quit (Quit: Associat0r) |
13:14:55 | * | nihathrael left #nimrod (#nimrod) |
13:17:53 | * | Associat0r joined #nimrod |
13:17:53 | * | Associat0r quit (Changing host) |
13:17:53 | * | Associat0r joined #nimrod |
13:18:44 | * | Boscop joined #nimrod |
13:23:11 | * | zahary_ joined #nimrod |
13:49:02 | * | Boscop quit (Disconnected by services) |
13:55:17 | * | Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 22.0/20130618035212]) |
13:58:27 | * | DAddYE joined #nimrod |
13:58:58 | * | Trix[a]r_za joined #nimrod |
14:00:46 | * | Trix[a]r_za is now known as Trixar_za |
14:05:33 | * | DAddYE quit (Ping timeout: 264 seconds) |
14:07:32 | * | boredomist left #nimrod ("ERC Version 5.3 (IRC client for Emacs)") |
14:15:26 | * | BitPuffin quit (Ping timeout: 240 seconds) |
14:49:17 | * | Boscop joined #nimrod |
15:01:32 | * | DAddYE joined #nimrod |
15:07:20 | EXetoC | dom96: are you going to use OpenGL directly? |
15:07:50 | * | DAddYE quit (Ping timeout: 240 seconds) |
15:10:40 | dom96 | EXetoC: yeah, I think so. |
15:36:46 | * | Trixar_za is now known as Trix[a]r_za |
15:57:56 | * | Trix[a]r_za is now known as Trixar_za |
16:04:37 | * | DAddYE joined #nimrod |
16:11:15 | * | DAddYE quit (Ping timeout: 260 seconds) |
16:13:10 | * | NewGuy joined #nimrod |
16:13:19 | NewGuy | Howdy doo. |
16:13:28 | dom96 | hey |
16:15:17 | NewGuy | Does nimrod's sleep() use high-precision? Or does it have the ~15ms error due to Windows' default ticks? |
16:16:59 | dom96 | good question, for which I don't know the answer. |
16:17:54 | dom96 | It seems to simply call http://msdn.microsoft.com/en-us/library/windows/desktop/ms686298%28v=vs.85%29.aspx |
16:19:53 | NewGuy | Damn, yeah that's low-precision. |
16:34:43 | dom96 | fix it and send a pull request |
16:36:47 | NewGuy | Currently looking around for an alternative (on Windows at least). Haven't found anything short of setBeginPeriod(1) and setEndPeriod(1). |
16:36:54 | * | DAddYE joined #nimrod |
16:38:55 | NewGuy | Instead I'm just going to go ahead and rely on VSync to handle my idling. |
16:39:11 | dom96 | what are you coding? |
16:39:34 | NewGuy | Right now I'm doing a quick little game to learn my some Nimrod. |
16:39:41 | dom96 | cool |
16:40:29 | NewGuy | Yeha, but I've just started moving toward more cross-platform (from Linux-only), so I'm running into annoying Windows bugs. |
16:40:38 | NewGuy | #first world problems |
16:43:24 | dom96 | heh |
16:44:02 | NewGuy | So how are you this wonderful day, Dom? |
16:44:14 | dom96 | i'm pretty good, what about yourself? |
16:44:57 | NewGuy | Bit drowsing, 5 hours of driving yesterday and looking forward to another 2 today! |
16:45:13 | dom96 | fun heh |
16:53:00 | NewGuy | How heavy are channels? |
16:53:15 | NewGuy | Oh, I keep forgetting Nimrod is OSS, I can just go look myself. |
16:54:35 | dom96 | yes :) |
17:12:43 | * | NewGuy quit (Ping timeout: 250 seconds) |
17:39:27 | * | q66 quit (Ping timeout: 260 seconds) |
17:49:29 | * | fowl quit (Quit: EliteBNC free bnc service - http://elitebnc.org) |
17:52:43 | * | fowl joined #nimrod |
18:22:54 | * | Mat2 joined #nimrod |
18:22:58 | Mat2 | hi @ all |
18:23:51 | dom96 | hello Mat2 |
18:24:04 | Mat2 | hi dom96 |
18:24:22 | * | Trixar_za is now known as Trix[a]r_za |
18:33:33 | * | zahary joined #nimrod |
18:33:55 | * | q66 joined #nimrod |
18:34:00 | * | zahary quit (Client Quit) |
18:34:18 | * | zahary joined #nimrod |
18:51:13 | * | nihathrael joined #nimrod |
19:46:41 | * | OrionPK joined #nimrod |
19:56:20 | * | Associ8or joined #nimrod |
19:56:20 | * | Associ8or quit (Changing host) |
19:56:20 | * | Associ8or joined #nimrod |
19:58:29 | * | Associat0r quit (Ping timeout: 248 seconds) |
20:02:13 | * | filwit joined #nimrod |
20:02:19 | filwit | hey dom96 |
20:02:22 | filwit | just got your email |
20:03:02 | filwit | also, hello Araq and crew |
20:05:38 | filwit | hmmm.. #nimrod seems less than lively today |
20:07:12 | Araq | hi filwit |
20:07:17 | filwit | hi :) |
20:07:24 | Araq | sometimes we're working on things |
20:07:45 | filwit | well stop being productive and talk on ur irc more! |
20:07:51 | filwit | :P |
20:08:23 | OrionPK | already using my lack of productivity to browse reddit when I should be working |
20:08:24 | filwit | no, dom just emailed me about the logo license and something about you changing the style restrictions |
20:08:44 | filwit | thought i'd stop by and talk to him rather than email |
20:08:56 | filwit | yes, thank god i never got into reddit |
20:11:11 | * | Mat2 study ARM assembly guides (and FASM/ARM) |
20:11:52 | Araq | well the SI feature is up for discussion for now everybody dislikes my enforced style idea |
20:12:30 | Araq | which is nice so I now know what I shouldn't do at all |
20:12:35 | filwit | when you first told me about how you wanted to enforce case-sensitivity, i was against it |
20:12:42 | filwit | but now i'm not so sure it's a bad idea |
20:13:10 | filwit | the one thing that really bothers me which Nimrod uses (i'm just going through the forum thread) is the T/P thing |
20:13:18 | Mat2 | well, I'm always for case insensitivity if I had the choice |
20:13:27 | filwit | i know you posted your thoughts about that on the thread though |
20:13:58 | filwit | case insensitivity was... interesting to me about Nimrod |
20:14:12 | filwit | i've never used a language that did that before (plus ignore _) |
20:14:33 | Araq | it's quite a logical thing to do if you look at what an IDE does for you |
20:14:42 | Araq | but yeah the SI is unique to Nimrod |
20:15:05 | filwit | which is logic for an IDE? |
20:15:11 | filwit | case sensitive or insensitive? |
20:15:17 | Araq | IDE helps you edit the parse trees |
20:15:27 | Araq | it might as well render the tree as you prefer |
20:15:45 | Araq | and SI enables it to render it your way |
20:15:53 | Araq | since it doesn't affect the semantics |
20:15:57 | filwit | yes, lol, i had the same idea about a "syntax agnostic" IDE before |
20:16:17 | Araq | however |
20:16:20 | filwit | which would display in C-or-Python-or-Whatever style depending on your prefs |
20:16:34 | Araq | I think I found a satisfying solution for the P/T stuff |
20:16:43 | filwit | i'm interested |
20:17:20 | EXetoC | yeah, but it can be optional. but if the IDE is supposed to do it, then it's not going to be statically enforced by the compiler, so I don't know what the complaint it |
20:17:40 | filwit | ^ |
20:17:58 | filwit | i need to read Araqs original forum post |
20:18:03 | filwit | one sec |
20:18:41 | dom96 | sorry was away filwit |
20:19:04 | filwit | hey dom |
20:19:11 | * | dom96 reads scroll back |
20:19:40 | Araq | things like Int, File, Socket etc. are clear |
20:19:41 | Araq | so the question is what to do with all the types that are not clear |
20:19:43 | Araq | and I think the rule should be "in doubt the ref version gets the Typ name and the value type the TypObj name" so we'll get quite some Obj suffixes but then so be it |
20:20:29 | filwit | ^ is that in response to the T/P thing? |
20:20:33 | Araq | yeah |
20:20:44 | filwit | okay, what's wrong with 'ref T' again? |
20:20:58 | filwit | (not trying to fight, just wondering) |
20:21:05 | Araq | it's verbose and doesn't work as soon as you use the type |
20:21:12 | Araq | in a type conversion |
20:21:19 | Araq | or in the newish type construction expression |
20:21:22 | filwit | ref rect: Rect :) |
20:21:26 | filwit | var ref: Rect |
20:21:37 | filwit | var rect: Rect **** |
20:21:40 | Araq | var r: ref Rect ? |
20:21:45 | filwit | sure |
20:21:55 | filwit | i was just shortning the verboseness |
20:22:06 | dom96 | filwit: I wish you would join sometimes without me having to email you :P |
20:22:17 | filwit | either way, i still prefer that to TRect or PRect |
20:22:29 | Araq | I read some D code recently and it's pretty horrible IMHO |
20:22:45 | filwit | because I have to remember that those two versions exist in the library |
20:22:50 | Araq | you never know if it's a class or a struct and so which semantics it has |
20:22:52 | dom96 | Having to write 'ref' explicitly all the time would be a bit of a pain. |
20:23:02 | filwit | yeah, D is really symbol-heavy |
20:23:03 | dom96 | And we would have more people complaining that Nimrod is too verbose... |
20:23:11 | filwit | least it's not as bad as C# |
20:23:16 | Araq | no |
20:23:26 | Araq | in C# the default is pretty much the class |
20:23:30 | Araq | so it's no big deal here |
20:23:31 | filwit | dom, I disagree about having to write 'ref' |
20:23:44 | Araq | it's different for D and Nimrod as value types are much more common |
20:23:54 | filwit | it's simple to type and universally easy to remember... if that makes sense |
20:24:25 | dom96 | People coming from the C-world will dislike it because it's not as simple as writing '*' |
20:24:32 | Araq | btw it took me a few months to recognize DateTime is a struct in C# |
20:24:41 | Araq | so the problem exists in C# too |
20:25:19 | filwit | well C# is horrible about that (though VS helps with it's color coding) |
20:25:26 | dom96 | filwit: Also, before I forget. What is the license then? |
20:25:45 | filwit | var x = new DateTime() // heap alloc i think, even though it's a struct |
20:25:47 | filwit | same for D |
20:26:04 | Araq | I think you're wrong |
20:26:09 | filwit | really? |
20:26:14 | Araq | new T doesn't heap alloc in C# |
20:26:17 | filwit | dom96: whatever you want |
20:26:23 | dom96 | filwit: cool |
20:26:25 | Araq | if it's a struct |
20:27:06 | filwit | hmmm. well i know it's like that in D |
20:27:15 | filwit | and we benched C# before and it was slower |
20:27:18 | EXetoC | I don't know if it makes sense to annotate the value type, but maybe I'm just used to * or ref |
20:27:39 | filwit | well... maybe i'm confusing heap alloc with something else... |
20:27:44 | Araq | well it depends of course, EXetoC |
20:28:12 | Araq | for Vector and Matrix I would skip the T and not have the Obj suffix and expect people to know they are value types |
20:28:28 | filwit | i think using 'ref' makes much more sense, because: it's one thing to remember |
20:28:37 | filwit | that's my main gripe with T/P |
20:28:57 | filwit | you not only have to create the T/P versions to be consistent.. you also have to remember multiple versions of everything |
20:29:08 | EXetoC | it's not hard to remember either way. users will encounter it over and over |
20:29:15 | Araq | so how do you do PNode(x: 1, y: 2) with 'ref Node'? right now you can't |
20:29:29 | filwit | EXetoC: sure, but there will be corner cases |
20:29:52 | Araq | the T/P is everywhere and very very easy to remember |
20:29:54 | filwit | Araq: why doesn't ref Node(...) work? |
20:29:57 | dom96 | The T/P is part of the name, I think it's just as easy to remember as any type name. |
20:30:18 | filwit | it's not really about "remembering" what T/P does |
20:30:25 | filwit | it's that sometimes it wont be there |
20:30:30 | Araq | it's annoying to always argue about what the potential newbie might be confused about |
20:30:30 | filwit | and 'ref' is universal |
20:30:38 | filwit | i only have to remember one thing for everything |
20:30:53 | EXetoC | indeed. they should learn the language |
20:30:55 | Araq | filwit: that's a very theoretical argument though |
20:31:01 | filwit | okay Araq, I feel ya, I'm not here to start petty debates |
20:31:05 | dom96 | You will still have to remember if a certain function takes a 'ref T' or not. |
20:31:19 | filwit | (even if that's what always happens when i come around, lol) |
20:31:54 | filwit | dom96: yes, but you only have to remember one way to pass a specific type as ref or value |
20:31:58 | Araq | well the only reason to change the T/P stuff is that's admittedly ugly |
20:32:02 | EXetoC | just do whatever you want. the most controversial part right now is the case sensitivity, but like you said, people will argue about all the other stuff either way |
20:33:07 | dom96 | filwit: oh, is what you're talking about the fact that "PType" and "ref TType" is the same thing and that that is hard to remember? |
20:34:40 | filwit | dom96: it's not "hard" to remember... it's "easier" to remember one keyword which applies to all types, than to require: A) the Type creator to make multiple versions, and B) the Type user to _know_ that T/P versions exist in said library |
20:34:41 | Mat2 | personally, I use prefixes for every variable, constant and type defination. usName for variadic records, cName for constants, fName for flags etc... |
20:35:49 | Araq | Mat2: that's crazy ;-) |
20:36:00 | filwit | ^ |
20:36:02 | filwit | :P |
20:36:37 | filwit | though i do thinks like isCondition or hasSomething for flags |
20:36:41 | EXetoC | I think the not stupid version of hungarian notation is fine, whichever it was |
20:36:42 | filwit | things** |
20:36:55 | dom96 | filwit: I don't think what you suggest will solve B) though. If the library uses a combination of value types and 'ref' types the user will still need to be aware of them. |
20:37:55 | filwit | dom96: it still makes it easier for the user to remember how to pass (the type he's using) to those functions which require it by ref |
20:38:00 | filwit | dom96: slightly... |
20:38:16 | dom96 | The user has to type more though :P |
20:38:26 | dom96 | Arguably a lot more. |
20:38:33 | filwit | i think the cleaner syntax pays off in the long run |
20:38:44 | filwit | but that's just an opinion |
20:39:29 | dom96 | I probably wouldn't mind it. Except for the issues that Araq describes with the construction syntax as well as the cast syntax. |
20:39:30 | Mat2 | Araq: That's useful because the type of each defination is known by name (so you do not need to reread it though x files just to check up types in lousy type-systems |
20:39:32 | filwit | about the case-sensitivity, personally I like how nimrod has really insensitive functions.. but maybe enforce PascalCase on types? |
20:39:39 | EXetoC | again, this is a basic convention. I know the language now, so I don't have to pause and think about it |
20:40:01 | filwit | dom96: i'm not familiar with his arguments for those cases |
20:40:01 | EXetoC | filwit: that was one of the suggestions |
20:40:14 | EXetoC | which he might've abandoned now |
20:40:20 | filwit | EXetoC: okay, didn't fully read the forum yet |
20:40:32 | Araq | I only abandoned the enforced style really |
20:40:33 | dom96 | From my latest post in the forum thread: "Our options seems to be to make the first letter case sensitive, leave everything as it is, or switch to normal case sensitivity without enforced style like in all the other languages. " |
20:40:39 | EXetoC | ok |
20:40:48 | dom96 | Perhaps making the first letter case sensitive is a good idea. |
20:41:15 | filwit | yeah that I can see as a benefit |
20:41:29 | filwit | I always do Pascal for types, and camel for funcs/locals |
20:41:49 | Araq | it takes away from the "render" feature though |
20:41:53 | filwit | but I know a lot of MS C++/C# guys use Pascal for everything |
20:42:18 | filwit | Araq: you mean the IDE being able to control the 'look n feel'? |
20:42:19 | dom96 | And I would love to have enforcement of PascalCase for types. |
20:42:26 | dom96 | Like is done in Haskell. |
20:42:32 | Araq | filwit: yeah |
20:43:04 | filwit | Araq: didn't you already fix this case: var rect: Rect .... rect.something # local ? |
20:43:21 | filwit | Araq: if so, why even fudge with the sensitivity issue? |
20:43:48 | filwit | Araq: i didn't really see a explanation for why you wanted to do that in your original post |
20:45:31 | Araq | yeah I "fixed" it but it only works in the places in the grammar where a type context is expected |
20:45:36 | Araq | like after a colon |
20:45:43 | EXetoC | right, skipping the Obj postfix for certain things seems to be a good idea. it should be fairly obvious what it is in many cases |
20:46:00 | filwit | Araq: okay, so not "fully" fixed |
20:46:23 | dom96 | filwit: We want to help with adoption. It seems that these T/P prefixes and style insensitivity scare people away from Nimrod. |
20:46:38 | filwit | Araq: that is really one of the only reasons I could see why enforcing CS on types would make sense |
20:46:39 | EXetoC | and sometimes I can't be bothered with the init prefix either, but mostly for types that are used all over the place |
20:47:02 | Araq | it's possible to fully fix it, filwit but it's complex and the lookup rules when it comes to generics and macros are already quite complex |
20:47:16 | filwit | dom96: yes, i agree.. it's was the first "well.. that's sux" moments I had when reading through the Nimrod doc |
20:47:25 | Araq | plus it's kind of weird |
20:47:44 | Araq | the human being uses the case to disambiguate var parser: Parser |
20:47:54 | Araq | so the compiler should do the same |
20:48:17 | filwit | yeah, that makes sense.. but it sounds like a lot of work |
20:48:38 | filwit | a lot of work that other CS languages don't need to deal with |
20:48:54 | filwit | still, the non-CS of Nimrod is kinda attractive in it's own right |
20:49:27 | filwit | so idk, from a purely marketing standpoint it might be worth it, idk |
20:49:48 | Araq | well one other solution is to make CS based on the identifiers in scope |
20:50:06 | Araq | if they clash, use for these identifiers a CS based lookup |
20:50:33 | Araq | that's quite what a human being does I guess, but it's also weird ;-) |
20:50:37 | filwit | yeah that's what I thought you meant to do... so var rect: Rect ... every 'rect' after that (in the scope) would refer to the local not that type |
20:50:51 | filwit | i think that makes sense, personally |
20:51:12 | dom96 | That sounds like it would create many confusing errors. |
20:51:24 | filwit | ^ true... |
20:51:33 | filwit | hard to parse bugs |
20:51:39 | filwit | but IDE color coding could help there |
20:51:48 | dom96 | You're expecting the language to be non-CS and it suddenly starts being CS. |
20:51:52 | dom96 | And only in a specific scenario |
20:52:00 | dom96 | Actually it's most definitely a bad idea. |
20:52:04 | filwit | haha, that's a good point |
20:52:23 | Araq | dom96: I dunno, I think in practice it will work out beautifully |
20:52:39 | filwit | ps folks, you guys still teamspeak? |
20:52:39 | Araq | but it's hard to implement and again works against the "render" feature a bit |
20:52:41 | dom96 | Like, you define some variable and suddenly some code 5K lines away from your definition starts creating an error and you're confused as hell |
20:53:24 | Araq | dom96: once again, you can't design features by starting with the "omg what if" question |
20:53:31 | filwit | dom96, Araq: you guys still get on teamspeak regularly? |
20:53:35 | dom96 | filwit: Not really. We use Skype more I guess. |
20:53:58 | Araq | dom96 is lying |
20:54:13 | Araq | truth is: we gave up on nimrod and play Dota 2 all the time |
20:54:19 | filwit | LOL |
20:54:22 | dom96 | lol |
20:55:15 | dom96 | Araq: I can't help it, I have to think of 'what if' scenarios, it's my nature. |
20:55:45 | filwit | same |
20:56:02 | dom96 | It's thanks to this that I can think of possible bugs in my code :) |
20:56:07 | Araq | what if somebody nests his "if"s 30 levels deep? should we forbid it? why? |
20:56:18 | Araq | does that make "if" a bad feature? |
20:56:34 | EXetoC | yes, get rid of it |
20:56:37 | dom96 | There is a difference between coming up with ridiculous 'what if' scenarios and perfectly reasonable ones :P |
20:56:52 | Araq | you were totally unspecific |
20:56:59 | Araq | not perfectly reasonable |
20:57:14 | Mat2 | just a note: the syntax in Colorforth is identical to a specific highlighting colour (so no prefixes (and special syntax) used, only colours) |
20:57:19 | dom96 | Yeah, fair enough. I was very vague. |
20:58:07 | filwit | lol EXetoC |
20:58:15 | dom96 | But I was doing it with the hope that you may understand what I mean. Perhaps you're right and it won't happen in practive. |
20:58:17 | dom96 | *practice |
21:03:19 | filwit | the fuck is Colorforth? |
21:03:38 | filwit | you know a lot about abstract languages, Mat2 :D |
21:04:00 | filwit | (excuse my french) |
21:05:37 | Mat2 | filwit: look here (the 4 definations are an IDE driver): http://www.colorforth.com/ide.html |
21:06:10 | filwit | oh god, large text is large |
21:06:30 | * | Sergio965 joined #nimrod |
21:07:13 | Mat2 | (that's the commentary. Mr. Moore's eyesight is not so good this days) |
21:07:43 | dom96 | filwit: I should probably give up... and i'm sorry for asking once again... but any chance you could finish that aporia icon? |
21:09:05 | filwit | lol, yeah dom96 |
21:09:11 | filwit | i know i promised that awhile ago |
21:09:13 | dom96 | yay |
21:10:14 | filwit | but you didn't like my first design and wanted some border-line-gay pink unicorn or something so i gave up for a bit |
21:10:24 | filwit | (haha :-P) |
21:10:50 | dom96 | HEY GITHUB'S PINK UNICORN IS AWESOME AND YOU KNOW IT |
21:10:53 | dom96 | *cough* |
21:11:01 | filwit | lol |
21:11:10 | filwit | wait, github has a pink unicorn ? |
21:11:15 | dom96 | I had this other idea of having the outline of a butterfly on a grey background, and the inside of the butterfly would be white with an inner shadow |
21:11:21 | dom96 | I even tried it myself |
21:11:28 | dom96 | But got annoyed by inkscape |
21:12:01 | dom96 | Yes: http://fredericiana.com/media/wp/2009/12/github-fail-unicorn.JPG |
21:12:22 | filwit | hmmm.. okay i think i see what your envisioning |
21:12:28 | dom96 | lol |
21:12:31 | reactormonk | works \o/ https://github.com/Tass/nim-kwin-tiling |
21:12:35 | reactormonk | btw, what is the prefix/postfix for nimrod code? |
21:12:39 | dom96 | I wasn't serious about the pink unicorn btw :P |
21:12:48 | dom96 | reactormonk: cool, I saw that earlier! |
21:13:01 | reactormonk | dom96, now for some real tiling code |
21:13:11 | reactormonk | I'm grabbing the algos from dw |
21:13:13 | reactormonk | dwm |
21:13:18 | filwit | interesting reactormonk, I just switched to KDE |
21:13:24 | dom96 | filwit: I tried tracing this: http://en.wikipedia.org/wiki/File:Bolboreta_GFDL97.jpg |
21:13:25 | filwit | looks promising |
21:13:52 | reactormonk | filwit, you can already load it, it maps the keys to gravities |
21:14:11 | reactormonk | so you have semi-tiling for starters |
21:14:27 | reactormonk | it's easier with emacs. |
21:14:55 | Mat2 | How the come to this logo ... hmm, consuming mushrooms ? |
21:15:47 | reactormonk | filwit, feel free to open any issues |
21:16:05 | filwit | that's always the best way to make successful things Mat2, just look at mario |
21:16:17 | dom96 | reactormonk: cool, so that means that Nimrod's JS backend is pretty good huh? |
21:16:22 | filwit | reactormonk: okay, will probably test it in a bit |
21:16:26 | Mat2 | a preference for playing with Filly Unicorns ? |
21:16:41 | dom96 | filwit: I sent you an email with what I managed to do, maybe you could finish it off? |
21:16:58 | filwit | dom96: ill take a look |
21:17:45 | filwit | tell me what you do and dont like about it |
21:18:04 | filwit | actually, lets start that in private thread |
21:18:05 | Mat2 | filwit: ehm.. ok. I had always prefered Giana's Sister |
21:18:07 | dom96 | up close it just looks odd. |
21:18:20 | dom96 | zoomed out it looks ok, but too plain I think. |
21:18:25 | filwit | oh Mat2, i was talking to dom about his design he emailed me |
21:18:41 | dom96 | oh, private thread, ok. |
21:18:52 | reactormonk | dom96, yup, it works. |
21:18:52 | filwit | just so we're not spaming this with design talk |
21:20:35 | * | NewGuy joined #nimrod |
21:21:43 | dom96 | hey NewGuy |
21:22:03 | dom96 | You're not really new anymore heh |
21:22:07 | Mat2 | hi NewGuy |
21:22:17 | reactormonk | filwit, there isn't much to it currently |
21:24:34 | NewGuy | Oh hey guys! Sorry, looking at the logs. |
21:25:05 | reactormonk | trying to find out wtf mfact is. Short variable names are for asshats. |
21:25:05 | NewGuy | Nah, but I think I'm going to stick with it ;) |
21:25:49 | Araq | NewGuy: sdl.sleep might do what you want |
21:26:22 | dom96 | NewGuy: awesome :D |
21:26:26 | reactormonk | Araq, so, how do you write a repr? |
21:26:28 | NewGuy | Hm? Oh really? |
21:27:14 | dom96 | reactormonk: Nice to hear that the JS backend works. I have a cool project planned: a bridge between server nimrod (C) and client nimrod (JS). |
21:27:20 | dom96 | It's a pretty obvious project really. |
21:28:04 | Araq | reactormonk: 'repr' takes too much time, I might deprecate it now that compile time iteration over object fields works |
21:28:46 | Araq | I mean it takes too much development time, it's still buggy apparently |
21:28:56 | Araq | and makes for a bad first impression |
21:30:16 | OrionPK | dom96 as a web dev, all I have to say to that is "uh oh" :P |
21:30:31 | NewGuy | Araq: Ah - alas this is not so. It has the same limitations as the standard C's sleep() |
21:30:55 | dom96 | OrionPK: Why? :P |
21:31:58 | reactormonk | Araq, hm. I'd like a $ that matches objects |
21:32:00 | NewGuy | Araq: But all is well! both sleep(0) and friends, will still do what I need. As does using VSync to restrict it without any need for timers at all |
21:32:21 | OrionPK | dom96 I just get nervous about things that try to do "too much" |
21:32:40 | reactormonk | dom96, kinda like http://doc.opalang.org/ ? ^^ |
21:32:46 | OrionPK | you always seem to run into a wall where you can't do something the 'right way' and have to resort to hacks or ditch your progress |
21:33:00 | Araq | NewGuy: if you operate the GC in realtime mode it does busy waiting for you and is more accurate than sleep ... that's what I think anyway |
21:33:42 | OrionPK | dom96 have you ever used razor view engine in asp.net mvc? |
21:34:01 | dom96 | OrionPK: I know what you mean. I've used all sorts of ASP.NET crap :P |
21:34:08 | NewGuy | Araq: You mean just let it do a step()? |
21:34:27 | dom96 | OrionPK: My design will be superior :P |
21:34:34 | NewGuy | Araq: That would be pretty damn perfect! |
21:34:39 | OrionPK | heh |
21:34:48 | OrionPK | something like that would be pretty damn useful.. nimrod has filters which are nice but limited as yet |
21:34:51 | dom96 | reactormonk: maybe, not familiar with it. |
21:36:36 | dom96 | I'm not sure how well it will work out in practice. But having some transparency between client-side Nimrod and server-side Nimrod would be cool. |
21:37:28 | Araq | NewGuy: yeah, look it up in the docs though I don't remember it |
21:37:56 | OrionPK | well |
21:38:06 | OrionPK | the client side stuff has a long long way to go |
21:38:31 | OrionPK | lot of JS gets generated for not much nimrod |
21:38:50 | NewGuy | Araq: I was just looking at the docs, I didn't see anything about it doing busy waiting? |
21:39:13 | NewGuy | Araq: Just about setting the max-time for a step, the ability to trigger a step, etc. I'll look some more and see if I can find it though. |
21:39:14 | OrionPK | I would rather just write my own JS, or use typescript or something |
21:39:15 | dom96 | OrionPK: I'm not sure, but I think it still needs dead code elimination. |
21:40:22 | reactormonk | OrionPK, it's not that bad |
21:40:45 | OrionPK | I havent used it for anything beyond just testing it out |
21:41:09 | OrionPK | but another issue is debugging the generated js |
21:41:21 | dom96 | I used it very little too. |
21:42:51 | Associ8or | could be solved with sourcemaps |
21:43:22 | OrionPK | idk if sourcemaps would work |
21:43:26 | reactormonk | OrionPK, so far, I haven't had too many problems |
21:43:34 | reactormonk | OrionPK, http://sprunge.us/MfaX generated code |
21:43:58 | OrionPK | reactormonk whats it do? |
21:44:19 | Associ8or | anyway I don |
21:44:35 | Associ8or | 't see why in this day and age, anyone would want to write JS by hand |
21:45:09 | OrionPK | necessary evil |
21:45:17 | NewGuy | I assume not (since I can't find anything in the docs) but does Nimrod happen to have abstract types or interfaces? |
21:45:53 | NewGuy | Or should I just use inheritance with an object that throws an exception when it's methods run? |
21:46:30 | Associ8or | I don't think it's nessecary evil, in the same way that most people don't write ASM by hand anymore |
21:46:51 | reactormonk | OrionPK, tiling on kwin. |
21:47:12 | Mat2 | get some sleep, ciao |
21:47:19 | OrionPK | I would scarcely know where to even put a breakpoint in that, reactormonk :P |
21:47:30 | * | Mat2 quit (Quit: Verlassend) |
21:47:55 | reactormonk | OrionPK, I added some echo statements, you can't put a breakpoint inside kwin anyway |
21:48:24 | dom96 | NewGuy: What do you want to do? Perhaps you should just use inheritance. |
21:48:50 | OrionPK | NewGuy there was a forum post about this a couple months back I think |
21:49:09 | OrionPK | http://forum.nimrod-code.org/t/162 |
21:49:28 | NewGuy | dom96: Making the framework for game-states. Wanted to make an abstract State object that all the states used by the game would implement. |
21:49:42 | NewGuy | OrionPK: Thanks, man. You're the best. |
21:50:11 | OrionPK | np |
21:52:30 | NewGuy | It's a no-go. Like the thread said, that solution won't work with methods since they don't have any compile-time behavior - and the base-class must be implemented. |
21:52:38 | Araq | NewGuy: GC_step(x, strongAdvice=true) might be it |
21:52:50 | Araq | but I agree somebody should improve the docs |
21:53:04 | NewGuy | Araq: I do directly remember you advising someone to come bug you on the IRC if they want something done. |
21:53:28 | NewGuy | Araq: So - can you please give us {.abstract.} for methods? I would be eternally grateful! ;) |
21:53:34 | Araq | no |
21:53:43 | Araq | how should they work? |
21:53:57 | NewGuy | Araq: Damn, worth a shot. I have no idea. |
21:54:01 | Araq | good luck figuring it out |
21:54:06 | Araq | it's far from trivial |
21:54:36 | Araq | (I have 1 solution at least but it's ugly) |
21:54:44 | NewGuy | Yeah, I'll just go ahead with throwing an exception if the method is ever reached. Solves the problem just fine. |
21:55:01 | Araq | you might also use closures instead of objects |
21:55:02 | reactormonk | Araq, kinda like traits in scala? You can say object X implement trait Y. Traits may have unimplemented methods. |
21:55:32 | Araq | reactormonk: Scala has 'class'. Nimrod hasn't |
21:56:10 | Araq | dom96: the JS codegen does dead code elimination since 0.9.2 |
21:56:28 | reactormonk | Araq, nimrod has objects? |
21:57:56 | Araq | reactormonk: but methods are not bound to objects so it's hard to decide at which point the compiler should report an error that you didn't implement some .abstract method |
21:58:17 | NewGuy | Araq: I'd be willing to help out with documentation as I go. |
21:58:22 | NewGuy | It's the least I can do. |
21:58:30 | Araq | awesome thanks |
21:58:43 | Sergio965 | Does Nimrod have procedural macros? |
21:58:59 | Araq | Sergio965: I don't know what you mean by that, but yes |
21:59:04 | Sergio965 | Lmao. |
21:59:08 | NewGuy | Araq: What's the strongAdvice parameter do, though? Just asks it to enforce that maxTime? |
21:59:17 | Sergio965 | http://en.wikipedia.org/wiki/Macro_(computer_science)#Procedural_macros |
21:59:25 | Araq | iirc, NewGuy |
21:59:45 | Araq | Sergio965: the answer is still yes |
21:59:51 | Sergio965 | Neat. |
22:02:44 | NewGuy | Well I'm off for lunch, thanks for the answers everyone. Enjoy! |
22:02:54 | * | gradha joined #nimrod |
22:04:13 | EXetoC | gradha: meow |
22:04:54 | gradha | EXetoC: sorry, can't speak cat |
22:05:33 | EXetoC | moo |
22:05:58 | gradha | oh, I ate that one today |
22:06:56 | reactormonk | Araq, a trait has a generic that needs to be instanciated, that fills the 'bind to object' part. You can then explicitly say that type X implements the trait or implicitly if the abstract methods are defined. |
22:06:57 | * | NewGuy quit (Ping timeout: 250 seconds) |
22:07:05 | * | dom96 growls at EXetoC |
22:07:54 | Araq | reactormonk: here is how I read it "bli bla trait blub" :P |
22:08:27 | EXetoC | c(:) |
22:09:05 | gradha | dom96: saw https://www.youtube.com/watch?v=sW9JX38lmM0 today, thought you may like it |
22:09:30 | reactormonk | Araq, try again |
22:10:12 | Araq | hmm "bla bla trait bla awesome blah replaced by roles in 2 years" |
22:11:52 | reactormonk | roles? |
22:12:51 | Araq | a role is a trait with multiple unbound F-row-polymorphism, reactormonk |
22:13:09 | Araq | and hence clearly superior |
22:14:21 | reactormonk | why do you need multiple uunbound? |
22:16:06 | Araq | so that I can reintroduce a nominal typing system on top of a structural system |
22:16:37 | reactormonk | a bit less fancy for me plz |
22:16:57 | Araq | ok, ok, the joke went a bit too far |
22:17:14 | Araq | reactormonk: I made up all this stuff |
22:17:32 | * | filwit quit (Quit: Leaving) |
22:19:03 | EXetoC | it sounds good. maybe you should tweak the terminology a little bit, and then try to make it the new OO |
22:19:07 | dom96 | gradha: lol, i'm not much into MLP. I do like demoscene though. Comex might like it though. |
22:19:53 | gradha | use it against filwit as design argument for your aporia icon |
22:20:18 | gradha | though those ponies are less manly than github's pink unicorn |
22:21:01 | dom96 | The fact that comex likes MLP proves that using a 'unicorn' as an icon for Aporia is not that bad of an idea :P |
22:21:13 | Araq | reactormonk: I think Perl 6 really has "roles" though. I don't know how they compare to traits. |
22:22:15 | * | BitPuffin joined #nimrod |
22:22:17 | dom96 | reactormonk: Don't worry, I think Araq is just drunk again. |
22:22:22 | BitPuffin | Hey guys |
22:22:27 | dom96 | :P |
22:22:29 | dom96 | hey BitPuffin |
22:22:35 | BitPuffin | dom96: is there an easy way to use sqlite with yar web framework |
22:22:47 | BitPuffin | and have you benchmarked it against other frameworks? :) |
22:23:08 | dom96 | BitPuffin: Depends how you define "easy". |
22:23:22 | dom96 | BitPuffin: It's as easy as using the db_sqlite module. |
22:23:39 | gradha | maybe he's looking for exhu's ORM |
22:23:45 | BitPuffin | dom96: hmm |
22:23:51 | BitPuffin | yeah an ORM might be nice |
22:24:08 | dom96 | nimforum manages fine without an ORM |
22:24:14 | gradha | unfortunately exhu has only talked about implementing one, so you'll have to use db_sqlite for the moment |
22:25:21 | BitPuffin | hmm |
22:25:23 | BitPuffin | is it easy to use? |
22:26:20 | Araq | I think exhu did implement one, he stopped using macros for it though due to their bugs |
22:27:21 | gradha | BitPuffin: if you don't mind writing SQL statements it's fine |
22:27:37 | BitPuffin | gradha: Hmm, well I don't think I do |
22:27:43 | BitPuffin | so it might be fine :) |
22:28:24 | dom96 | alternatively you can use mongo or redis |
22:29:04 | BitPuffin | dom96: is jester asynchronous? |
22:29:24 | BitPuffin | dom96: Sure but mongo is not all that good and redis is in memory |
22:29:32 | BitPuffin | which isn't too much of a fit for this kind of website |
22:29:50 | gradha | BitPuffin: examples of usage at https://github.com/gradha/the_hyperlink_vs_nimrod/blob/master/the_hyperlink_vs_nimrod.nim#L209 or https://github.com/gradha/the_hyperlink_vs_nimrod/blob/master/the_hyperlink_vs_nimrod.nim#L637 |
22:29:52 | dom96 | yes it is |
22:30:07 | dom96 | I use redis for nimbuild btw :P |
22:30:07 | gradha | dom96: doesn't your pygment nimrodizer support triple quotes? |
22:30:11 | BitPuffin | dom96: you mean async? |
22:30:14 | dom96 | yes |
22:30:19 | BitPuffin | dom96: oh coool! |
22:30:25 | BitPuffin | dom96: what's the memory usage? |
22:30:34 | dom96 | Very small. |
22:30:57 | dom96 | It's not like i'm storing the great encyclopedia in there though. |
22:31:16 | dom96 | gradha: dunno, it should? |
22:31:30 | dom96 | btw it would be nice if someone created a page for all the nimrod pygments bugs they see |
22:31:38 | dom96 | on the wiki maybe |
22:31:43 | dom96 | So that someone can fix them all :P |
22:32:20 | BitPuffin | gradha: I'll check it out, thanks :) I'm thinking I might just use jester for my dad's websites because it's pretty small and sqlite is small too. And his website doesn't need a huge amount of load |
22:33:50 | * | NewGuy joined #nimrod |
22:35:32 | gradha | BitPuffin: you can see a smaller usage example in nimrod's examples/cross_todo/nimrod_backend directory |
22:38:59 | gradha | dom96: doesn't that pygment thing have some github issue thingy? in fact, were does it exist? |
22:39:07 | gradha | thingy |
22:39:13 | dom96 | on bitbucket |
22:39:27 | gradha | so bitbucket thingy |
22:43:43 | BitPuffin | gradha: in the nimrod source tree? |
22:44:13 | gradha | BitPuffin: yes |
22:44:34 | gradha | shouldn't be far if you have nimrod installed |
22:53:20 | BitPuffin | gotta install nimrod on my desktop computer :) |
22:53:27 | BitPuffin | haven't used it in a couple of weeks |
22:54:05 | * | gradha likes how people nowadays chat telepathically on IRC without computers |
22:56:57 | * | BitPuffin does too |
22:57:03 | BitPuffin | gradha: no I've been on my laptop you see |
22:57:30 | BitPuffin | last time I used this machine I probably didn't even know that nimrod existed possibly :o |
22:58:23 | Araq | yeah been too afraid of Nimrod's 'discard disaster hu? |
22:58:42 | Araq | and no ... I don't know what this is either |
22:59:03 | Araq | I read in some forum post about it |
22:59:11 | BitPuffin | Araq: whatchu talking bout |
22:59:46 | Araq | apparently we had a "discard" showstopper once |
22:59:54 | BitPuffin | when? |
22:59:59 | gradha | so you discarded the showstopper? |
23:00:04 | Araq | a couple of years ago I think |
23:00:54 | Araq | I've implemented 'discardable' but not because of this but because it's useful |
23:05:24 | * | NimBot joined #nimrod |
23:05:40 | gradha | Araq: you seem to be doing fine despite suffering people |
23:08:10 | Araq | BitPuffin: I'm sorry, I wasn't suggesting you are one of these people |
23:08:35 | BitPuffin | Araq: hmm? |
23:09:26 | Araq | never mind, you didn't misunderstood me then |
23:10:37 | BitPuffin | I can't recall you saying anything about people, was it during my reboot? |
23:11:47 | gradha | BitPuffin: don't worry about that and download nimrod on that laptop so you can be whole again |
23:12:05 | BitPuffin | gradha: ah well nimrod is on the laptop but not on the desktop :) |
23:12:15 | BitPuffin | I'm gonna start the process rajt nao! |
23:12:48 | gradha | good man |
23:12:58 | Araq | BitPuffin: I said: my point is: People come up with stupid things to avoid learning something new |
23:13:14 | BitPuffin | gradha: I'm a great man indeed |
23:13:32 | BitPuffin | Araq: Ah, well I learned nimrod so I'm definitely not one of those :D |
23:13:49 | EXetoC | yeah screw them |
23:14:19 | Araq | gah it was just a silly story anyway |
23:14:38 | Araq | actually it was supposed to be funny but since nobody laughs ... |
23:14:47 | BitPuffin | I might have to check the logs |
23:15:01 | gradha | Araq: the world needs more blog posts about nimrod and people being stupid for not learning new things |
23:15:32 | Araq | gradha: the world also needs my register based VM for superior macro evaluation |
23:16:01 | gradha | ah, superior macro evaluation, the holy grail |
23:16:20 | gradha | I'm keeping that as a title for a blog post |
23:17:04 | EXetoC | why aren't the types named {u,i}{8,16,32}? like the literals |
23:17:11 | BitPuffin | ah it's actually spelled grail |
23:17:29 | EXetoC | too short? |
23:17:37 | Araq | EXetoC: the types existed before the literals |
23:19:57 | gradha | I talked to the guys implementing libzip, they have planned file/memory stream API but aren't there yet, so for appending zips to executables I either improve libzip or design my own package format for modules |
23:20:14 | EXetoC | let's add a converter for that while we're at it :> |
23:20:40 | gradha | should I improve libzip rather than reinventing the square wheel for nimrod? |
23:20:43 | Araq | gradha: what? libzip already has a streaming interface |
23:20:54 | gradha | not for zip_open |
23:21:07 | * | Sergio965 quit (Read error: Operation timed out) |
23:21:08 | Araq | hmm that's possible |
23:21:19 | gradha | sorry, meant zipfiles module |
23:21:42 | gradha | zipfiles uses the C libzip lib, which implements zip_open, but only for files |
23:21:55 | BitPuffin | dom96: is there a template language for jester? |
23:22:26 | gradha | actually, the libzip guys have a prototype for the stream interface in their own TODO file |
23:22:28 | dom96 | BitPuffin: Nimrod has compile-time templates so no |
23:22:35 | Araq | gradha: ah yeah I get what you mean |
23:22:40 | BitPuffin | dom96: so? |
23:22:47 | dom96 | the language is nimrod :P |
23:22:59 | BitPuffin | dom96: well I mean for html stuff |
23:23:13 | EXetoC | so does he |
23:23:17 | BitPuffin | dom96: look at vibe.d, that is also compile time |
23:23:21 | dom96 | indeed |
23:23:24 | BitPuffin | and it's got a template lang |
23:23:25 | gradha | Araq: I thought the embedding of modules could be traversing the current $PATH and recording all nim files to include in a zip which would be appended to the executable |
23:23:36 | dom96 | I think you are thinking of different templates. |
23:23:54 | gradha | that would require special dealing for includes, but other than that seems reasonable, and could also capture available babel modules |
23:23:55 | Araq | gradha: why? we have the prelude that tells us what is essential to include ;-) |
23:23:57 | EXetoC | http://nimrod-code.org/filters.html |
23:23:59 | BitPuffin | dom96: I'm thinking stuff like erb or whatever |
23:24:08 | dom96 | ^^ |
23:25:11 | BitPuffin | EXetoC: interesting |
23:25:19 | gradha | Araq: http://memegenerator.co/instance/40335169 |
23:26:14 | BitPuffin | EXetoC: is that at compile time? |
23:27:31 | Araq | gradha: nimrod could copy a slice of the executable (well the resource part) to $TMP and zipfiles.open that |
23:28:18 | gradha | that could do for a temporary patch to test the embedding |
23:28:39 | gradha | but since it's readonly it would be nice if you could mmap that part of the binary and pass it to zip_open |
23:29:17 | gradha | hmm... did mmap crash if you deleted the file it mapped to while executing? |
23:30:11 | BitPuffin | EXetoC: so you just write that stuff in a .html file? |
23:30:17 | Araq | I don't think so, linux only deletes after nobody uses it anymore and windows holds a lock so it can't be deleted |
23:31:09 | Araq | BitPuffin: no in a .tmpl file that's include'd from your nimrod code |
23:31:40 | BitPuffin | Araq: Hmm, so, I use an include statement? |
23:31:40 | Araq | and yeah this means you need to copy&paste the HTML if you use a HTML design tool |
23:31:51 | BitPuffin | pff :P |
23:31:55 | BitPuffin | please |
23:31:59 | BitPuffin | HTML design tool |
23:32:04 | BitPuffin | :D |
23:32:08 | gradha | like notepad and the like |
23:32:17 | BitPuffin | you mean text editor? |
23:32:19 | * | NewGuy quit (Ping timeout: 250 seconds) |
23:32:33 | BitPuffin | I wonder how I set the syntax highlighting to be html with vim in a file that isn't .html |
23:32:51 | comex | set ft=html |
23:33:11 | gradha | or "set syntax=html"? |
23:33:29 | * | BitPuffin quit (Read error: Connection reset by peer) |
23:33:48 | * | BitPuffin joined #nimrod |
23:34:58 | dom96 | It doens't have to have a .tmpl extension. |
23:35:17 | dom96 | *doesn't |
23:35:31 | BitPuffin | comex, gradha both worked, thanks |
23:35:42 | Araq | good night |
23:35:52 | gradha | bye |
23:36:29 | BitPuffin | nighty! |
23:36:33 | dom96 | bye |
23:36:41 | dom96 | I use a .html extension for them |
23:36:43 | BitPuffin | but you just do include thefile? |
23:37:20 | dom96 | include "thefile.html" ? |
23:37:31 | BitPuffin | it has to be surrounded by ""? |
23:37:41 | dom96 | dunno |
23:37:49 | BitPuffin | well I guess just to be safe :D |
23:38:02 | BitPuffin | is it relative to the source or relative to the compilation path or both |
23:40:29 | dom96 | source I guess |
23:47:48 | BitPuffin | hmm, so all I do is include and it does all the nice stuff for me, neat |
23:47:55 | BitPuffin | well then I guess jester is a slam dunk |
23:48:15 | BitPuffin | dom96: you should document jester with an example of how to use filters in case you haven't, very helpful |
23:49:57 | dom96 | Sure, can you create an issue for me? |
23:50:05 | BitPuffin | dom96: yeah buddy |
23:52:47 | gradha | good night |
23:52:52 | * | gradha quit (Quit: bbl, need to watch https://www.youtube.com/watch?v=1ZZC82dgJr8 again) |
23:53:02 | dom96 | thanks |
23:53:06 | BitPuffin | no problem! |
23:53:23 | BitPuffin | dom96: no babel package for jester? :/ |
23:54:01 | dom96 | there is |
23:54:15 | BitPuffin | ooh right |
23:54:16 | BitPuffin | sorry |
23:54:20 | BitPuffin | totally missed that :s |
23:56:35 | BitPuffin | You know this is totally nice |
23:56:49 | BitPuffin | I wonder what the memory usage could be of running jester with sqlite |
23:57:01 | BitPuffin | I wonder what kind of RAM I need for that |
23:57:04 | BitPuffin | with debian |