| 04:03:17 | * | tcsh joined #nimrod |
| 04:03:25 | tcsh | Hey, is the latest Nimrod the one on the site? |
| 04:05:43 | tcsh | Nevermind, I'm going to install this correctly this time. |
| 04:09:26 | * | tcsh quit (Remote host closed the connection) |
| 05:27:03 | * | XAMPP quit (Ping timeout: 276 seconds) |
| 06:14:18 | * | Nafai joined #nimrod |
| 06:27:22 | * | tcsh joined #nimrod |
| 06:27:25 | tcsh | Hey everyone. |
| 06:30:49 | tcsh | Hey does anyone know where the nimrod emacs plugin is? |
| 06:33:12 | tcsh | Aha! |
| 06:33:13 | tcsh | I found it. |
| 06:41:05 | * | ccssnet quit (Ping timeout: 244 seconds) |
| 06:50:02 | * | ccssnet joined #nimrod |
| 07:15:49 | * | XAMPP joined #nimrod |
| 08:08:35 | * | tcsh quit (Remote host closed the connection) |
| 08:13:23 | * | Trix[a]r_za is now known as Trixar_za |
| 08:15:00 | * | Trixar_za is now known as Trix[a]r_za |
| 09:22:38 | * | Araq_ joined #nimrod |
| 09:23:00 | Araq_ | hi Nafai |
| 09:53:55 | * | Araq_ quit (Quit: ChatZilla 0.9.88.2 [Firefox 14.0.1/20120713134347]) |
| 11:17:14 | * | Trix[a]r_za is now known as Trixar_za |
| 11:57:52 | shevy | wheeee |
| 11:57:57 | shevy | we had a tcsh here |
| 13:00:58 | * | Trixar_za is now known as Trix[a]r_za |
| 14:52:06 | * | shevy quit (Ping timeout: 245 seconds) |
| 15:05:45 | * | shevy joined #nimrod |
| 15:46:35 | * | zahary quit (Quit: Leaving.) |
| 18:03:21 | Araq | hi Nafai |
| 18:54:56 | Nafai | Hi Araq |
| 18:59:02 | Araq | argh, forgot a commit and git doesn't mind ... |
| 18:59:43 | Araq | oh well ... |
| 19:00:02 | Araq | so Nafai how did you find your way to here? |
| 19:00:59 | Nafai | I saw nimrod linked on hacker news (or reddit, can't remember now) |
| 19:01:06 | Nafai | and was reading about it and it looked interesting |
| 19:01:40 | Araq | yay |
| 19:02:21 | dom96 | when was this? 0_o |
| 19:02:36 | dom96 | The last nimrod link submitted to reddit was 1 year ago |
| 19:03:16 | dom96 | I guess you've seen it on hackernews |
| 19:03:29 | dom96 | http://news.ycombinator.com/item?id=4269464 |
| 19:03:32 | dom96 | Not many upvotes D: |
| 19:03:35 | Nafai | Yeah, that was it |
| 19:04:01 | Nafai | I actually haven't dived in enough to write any code |
| 19:04:12 | Nafai | but I'm always on Freenode, so I thought I'd lurk :) |
| 19:07:15 | dom96 | hehe, we welcome lurkers with open arms. However we prefer people who actually use Nimrod of course :P |
| 19:08:05 | Araq | Nafai: you should give it a try, but I want to release 0.9.0 soon so maybe it's better to wait |
| 19:13:57 | Araq | so dom96, what's the status of "jump to error location"? |
| 19:14:15 | dom96 | 80% finished |
| 19:18:45 | Araq | why only 80%, what's missing? |
| 19:19:08 | Araq | should be easy to do, you already have the "scroll to XY" feature, right? |
| 19:19:34 | dom96 | ok fine, it's 99% finished |
| 19:19:45 | dom96 | But things are missing which may make it annoying |
| 19:19:53 | dom96 | For example: it only looks through open tabs |
| 19:20:04 | dom96 | it will not go to error from a file which is not opened |
| 19:20:40 | dom96 | s/from/to |
| 19:21:07 | Nafai | would .debs for Debian/Ubuntu be welcome? |
| 19:22:25 | dom96 | yes, in fact niminst can already generate those |
| 19:22:31 | dom96 | I'm not sure how well it does that |
| 19:22:36 | dom96 | Maybe you could tinker it a bit? |
| 19:23:05 | dom96 | https://github.com/Araq/Nimrod/blob/master/tools/niminst/debcreation.nim |
| 19:23:41 | dom96 | or just let me know if it works correctly :) |
| 19:23:54 | dom96 | an rpmcreation module would be nice |
| 19:24:55 | Nafai | sure thing |
| 19:44:01 | Araq | so dom96 all that's left to do is open the file if it's not open already? :-) |
| 19:44:18 | * | Araq likes to try the new feature ... |
| 19:44:34 | dom96 | kinda |
| 19:44:42 | dom96 | Just wait a little longer please |
| 19:45:38 | shevy | heeh |
| 19:49:39 | dom96 | As always problems with widget focus |
| 20:46:10 | * | q66 joined #nimrod |
| 20:46:20 | q66 | yay. |
| 20:46:35 | Araq | hi q66 |
| 20:46:44 | Araq | now that's nice :-) |
| 20:47:00 | * | q66 was just tryin' if it exists :p |
| 20:47:04 | q66 | had no idea you had channel on freenode |
| 20:47:31 | Araq | lol you missed a lot then |
| 20:48:12 | dom96 | welcome q66! |
| 20:48:26 | q66 | Araq, my 73th channel |
| 20:48:28 | q66 | 100 is close :P |
| 20:48:31 | Araq | like all the interesting discussions ... about term rewriting macros :P |
| 20:48:55 | q66 | macros are fun |
| 20:49:04 | Araq | which may finally shut up the "nimrod doesn't contain anything new"-crowd |
| 20:49:47 | q66 | no language contains anything new these days :P |
| 20:50:11 | q66 | languages are just differently combined sets of features and concepts with less or more fuckups |
| 20:50:23 | q66 | some are fucked more, some less, some are more interesting, some less |
| 20:50:31 | Araq | true |
| 20:50:49 | Araq | but truely new features are fucked up the most ;-) |
| 20:51:28 | q66 | "when you invent something new, you can be sure someone wrote it in Lisp before" |
| 20:52:16 | Araq | yeah and it was as ugly as the rest of lisp so nobody ever looked at it :P |
| 20:52:31 | q66 | lisp is not ugly |
| 20:52:34 | q66 | lisp is perfection :P |
| 20:52:50 | Araq | not really |
| 20:53:13 | q66 | it's minimalistic, it's powerful, it's unambiguous. |
| 20:53:20 | Araq | the syntax is weird and not because of the () |
| 20:53:24 | q66 | and i.e. Scheme has some kickass things like first class continuations |
| 20:53:43 | Araq | but because ',' is used as a quote ;-) |
| 20:54:10 | q66 | ' is a quote :P |
| 20:54:32 | Araq | btw I'm aware of first class continuations |
| 20:54:37 | q66 | '(5 10 15) |
| 20:54:39 | q66 | but it can also be |
| 20:54:43 | q66 | (quote (5 10 15)) |
| 20:55:12 | Araq | I'm also aware of 'fexprs' ... |
| 20:55:47 | Araq | but I still think that the feature I've come up with is unique :P |
| 20:56:04 | Araq | and if it isn't ... so be it |
| 20:56:14 | q66 | nimrod seems kind of like more functionally oriented statically typed python to me :P |
| 20:56:17 | q66 | which is not exactly a bad thing |
| 20:56:38 | Araq | we also have clay-like type propagation now ;-) |
| 20:57:21 | Araq | except that it's not documented yet :D |
| 20:57:33 | Araq | we also have D's scope guards |
| 21:00:01 | Araq | q66: any experience with rust? |
| 21:01:23 | q66 | Araq, i like it |
| 21:01:43 | Araq | that wasn't my question |
| 21:01:52 | q66 | a bit overall |
| 21:01:53 | Araq | everybody likes it |
| 21:02:06 | q66 | except go people |
| 21:02:08 | q66 | they're butthurt :P |
| 21:02:24 | * | JStoker quit (Excess Flood) |
| 21:08:25 | Araq | *shrug* the go people don't even have 'assert' ... |
| 21:08:57 | * | JStoker joined #nimrod |
| 21:09:09 | Araq | Nimrod's assert is implemented in the stdlib ... I couldn't prevent people from having it even if I wanted to :-) |
| 21:12:22 | q66 | Araq, i hope it does not throw like D's |
| 21:13:28 | q66 | there is one thing C++ is nice in compared to D and stuff |
| 21:13:34 | q66 | it doesn't shove EH/RTTI into your face |
| 21:13:40 | q66 | you can disable it and yet use most of the language |
| 21:16:03 | Araq | why should RTTI be a problem? |
| 21:16:32 | q66 | sometimes you don't want a fat runtime |
| 21:16:38 | q66 | i.e. in D there is no way to avoid rtti in a cast |
| 21:16:47 | q66 | when you cast objects, you HAVE TO use rtti |
| 21:16:57 | q66 | for upcasting/downcasting validity evaluation at runtime |
| 21:17:19 | q66 | but yet, that can always be avoided by simply adding a get_type lookup method returning i.e. an enum |
| 21:17:26 | q66 | and then checking it before attempting to cast |
| 21:18:03 | Araq | nimrod has type conversions and 'cast' -- 2 different features |
| 21:18:13 | Araq | and voila -- problem solved |
| 21:18:28 | Araq | it's braindead to conflate these two operations anyway |
| 21:18:51 | q66 | so you can freely convert pointer types without doing any runtime type checks? |
| 21:18:57 | Araq | sure |
| 21:19:01 | q66 | good. |
| 21:19:04 | q66 | D can't :P |
| 21:19:20 | Araq | we had a guy here who wanted to program his AVL with Nimrod |
| 21:19:43 | Araq | I don't know if he ever did that, but I made it work |
| 21:20:02 | Araq | --os:standalone and the whole stdlib is left out |
| 21:21:05 | Araq | dom96 also used it to create a kernel |
| 21:21:15 | q66 | cool |
| 21:21:29 | q66 | it's kinda ridiculous how d tries to advertise as systems programming language btw |
| 21:21:35 | q66 | while it's not at all |
| 21:21:47 | q66 | still forces too much shit on you |
| 21:21:53 | Araq | dunno I think it is |
| 21:22:05 | Araq | this term doesn't mean much anyway |
| 21:22:35 | q66 | maybe it theoretically could, for the cost of writing a custom minimal runtime, dumping compatibility with virtually any existing library and avoiding most of language's features |
| 21:22:50 | q66 | i mean D library |
| 21:24:03 | Araq | yeah but the linux kernel guys don't really use C's library either |
| 21:24:09 | Araq | so it's a moot point |
| 21:24:25 | q66 | Araq, well my point is more like, why are they advertising like that when the language's design is aimed differently |
| 21:24:37 | q66 | D is primarily a high level language similar to i.e. C# but compiled to native code |
| 21:24:52 | Araq | and with much more warts than C# ... |
| 21:25:01 | q66 | well C# is no good either :P |
| 21:25:04 | Araq | many many more warts |
| 21:25:08 | q66 | it's mediocrity everywhere |
| 21:25:16 | Araq | C# ain't bad at all |
| 21:25:25 | Araq | their mistake was to start as a java clone |
| 21:25:43 | Araq | and then sometimes this still shines through |
| 21:25:50 | q66 | if i was about to start stuff on .NET I would probably use F# |
| 21:25:50 | Araq | lack of typedef comes to mind |
| 21:26:01 | Araq | F# is better sure |
| 21:26:20 | Araq | as it started from ocaml |
| 21:26:37 | q66 | C# is too java-esque, sharing some similar design mistakes, verbosity, and overall feels mediocre and dumbed down |
| 21:26:42 | q66 | with no true innovation |
| 21:26:52 | Araq | but it has |
| 21:26:57 | Araq | LINQ for instance |
| 21:27:10 | Araq | of course Lisp already had it (TM) |
| 21:27:22 | q66 | but LINQ is .NET thing .. |
| 21:27:24 | q66 | not C# thing |
| 21:27:48 | Araq | C# had to be extended heavily to get Linq working |
| 21:27:57 | Araq | it's a C# thing |
| 21:28:06 | Araq | afaik linq predates F# |
| 21:28:17 | Araq | and C# got linq first, VB got it later |
| 21:28:25 | q66 | iirc F# 3.0 will have it |
| 21:28:41 | Araq | but VB had to be extended for Linq support too, I'm sure |
| 21:29:04 | q66 | well i won't argue over this as my knowledge here is limited so i might as well be wrong :) |
| 21:29:11 | q66 | i'm a primarily *nix-based programmer |
| 21:30:24 | q66 | anyway the original point was - D tries to do everything, in result doing nothing truly right |
| 21:30:47 | q66 | it should find its target group, but it hasn't for quite some years |
| 21:31:16 | q66 | i've been always suggesting gamedevs, that's where it would possibly succeed, but for that purpose D is kind of unusable |
| 21:31:43 | q66 | primarily because of crappy garbage collector and explicit memory management consisting of avoiding the standard library and many language features |
| 21:32:08 | Araq | the problem is that it's supposed to be a better C++ |
| 21:32:14 | Araq | and yet it isn't at all |
| 21:32:31 | Araq | except for a bit more sugar and nicer templates |
| 21:32:39 | q66 | it's supposed to be a better C++, but yet it concentrates primarily on *entirely* different area than C++ |
| 21:33:19 | q66 | though not that it's hard to be better than C++ |
| 21:33:29 | Araq | C++ is about efficient value based datatypes |
| 21:33:36 | q66 | the new native languages like Rust prove it |
| 21:33:39 | Araq | D says: lets make 'class' references instead |
| 21:34:00 | q66 | Araq, as i said, higher level, and c#/java-esque |
| 21:34:04 | q66 | especially in its OO it's really visible |
| 21:34:26 | q66 | it's probably more comfortable to work with, but disqualifies it from being a "better c++" and instead moves it into the high level programming area |
| 21:34:31 | dom96 | What's so special about Rust? |
| 21:34:33 | Araq | what's really visible is that walter didn't understand C++ when he designed D |
| 21:34:53 | Araq | he tried to get rid of templates |
| 21:35:00 | Araq | he made classes reference based |
| 21:35:01 | q66 | dom96, there's nothing really "special" about Rust, it's the way it's put together and well designed |
| 21:35:04 | q66 | the combination of features |
| 21:35:12 | Araq | he got rid of multiple inheritance |
| 21:35:16 | Araq | and added interfaces instead |
| 21:35:24 | q66 | as i said, java/c#-esque ;) |
| 21:35:27 | q66 | they have this. |
| 21:35:29 | Araq | he had to make 'sort' a built-in |
| 21:35:36 | Araq | due to the lack of generics |
| 21:35:41 | Araq | and AAs too |
| 21:35:51 | q66 | yeah |
| 21:35:51 | Araq | and then alexandrescu came and enlighted him |
| 21:35:58 | q66 | then suddently Andrei and he got all the features back :P |
| 21:36:02 | q66 | and now it's a weird mix |
| 21:36:06 | Araq | exactly |
| 21:36:18 | Araq | you can't design a PL this way |
| 21:36:33 | q66 | Araq, the thing is, D 1.0 was kinda nice for what it was. |
| 21:36:42 | q66 | the fuckup came with D2 where all the C++ things made a return |
| 21:36:53 | Araq | perhaps |
| 21:37:30 | Araq | but I dislike D 1.0 even more ;-) |
| 21:37:42 | Araq | oh and funny thing: |
| 21:37:53 | Araq | it also still shows in the concurrency model |
| 21:38:02 | Araq | every object has an attached lock |
| 21:38:10 | Araq | incredible |
| 21:38:35 | Araq | you have to do some crazy stuff to optimize that design to get acceptable memory overhead |
| 21:38:51 | q66 | I showed up around D like 2 years ago, as a C/C++ programmer, began trying |
| 21:38:54 | q66 | first i was amazed |
| 21:38:58 | q66 | then i got pissed. |
| 21:39:01 | q66 | then i gave up |
| 21:39:06 | q66 | then i started exploring elsewhere :P |
| 21:39:45 | q66 | it seemed so neat and shiny at first |
| 21:39:52 | q66 | but when you start working with the insides and dmd .. |
| 21:41:31 | Araq | and they are now considering to change the 'const' system :D |
| 21:41:42 | q66 | they want to re-make the Object stuff :P |
| 21:41:49 | Araq | I know |
| 21:41:54 | q66 | because it proved broken with const correctness and overloading |
| 21:41:57 | q66 | when it all roots from Object |
| 21:42:06 | q66 | this will break so much shit :D |
| 21:42:12 | q66 | they can just go and call it D3 now. |
| 21:42:23 | Araq | they can also just use Nimrod instead |
| 21:43:17 | q66 | well i can thank d for one thing :P |
| 21:43:23 | q66 | it made me look into functional eventuallly |
| 21:45:11 | Araq | C# grows more and more functional with every version too |
| 21:45:35 | Araq | except that the basic design still shows through and gets annoying |
| 21:46:18 | Araq | oh and I'll of course never forgive them 'dynamic' or reflection |
| 22:39:57 | dom96 | Araq: hrm, IIRC you mentioned somewhere that you would get rid of forward declarations right? |
| 22:40:58 | Araq | yeah but it will take my holidays |
| 22:41:35 | dom96 | alright. |
| 22:41:56 | dom96 | ugh, it seems that the latest GTK doesn't like accelerators which involve Ctrl + the F keys |
| 22:42:05 | dom96 | It's really pissing me off |
| 22:44:27 | dom96 | Araq: Try it :D |
| 22:44:30 | Araq | NimBot: I will try it anyway :P |
| 22:44:36 | dom96 | :P |
| 23:52:09 | shevy | which gtk |
| 23:52:12 | shevy | gtk3? |
| 23:52:15 | shevy | did they go backwards again |
| 23:52:19 | shevy | evolution in programming is odd... |
| 23:52:40 | dom96 | nah, still gtk2 |
| 23:52:53 | dom96 | Latest gtk2 I meant |