Abstract
We discuss the properties of strictly typed languages on the one hand and soft typing of the other and identify disadvantages of these approaches to type checking in the context of powerful type languages. To overcome the problems we develop an approach that combines ideas of strict and soft typing. This approach is based on the concept of complete typing that is guaranteed to accept every well-typed program. The main component of a complete type checker is defined.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. Aiken, E. L. Wimmers, and T. K. Lakshman. Soft typing with conditional types. In Conference Record of POPL ‘84: 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 163–173, Portland, Oregon, Jan. 1994.
A. S. Aiken and E. L. Wimmers Type inclusion constraints and type inference. In Functional Programming and Computer Architecture, pages 31–41. ACM Press, June 1993.
R. Cartwright and M. Fagan. Soft typing. In Proc. SIGPLAN ‘81 Conference on Programming Language Design and Implementation, pages 278–292, June 1991.
F. M. Damm. Subtyping with union types, intersection types and recursive types. In M. Hagiya and J. C. Mitchell, editors, Theoretical Aspects of Computer Software: International Symposium, volume 789 of Lecture Notes in Computer Science, pages 687–706. Springer-Verlag, Apr. 1994.
C. Flanagan, M. Flatt, S. Krishnamurthi, S. Weirich, and M. Felleisen. Catching bugs in the web of program invariants. In Proceedings of the ACM SIGPLAN ‘86 Conference on Programming Language Design and Implementation, pages 23–32, Philadelphia, Pennsylvania, 21–24 May 1996. SIGPLAN Notices 31(5), May 1996.
P. Hudak, J. Peterson, and J. H. Fasel. A Gentle Introduction to Haskell-Version 1.4 -, Mar. 1997.
R. Kelsey, W. Clinger, and J. R. (Editors). Revised 5 Report on the Algorithmic Language Scheme, Feb. 1998.
B. W. Kernighan and D. M. Ritchie. The C Programming Language, Second Edition, ANSI C. Prentice Hall, 1988.
R. Milner. A theory of type polymorphism in programming. J. Comput. Syst. Sci., 17 (3): 348–375, Dec. 1978.
G. S. Smith. Principal type schemes for functional programs with overloading and subtyping. Science of Computer Programming, 23 (2–3): 197–226, Dec. 1994.
B. Stroustrup. The C++ Programming Language, Third Edition. Addison Wesley, 1997.
P. S. Wang. The undecidability of the existence of zeros of real elementary functions. Journal of the ACM, 21 (4): 586–589, Oct. 1974.
A. Wikström. Functional Programming using Standard ML. Prentice Hall, 1987.
A. K. Wright. Practical Soft Typing. PhD thesis, Rice University, Houston, Texas, Aug. 1994.
A. K. Wright and R. Cartwright. A practical soft type system for scheme. In Proceedings of the 1994 ACM Conference on Lisp and Functional Programming, pages 250–262, June 1994.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Widera, M., Beierle, C. (1999). Combining Strict and Soft Typing in Functional Programming. In: Beiersdörfer, K., Engels, G., Schäfer, W. (eds) Informatik’99. Informatik aktuell. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-01069-3_54
Download citation
DOI: https://doi.org/10.1007/978-3-662-01069-3_54
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66450-5
Online ISBN: 978-3-662-01069-3
eBook Packages: Springer Book Archive