HN user

rafiei

131 karma
Posts2
Comments4
View on HN

Because typically you'd be building `five` out of `zero`, but that's more of an "implementation detail" rather than a property of `five` or `zero`. Examples are numerous:

i. Peano Axioms: (Typically) your initial element is 0 and you'll get 1 by applying the successor function to 0 and 2 by applying that to 1 and so on.

ii. Von Neumann's definition of Ordinals: {} is zero and one is {{}} and two is {{}, {{}}} and so on.

iii. Conway's definition of Surreal numbers: {|} is zero and { {|} | } is one and so on.

iv. Church encoding

and many more.

P.S. I'm not a logician and don't know whether "more of an abstraction" has any well-defined meaning and not just the meaning that might be inferred by a software developer.

1. Perhaps make a new directory `.emacs.d/elisp`, append it to your path and add your files in it and have .gitignore not ignore the directory?

2. You could!

1. You shouldn't be updating your `.gitignore` continuously. You need to ignore everything and explicitly define exceptions e.g.

  *
  !.gitignore
  !init.el
2. The reason I prefer ~/.emacs.d/ is that I have it in a git repo and on every system, I'll just clone the repo and soft link it in the home directory. This way, I have only one directory inside home about emacs within which my files are explicitly separated and tracked.

P.S. I've recently tried to move from Spacemacs to Emacs and by no means a pro, so the process I've described may not be optimal.

So the units in Stack editor is not “files”, it’s “functions”(or “definitions”). And we navigate by functions, edit by functions, and finally program by functions. It’s more like the program is running and we got a call stack here. We edit the code that’s collected for a specific purpose without constantly switching the context. It can be faster.

This is a very neat idea.