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 |