Re: UIL - Universal Intermediate Language

Zhong Shao <>
27 May 1998 22:05:18 -0400

          From comp.compilers

Related articles
UIL - Universal Intermediate Language (Scott Guthery) (1998-05-07)
Re: UIL - Universal Intermediate Language (1998-05-12)
Re: UIL - Universal Intermediate Language (Lyn A Headley) (1998-05-15)
Re: UIL - Universal Intermediate Language danwang+news@cs.Princeton.EDU (Daniel C. Wang) (1998-05-17)
Re: UIL - Universal Intermediate Language (Lyn A Headley) (1998-05-18)
Re: UIL - Universal Intermediate Language (Zhong Shao) (1998-05-27)
| List of all articles for this month |

From: Zhong Shao <>
Newsgroups: comp.compilers
Date: 27 May 1998 22:05:18 -0400
Organization: Yale University
References: 98-05-045 98-05-061 98-05-101 98-05-107 98-05-115
Keywords: UNCOL

  Daniel C Wang <danwang+news@cs.Princeton.EDU> writes:
> only thing they all have in common is that have strong
> static typing and garbage collection.

Lyn A Headley <> writes:
> Yeah, the FLINT project targets so-called "HOT" (Higher-order and
> typed) languages. However, they've interpreted the acronym *very*
> liberally (so liberally that I don't think it's very useful as a
> term). To the FLINT people, HOT languages can be dynamically or
> statically typed, and higher-order languages include those in which
> objects carry methods. This encompasses hundreds of languages.

The acronym "HOT" was coined by Bob Harper at CMU. We used this term
mainly because it best characterizes the set of languages that we
are interested in (e.g., ML, Java, Haskell, and safe C).

Will FLINT support every HOT language in the world ? probably not,
and we never intend to.

> [Too bad. If it's just another UNCOL project, it'll fail like all the
> previous ones. -John]

I don't want my project to fail, so guess I have to make sure it won't
be another UNCOL project :-)

Actually, I do agree with Dwight that C is a great universal
intermediate language. It probably did not meet all the goals set by
some of the UNCOL projects, but the compiler community has benefited
greatly by compiling their own language into C and then use the C

To some degree, FLINT wants to be a universal *typed* intermediate
language. By "typed", I mean that certain important properties (e.g.,
type safety, security) of the FLINT program can be statically verified
at compile time or link time. A unified type system also provides
better support to interoperability and system-wide garbage collection.

Here, simply taking the type-safe subset of C is not enough because it
does not provide adequate support to many features in advanced

Finally, a common *intermediate* language does not have to be like
those fat, multi-paradigm imperative/object-oriented/functional/logic
programming languages. We have had compilers that compile ML, Haskell,
Ada, Java to C, yet C is still a relatively simple language.


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.