Telescript (programming language)
en.wikipedia.org
en.wikipedia.org
Eve Online uses (used?) it to move game server instances to more powerful hardware when more players joined one region than a smaller hardware server could handle.
> "The beauty of Telescript," says Andy, "is that now, instead of just having a device to program, we now have the entire Cloud out there, where a single program can go and travel to many different sources of information and create sort of a virtual service. No one had conceived that before.
too bad, now I'm dead curious, lol.
tl;dw: The folks at General Magic invented/envisioned a mobile handheld computer with tons of capabilities and a human-centered user interface (aka the iPhone before the iPhone, but fifteen years before it). Development and investment proceeded with big hope, hype and excitement, but then the web became popular, which they ignored, and made personal computers more relevant, and Apple released the Newton at the time. They struggled to hit product release deadlines and when they finally released a product, sales were negligible. Soon, the company shut down because it failed as a business, to the great sadness and disappointment of employees. So a story of an idea implemented too early, before its time and technology had come and had a chance to be accepted by the public.
General Magic had a partnership with AT&T and they did much of the heavy lifting to make it semi-viable, for instance Bell Labs developed "High Telescript" (the underlying Telescript was more akin to Forth). AT&T expended a ridiculous amount of money on the project, with almost no revenue to show up for it, but some of those investments like their dialup modem server or their email platform were later repurposed in their Internet Service Provider offering.
I always wondered if message passing between static agents wasn't a functionally equivalent yet safer and simpler alternative to mobile agents.
In 1990, Marc Porat convinced then-Apple-CEO John Sculley that the future of computing lay not in desktop personal computers, but much smaller portable devices combining computing power, communications systems, and data located on network-accessible servers.[1] He noted that portable computers would always have less power than the machines they would connect to, and suggested that this be part of the design - instead of trying to build a portable computer that could perform the tasks of a desktop system, the portable device should invisibly use the computational power of the servers to produce a similar result.
Telescript programming language - https://news.ycombinator.com/item?id=17483436 - July 2018 (13 comments)
If you want to mess around with the emulator and SDK you need a FPU in a 68K Mac or the PowerFPU extension in a PowerPC Mac. Despite the bad name that extension adds emulated 68K FPU to the 68K emulation.
Migratable processes would be useful to shutdown my machine, move it and then resume where I left off, a bit like hibernate.
This reminds me of X11 server/client model a bit.
(I'm fascinated by e.g. termite scheme, I like learning about more variations on this theme :)
There was a paper on providing r7rs module support that I preserved a copy of here: https://trout.me.uk/lisp/termite-r7rs.pdf
* as tends to rapidly become the fate of esoteric lisp projects, but I still find them fascinating to steal ideas from
It's a workflow system that is resilient to crashes but when I asked them on their forums how it worked, they explained it to me: it memoizes/stores API call results to a server backend so that if you replay your program with the same API call results it should get into the same state. It requires your program be deterministic.
Thank you for mentioning Termite scheme, I'll look into that.
I'll drop you an email if you want to talk about thoughts, dreams about this topic since you're interested :-)
https://web.archive.org/web/20210625004816/http://www.dataro...
> Every Telescript place or agent has a permit that limits its capabilities in the electronic marketplace. Permits help protect the marketplace from malicious or misprogrammed agents by preventing their unbridled consumption of resources. Permits also protect the authorities under which agents operate by providing misprogrammed agents with a safety net.
> Because agents move, their permits, like their credentials, are of special concern. An agent's permit is established when the agent is created programmatically, and it is renegotiated whenever the agent travels between regions. The destination region may deny the agent capabilities that it received at birth as long as the agent is in that region. (The region may not extend the agent's capabilities, however.) The region denies the agent entry unless it agrees to the restrictions the region imposes. When the agent eventually leaves the region, the restrictions are lifted (although those of another region are imposed).
> Two kinds of capability are granted an agent by its permit. One kind is the right to use a certain Telescript instruction. An agent in the role of shopkeeper, for example, typically is denied the use of the go instruction. Another kind of capability is the right to use a particular Telescript resource, but only in a certain amount. An agent is granted, among other things, a maximum lifetime, measured in seconds (e.g., a 5-minute agent); a maximum size, measured in bytes (e.g., a 1K agent); and a maximum overall expenditure of resources, the agent's allowance, measured in teleclicks (e.g., a 50¢agent). (In theory, the teleclick is an abstract unit of measurement. In practice, however, an "exchange rate" between teleclicks and money is established.)
> The Telescript engine that supports an agent constantly monitors its resource consumption. If the agent exceeds any of its quantitative limits, the engine destroys the agent unceremoniously. No grace period is extended. The agent has, as the saying goes, "no place to run, no place to hide."
> An agent's permit plays an important role in the electronic marketplace by enabling the agent's authority to constrain the agent's activities a priori.