[HN Gopher] Telescript (programming language)
___________________________________________________________________
Telescript (programming language)
Author : vector_spaces
Score : 44 points
Date : 2023-09-08 04:34 UTC (1 days ago)
(HTM) web link (en.wikipedia.org)
(TXT) w3m dump (en.wikipedia.org)
| tapoxi wrote:
| For anyone else amazed by General Magic, the recently released
| documentary is available for free (legally) on YouTube:
| https://youtu.be/JQymn5flcek?si=zm-PJtQExOHol7r-
| 7373737373 wrote:
| "This video is not available" for me
| tapoxi wrote:
| It's uploaded by the film's production company so they might
| have limited it to the United States. Here's the website for
| the film, I highly recommend watching it:
| https://www.generalmagicthemovie.com/
| froh wrote:
| the US and the UK only indeed as per the size you've kindly
| linked. the trailer was on Vimeo, though.
|
| too bad, now I'm dead curious, lol.
| 7373737373 wrote:
| It is possible to buy the full version on Vimeo. I just
| watched it and
|
| 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.
| cout wrote:
| A long time ago, I wrote a library that could marshal a running
| Ruby program over a socket to another VM. It seemed like a cool
| idea at the time, but I never found a good use for it. Turns out
| it's simpler to send the source code over the wire instead.
| 7373737373 wrote:
| Stackless Python can do it as well, very cool:
| https://stackless.readthedocs.io/en/2.7-slp/library/stackles...
|
| 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.
| temeya wrote:
| As someone interested in obscure (extinct?) Programming
| Languages, Telescript always struck me as interesting as it
| apparently followed the Agent Programming paradigm, but as no one
| is maintaining the language anymore, I guess its lost to time.
| esfandia wrote:
| Yeah, mobile agents were a hot topic back then (mid 90s), and
| Telescript was one of the early programming languages that
| enabled this idea of agents roaming around doing stuff on the
| web. Java coming along around the same time with dynamic
| loading of code (used in applets for example) gave the idea
| another boost. Ultimately, I don't think the security issues
| (agent could attack the host, host could attack the agent,
| agents could attack each other, etc.) were worth the trouble
| and the research seemed to fizzle.
|
| I always wondered if message passing between static agents
| wasn't a functionally equivalent yet safer and simpler
| alternative to mobile agents.
| dang wrote:
| Related:
|
| _Telescript programming language_ -
| https://news.ycombinator.com/item?id=17483436 - July 2018 (13
| comments)
| samsquire wrote:
| This reminds me of Smalltalk image model and Temporal.
|
| 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.
| mst wrote:
| Temporal?
|
| (I'm fascinated by e.g. termite scheme, I like learning about
| more variations on this theme :)
| lacrimacida wrote:
| Whats termite scheme and what is it used for?
| 7373737373 wrote:
| How did the server side prevent infinite loops?
| cryptonector wrote:
| Does it matter? You don't need infinite loops to eat up all
| available CPU and take forever to finish. Imagine nesting N
| loops that run from the smallest integer available to the
| largest integer available, so if you have 64-bit integers
| that's (2^64)^N, and N could be whatever you can fit in the
| code, which could be very large. You can prove that such a
| program terminates, but not in your lifetime for large enough
| N. And that's just the most trivial way I can think of to write
| a provably-terminating-but-not-practically program, and you can
| always implement faster growing functions and still terminate-
| just-not-really.
| 7373737373 wrote:
| I should have formulated my question differently: "How does
| the server side prevent computational resource exhaustion?",
| which includes the ability to preempt infinite loops. It
| matters and can be done, e.g. by using an instruction (and
| memory usage) counter and aborting/suspending after a certain
| number of instructions have been executed, or by using a
| timer as stated below.
| classichasclass wrote:
| Telescript apps ran with an execution budget (measured in
| "Teleclicks"). There was also a permissions system. Apps
| were signed to identify their origin and on whose behalf
| they were running.
| 7373737373 wrote:
| Apparently this system was called "Permits", I just found
| a description here:
|
| https://web.archive.org/web/20210625004816/http://www.dat
| aro...
|
| > 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
| 50C/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.
| Rohansi wrote:
| Can't confirm but since it's running in a VM it could easily
| just time out and abort.
| mometsi wrote:
| Interesting that the concept of Cloud Computing dates back to at
| least 1994:
|
| > "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.
|
| (from https://www.wired.com/1994/04/general-magic/)
___________________________________________________________________
(page generated 2023-09-09 23:01 UTC)