The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: bakul@bitblocks.com (Bakul Shah)
Subject: [TUHS] long lived programs (was Re: RIP John Backus
Date: Fri, 23 Mar 2018 11:27:08 -0700	[thread overview]
Message-ID: <5DAB3926-947C-4DC1-8C9D-04ADB40FB007@bitblocks.com> (raw)
In-Reply-To: <201803230253.w2N2rr6O005722@tahoe.cs.Dartmouth.EDU>

On Mar 22, 2018, at 7:53 PM, Doug McIlroy <doug at cs.dartmouth.edu> wrote:
> 
> "The only thing I can think of is to use have programs that
> translate programs in todays languages to a common but very
> simple universal language for their "long term storage". May
> be something like Lamport's TLA+? A very tough job.
> "
> 
> Maybe not so hard. An existence proof is Brenda Baker's "struct",
> which was in v7. It converted Fortran to Ratfor (which of course
> turned it back to Fortran). Interestingly, authors found their
> completely reorganized code easier to read than what they had
> written in the first place.
> 
> Her big discovery was a canonical form--it was not a matter of
> taste or choice how the code got rearranged.
> 
> It would be harder to convert the code to say, Matlab,
> because then you'd have to unravel COMMON statements and
> format strings. It's easy to cook up nasty examples, like
> getting away with writing behyond the end of an array, but
> such things are rare in working code.

I can believe that for Fortran but for C/C++ or other such 
less well defined languages this may be much harder. Far
easier to write an emulator for x86 and that is fine if all
you want to do is run the same old compiled program but if you
want to make changes, de-compiling x86 code to something
structured would be much harder. Compiling the original code
to a multi-paradigm language such as Scheme or Lisp may be
another alternative....
 
[Aside:
Thanks for mentioning the name of this program as I had 
forgotten it.  I used "struct" once to convert a Fortran 
program to Ratfor and then manually to C. This was for 
programming PALs and we wanted to make some local changes.
IIRC, this was back in '82, back when vendors gave you
programs with sources for their devices, unlike the Xilinx &
Altera of today who don't even publish bitstream formats used
to program their devices.]


  reply	other threads:[~2018-03-23 18:27 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-23  2:53 Doug McIlroy
2018-03-23 18:27 ` Bakul Shah [this message]
2018-03-23 20:50   ` [TUHS] long lived programs Steve Johnson
2018-03-23 21:07     ` Clem Cole
  -- strict thread matches above, loose matches on Subject: below --
2018-03-17 22:27 [TUHS] RIP John Backus Steve Johnson
2018-03-22 21:05 ` [TUHS] long lived programs (was " Bakul Shah
2018-03-22 21:35   ` Clem Cole
2018-03-23 19:28     ` Bakul Shah
2018-03-23 19:44       ` Larry McVoy
2018-03-23 21:23       ` Clem Cole
2018-03-23 21:36         ` Warner Losh
2018-03-23 22:02           ` Steve Johnson
2018-03-26 13:43       ` Tim Bradshaw
2018-03-26 16:19         ` Paul Winalski
2018-03-26 16:41           ` Arthur Krewat
2018-03-26 19:53             ` Larry McVoy
2018-03-27  1:08           ` Clem Cole
2018-03-26 19:04         ` Bakul Shah
2018-03-27  1:21         ` Steve Johnson
2018-03-27  1:46           ` Clem Cole
2018-03-23 10:43   ` Tim Bradshaw

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5DAB3926-947C-4DC1-8C9D-04ADB40FB007@bitblocks.com \
    --to=bakul@bitblocks.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).