Wikipedia:Reference desk/Archives/Computing/2014 August 7

= August 7 =

Choosing a file manager for Linux, and trying to be thorough
Greetings. I am not quite sure that this is a question that belongs here, so please redirect me if it isn't. Anyway. I have recently been trying out a number of different file managers for Linux (my system is Ubuntu 14.04, vanilla distribution with Unity). During this process, I have developed a list of features that I would like in a file manager. (This is highly subjective of course, so this is not me asking "which FM is best?", rather "which FM best fulfills these feature requests?".) I have come up with the following Original Research. Of course, all features are not equally important, and I will ultimately have to do the weighing myself. But what I wonder is this: have I missed anything obvious? Like, one of the programs has one of the listed features but I haven't been able to find it in the settings? Or there is a plug-in that radically alters one of the programs favourably (for the purpose of this list)? Or is there another FM out there that caters substantially to these requests? 85.226.206.148 (talk) 15:09, 7 August 2014 (UTC)


 * Unless you interpret the terms differently from me, spacefm has both a treeview sidebar and icon view available (as standard, no plugins). HenryFlower 20:17, 7 August 2014 (UTC)
 * Quite right! I have found SpaceFM's interface a little confusing (partly because of a bad translation) and still haven't been able to find these features in the main menu, but they are there in the context menu, and the treeview at least is available through a conspicuous toolbar as well! Thanks for pointing me to this, I have updated the table. 85.226.206.148 (talk) 04:41, 8 August 2014 (UTC)

Looking for a good non-jargon definition of Declarative Semantics
I'm currently editing the article on the Knowledge Interchange Format (KIF) The current text (which btw was copied word for word from a KIF Stanford document) says: "[KIF] has declarative semantics (i.e., the meaning of expressions in the representation can be understood without appeal to an interpreter for manipulating those expressions)" This sentence comes up several different times in various KIF documents. I want to say this in more understandable English but I'm struggling to understand exactly what it means. I think essentially it's saying that you can (at least in theory) prove things about KIF statements. Prove that they are or aren't logically consistent for example. So as an example I think languages like LOOM or KL-One also have a declarative semantics but languages such as the old Knowledge Engineering Environment (KEE) or Smalltalk or Java don't. Is that correct? If that is correct I don't quite see how it fits in with "can be understood without appeal to an interpreter for manipulating those expressions". I mean say you have variables in the declaration, you can't know what the result of the declaration is without going to find the values of those variables which to me means essentially you are still acting like a manual "interpreter". I realize that you could probably write papers or even books on declarative semantics so I'm not looking for an in depth understanding just sort of an "elevator pitch" because I feel like I'm missing something basic here. --MadScientistX11 (talk) 16:15, 7 August 2014 (UTC)


 * It sounds like it's used to transfer instructions between programs. As such, it would need to only contain instructions common to all the programs it works with.  For example, if one of those languages includes statistics functions, but they don't all, then it would need to represent those stats functions as more basic instructions which are common to all. StuRat (talk) 16:46, 7 August 2014 (UTC)
 * Thanks. Yes, that is definitely the main goal of KIF. I did a bit more research and I think I know what they meant by declarative in that context, at least the main idea, essentially that declarative semantics is a fancy way of saying it's primarily about data rather than process. I feel I have what I need for the article now so I'm marking this done but I'm still interested if others have more to say on the topic. ✅  --MadScientistX11 (talk) 22:00, 7 August 2014 (UTC)


 * It seems to be talking about denotational semantics versus operational semantics of programming languages. I don't think it makes much sense as quoted, since you can write an operational or a denotational semantics for any language (and you can prove things from either one, since that's the whole point of having a formal semantics). Probably they mean that it's a declarative programming language rather than an imperative programming language, which means, more or less, that it has a structure like mathematical equations, rather than a sequence of steps that modify things. -- BenRG (talk) 23:30, 7 August 2014 (UTC)