Live data from Hacker News

Mariposa – A programming language with time-travel

github.com

31–40 of 63 posts

Re: Mariposa – A programming language with time-travel

#31

Earlier quoted context omitted.

Initially I followed the link wondering if perhaps the author had done something interesting regarding append only ledgers and derivative generation processing semantics (e.g. event 5 modifies event 2, impacting the proper processing of events 3 and 4). After all, the linearity of the character stream is not unlike log offset/ledger row. Frequently these esoteric languages have very interesting purposes.

I don't know if this is still the case, but I recall needing to run LaTeX twice before it would produce the correct output. Something like this might make it easier to generate documents in one pass.

Sometimes LaTeX produced auxiliary files (e.g. for the table of contents) at the end of a compilation that that therefore wouldn't be used until the second pass. Long time since I needed to know that...

Re: Mariposa – A programming language with time-travel

#32
This seems to have some parallels with durable execution engines like Temporal which have deterministic concepts of time and use event sourcing or snapshotting to ensure the past remains the past but allow you to evolve code for the future (disclaimer I work at Temporal).

Have you considered this approach to apply to more than time? There is all sorts of conditional-based divergence code may take beyond time.

Re: Mariposa – A programming language with time-travel

#33
post #10

I like the idea of this time travelling computer language. It got my head buzzing with all sorts of ideas about time travel in the real world too, and parallel universes!

You don't necessarily need to embed it into the programming language itself to get a ton of value. XTDB (https://github.com/xtdb/xtdb) offer a Clojure, Java and HTTP API for interacting with the database, which is bitemporal and lets you query the database for a specific point in time for example.

Re: Mariposa – A programming language with time-travel

#36
I would love to see a future compiled programming language which would support some, or even all of the following compilation options:

1) Compile with "time travel" AKA point-in-time state memory enabled (and accept slower code execution).

2) Compile without "time travel", AKA standard compilation -- for much faster code execution.

3) Compile such that some, but not all sections of code will selectively save their exact state at points in time, and can be "time traveled" by a debugger -- but only for those sections of code explicitly marked.

4) Compile such that "time travel" could be selectively turned on or off (may require dynamic function recompilation at runtime) for any function or specific lines of code, as needed, during runtime!

Anyway, Mariposa looks like a step in the right direction -- and really cool!

Re: Mariposa – A programming language with time-travel

#37
Time loop logic is a hypothetical system of computation that exploits the Novikov self-consistency principle. In this system the computer is able to send the result of a computation backwards through time and rely upon the self-consistency principle to force the sent result to be correct.

I've written about this before. Instantaneous data transfer with zero lag is theoretically possible through use of quantum entanglement. You can use this same technique to build a doomsday clock similar to the film "Tomorrowland".

Re: Mariposa – A programming language with time-travel

#38
post #37

Time loop logic is a hypothetical system of computation that exploits the Novikov self-consistency principle. In this system the computer is able to send the result of a computation backwards through time and rely upon the self-consistency principle to force the sent result to be correct. I've written about this before. Instantaneous data transfer with zero lag is theoretically possible through use of quantum entangl…

> Instantaneous data transfer with zero lag is theoretically possible through use of quantum entanglement.

No, that's a common myth about quantum stuff.

The entangled relationship can't be used to transfer information on its own. Whatever you sample from the "instant parts" can only be checked and understood after additional context arrives in a conventional way--limited by the speed of light and the flow of time.

https://www.space.com/41968-quantum-entanglement-faster-than...

There are also other quantum things that the youth of today need to be educated on:

https://www.smbc-comics.com/comic/the-talk-3

Re: Mariposa – A programming language with time-travel

#39
That reminds me of a funny presentation which is basically "if we engineered a bunch of exotic sci-fi concepts... what would the perl programs running on them look like?"

More formally: "Temporally Quaquaversal Virtual Nanomachine Programming In Multiple Topologically Connected Quantum-Relativistic Parallel Timespaces... Made Easy!"

https://www.youtube.com/watch?v=ORjyXcLDd9M

Re: Mariposa – A programming language with time-travel

#40
I am confused by the first example:

    x = 1
    t = now()
    print(x)
    at t:
      x = 2
Why doesn't this print `1` before `2`, and then proceed to print `2` in a loop (i.e. treat `at` like a `goto`)? I think there is some detail that separates declaration and definitions of the environment from the execution, but the syntax doesn't make this obvious.
Post reply on HN