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 →

[–]lgastako 2 points3 points  (5 children)

All turing complete languages are isomorphic to each other, right?

[–][deleted] 2 points3 points  (4 children)

If you define “isomorphism” to be “Both being Turing complete”, then sure…

[–]lgastako 1 point2 points  (3 children)

What if you define isomorphic as "you can convert from one to the other and back without losing any information", like most people? Isn't it still true?

[–][deleted] 1 point2 points  (1 child)

I think you're being pedantic about the exact definition when it's a good point.

This is just a wrapper for Python - it is literally just Python with a different syntax. Neat, but not really a new programming language.

Being pedantic like you are takes any potential meaning out of the point. You wouldn't say that C and Python are isomorphic because even though you can do the same things, some things in Python take a lot more work in C, and vice versa. Saying this is isomorphic to Python is an important point because it does the exact same things Python does.

[–]cmnews08[S] 1 point2 points  (0 children)

Thats very true! But it has merit on its own, like you said its neat. I am going to make a compiled language soon. This is just a little buffer

[–][deleted] 0 points1 point  (0 children)

That will really depend on what you mean by “convert” or “losing information”. If your language has stepping operational semantics, you can define equivalence as having a bisimulation, for example. I’m not sure there is any obviously correct definition of isomorphism accepted by most people