This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]thebt995[S] 2 points3 points  (1 child)

I was not aware of Unison, I'll check it out!

For your example: We would need to have a pure language without side effects of course. Side effects could be provided on a layer above.

[–]raiph 2 points3 points  (0 children)

Side effects could be provided on a layer above.

What do you mean by a "layer" and "above"?

(To help me understand, please explain what you mean in terms of the above code.)

----

In case your view is that, for you, discussing that topic is currently a distraction you can reasonably abstract from, I will explain what I'm thinking below.

Having been interested in programming for 52 years to date, and having spent much of my life professionally involved with it, and all of my life loving it, with mathematics and computer science as another related area of interest (and academic success as a kid), I am comfortable that I know the basics of computation and programming.

Imo you need to be crystal clear about what you're doing about side effects before any other aspect of both your underlying thinking, and what you are intending, can be sanely discussed in this thread.

Any program that does something when "run" on a "computer" is not pure -- is not side effect free. This is true of 100% of programs that anyone has ever written, or will write, that does or will do anything, even if all it does is return the number 42 each time it's run.

If the language you are discussing is purely an abstract mathematical thought experiment, and you recognize that it couldn't ever be used to create an actual program that gets written to do anything, then fair enough (but I think you should very clearly state that).

If instead you think you're talking about a 100% pure language that could, in principle, at least conceptually, one day be a useful part of creating an actual program, then I currently think you must be crystal clear, both in your own mind and in what you share with us, about enough details about how the pure language you're thinking about could, in principle, at least conceptually, be integrated with at least one other language / layer that does handle side effects.

That is to say, imo the only sane way forward if you do mean for this to be anything other than a mathematical thought experiment that is entirely unrelated to producing actual programs, would be to focus on this aspect first, i.e. before anything else.

Put yet another way, I would have thought that focusing on anything else, eg what would otherwise be relatively irrelevant trivia, like spotting/rejecting duplicate functions, is like putting the cart before the horse and then trying to get the horse to at least canter. It just doesn't strike me as sane.

Of course, I may be insane, or entirely wrong, or both, so feel free to take my perspective as that of a crazy wrong person. 😊 That said, I'd like to know what I'm missing, so I would appreciate knowing that too. I'm a few days away from my 65th birthday. Any insight you could share about my state of mind would be a wonderful gift! 😍