Abstract
Type system provides a precise description of a programming language. This is a prerequisite for the implementation and use of language. It also conducts mechanical and transparent type-checking on programs to prevent the occurrence of execution error during the running of programs. So, it can be said that, on the one hand, type system works as a formal tool to do mathematical analysis of language; on the other hand, it is a formal method for rigorously and precisely designing and implementing language. In this paper, some basic concepts of type system are discussed first. And then, the implementation of a graph-rewriting-based functional language — SClean’s type system is given in details. It is hoped that the proposed method of using and implementing type system is of practical usefulness.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Barendregt H P. The Lambda Calculus: Its Syntax and Semantics. Amsterdam: North-Holland, 1984.
Barendregt H P. Lambda Calculus with Types. InHandbook of Logic in Computer Science, Oxford University Press, Vol.2, 1991.
Hindley J R, Seldin J P. Introduction to Combinators and λ-Calculus. Cambridge University Press, 1986.
Milner R, Tofte M, Harper Ret al. The Definition of Standard ML (revised). The MIT Press, 1997.
Cardelli L, Wegner P. On understanding types, data abstraction, and polymorphism.ACM Computing Surveys, Dec. 1985, 17(4): 471–521.
Donahue J, Demers A. Data types are values.ACM Transaction on Program. Languages and System, July 1985, 7(3): 426–445.
Cardelli L. Type System. InHandbook of Computer Science and Engineering, Chapter 103, CRC Press, 1997.
Gunter C A. Semantics of Programming Languages: Structures and Techniques. InFoundations of Computing, Garey M, Meyer A (eds.), MIT Press, 1992.
Cardelli L, Typeful Programming. InFormal Description of Programming Concepts, Neuhold E J, Paul M (eds.), Springer-Verlag, 1991.
Hindley J R. Basic Simple Type Theory. Cambridge University Press, 1997.
Hofmann M, Pierce B. A unifying type-theoretic framework for objects.Journal of Functional Programming, Cambridge University Press, Jan., 1993, 1(1).
Fisher K, Mitchell J C. Notes on typed object-oriented programming. InProc. Theoretical Aspects of Computer Software, Springer, LNCS 789, 1994, pp.844–885.
Benjamin C Pierce, Turner D N. Simple type-theoretic foundations for object-oriented programming.Journal of Functional Programming, Cambridge University Press, Jan. 1993, 1(1): 1–100.
Hudak P, Wadler Pet al. Report on the functional programming language Haskell. Department of Computing Science, Glasgow University, 1993.
Mitchell J C. Type Systems for programming languages. InHandbook of Theoretical Computer Science, Van Leeuwen J (ed.), North Holland, 1990, pp.365–458.
Jiang Hui, Lin Dong, Xie Xiren. Using formal specification languages in industrial software development. InIEEE International Conference on Intelligent Processing Systems, Beijing, October, 28–31, 1997, pp. 1847–1850.
Jiang Hui. Implementation of SClean’s type system [dissertation]. Institute of Communication Engineering, 1998.
Author information
Authors and Affiliations
Corresponding author
Additional information
It is supported by the National Natural Science Foundation of China (No.69931040), and is also supported by Defense Science and Technology Funding No.GF00J6.2.1. JB0501.
Rights and permissions
About this article
Cite this article
Jiang, H., Lin, D., Zhang, X. et al. Type system in programming languages. J. Comput. Sci. & Technol. 16, 286–292 (2001). https://doi.org/10.1007/BF02943207
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF02943207