Smart Recompilation in Glasgow Haskell

نویسنده

  • Patrick Sansom
چکیده

This paper describes the system of interface files and recompilation checking in the Glasgow Haskell 1.3 Compiler. In developing this system our aim is to provide a separate compilation system which avoids unnecessary recompilation while performing significant inter-module optimisations. We associate a version number (based on the current timestamp) with each declaration and record the versions of all the imported declarations used when a module is compiled. When the module is recompiled the usage numbers are compared with the current version numbers to determine if the recompilation is unnecessary. The paper also describesa proposed system of source interfaces designedto dealwith the problem of cyclic module dependencies. This avoids the error-prone duplication of declarations by extracting the interface directly from the source code.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Smart Recompilation in the Xe Compiler Extended Abstract

This article describes the smart recompilation in a compiler for the XE programming language. XE is a data abstraction language that resembles Clu. The problem of smart recompilation consists of the detection of the program units that must be recompiled after a change to some program unit and the detection of compilation order for those program units. The recompilation algorithms of the XE comp...

متن کامل

Formulating Haskell

The functional programming language Haskell is examined from the point of view of proving programs correct. Particular features explored include the data type deenition facilities, classes, the behaviour of patterns and guards and the monad approach to IO in the Glasgow Haskell compiler.

متن کامل

The Glasgow Haskell Compiler: a Technical Overview

We give an overview of the Glasgow Haskell compiler, focusing especially on way in which we have been able to exploit the rich theory of functional languages to give very practical improvements in the compiler. The compiler is portable, modular, generates good code, and is freely available.

متن کامل

A Haskell-Implementation of STM Haskell with Early Conflict Detection

Software transactional memory treats operations on the shared memory in concurrent programs like data base transactions. STM Haskell integrates this approach in Haskell and provides combinators to build software transactions in a composable way. In previous work we introduced the process calculus CSHF as a formal model for a concurrent implementation of software transactional memory in Concurre...

متن کامل

Strictness Analysis and let-to-case Transformation using Template Haskell

Metaprogramming consists of writing programs that generate or manipulate other programs. Template Haskell is a very recent extension of Haskell, currently implemented in the Glasgow Haskell Compiler, giving support to metaprogramming at compile time. Our aim is to apply these facilities in order to statically analyse programs and transform them at compile time. In this paper we use Template Has...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996