skip to main content
10.1145/1088361.1088366acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article

TypEr: a type annotator of Erlang code

Published: 26 September 2005 Publication History

Abstract

We describe and document the techniques used in TOOL, a fully automatic type annotator for Erlang programs based on constraint-based type inference of success typings (a notion closely related to principal typings). The inferred typings are fine-grained and the type system currently includes subtyping and subtype polymorphism but not parametric polymorphism. In particular, we describe and illustrate through examples a type inference algorithm tailored to Erlang's characteristics which is modular, reasonably fast, and appears to scale well in practice.

References

[1]
A. Aiken and E. L. Wimmers. Type inclusion constraints and type inference. In Functional Programming Languages and Computer Architecture, pages 31--41, 1993.
[2]
J. Armstrong, R. Virding, C. Wikström, and M. Williams. Concurrent Programming in Erlang. Prentice Hall Europe, Herfordshire, Great Britain, second edition, 1996.
[3]
R. B. Findler, J. Clements, C. Flanagan, M. Flatt, S. Krishnamurthi, P. Steckler, and M. Felleisen. DrScheme: A programming environment for Scheme. Journal of Functional Programming, 12(2):159--182, Mar. 2002.
[4]
T. Jim. What are principal typings and what are they good for? In Proceedings of the 23th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 42--53. ACM Press, Jan. 1998.
[5]
T. Lindahl and K. Sagonas. Detecting software defects in telecom applications through lightweight static analysis: A war story. In C. Wei-Ngan, editor, Programming Languages and Systems: Proceedings of the Second Asian Symposium (APLAS'04), volume 3302 of LNCS, pages 91--106. Springer, Nov. 2004.
[6]
S. Marlow and P. Wadler. A practical subtyping system for Erlang. In Proceedings of the ACM SIGPLAN International Conference on Functional Programming, pages 136--149. ACM Press, June 1997.
[7]
S.-O. Nyström. A soft-typing system for Erlang. In Proceedings of ACM SIGPLAN Erlang Workshop, pages 56--71. ACM Press, Aug. 2003.
[8]
J. B. Wells. The essence of principal typings. In Proceedings of the 29th International Colloqium on Automata, Languages, and Programming, volume 2380 of LNCS, pages 913--925. Springer, 2002.

Cited By

View all
  • (2024)Nominal Types for ErlangProceedings of the 23rd ACM SIGPLAN International Workshop on Erlang10.1145/3677995.3678191(24-32)Online publication date: 28-Aug-2024
  • (2022)Set-theoretic Types for ErlangProceedings of the 34th Symposium on Implementation and Application of Functional Languages10.1145/3587216.3587220(1-14)Online publication date: 31-Aug-2022
  • (2020)Type Inference of Simple Recursive Functions in ScalaActa Cybernetica10.14232/actacyb.28276225:4(797-815)Online publication date: 22-Oct-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ERLANG '05: Proceedings of the 2005 ACM SIGPLAN workshop on Erlang
September 2005
94 pages
ISBN:1595930663
DOI:10.1145/1088361
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 September 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Erlang
  2. constraint-based type inference
  3. principal typings
  4. subtyping
  5. success typings

Qualifiers

  • Article

Conference

ERLANG05
Sponsor:

Acceptance Rates

Overall Acceptance Rate 51 of 68 submissions, 75%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 02 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Nominal Types for ErlangProceedings of the 23rd ACM SIGPLAN International Workshop on Erlang10.1145/3677995.3678191(24-32)Online publication date: 28-Aug-2024
  • (2022)Set-theoretic Types for ErlangProceedings of the 34th Symposium on Implementation and Application of Functional Languages10.1145/3587216.3587220(1-14)Online publication date: 31-Aug-2022
  • (2020)Type Inference of Simple Recursive Functions in ScalaActa Cybernetica10.14232/actacyb.28276225:4(797-815)Online publication date: 22-Oct-2020
  • (2019)Runtime type safety for Erlang/otp behavioursProceedings of the 18th ACM SIGPLAN International Workshop on Erlang10.1145/3331542.3342571(36-47)Online publication date: 18-Aug-2019
  • (2018)Behaviour Preservation across Code Versions in ErlangScientific Programming10.1155/2018/92517622018Online publication date: 13-Jun-2018
  • (2018)HiPErJiTProceedings of the 30th Symposium on Implementation and Application of Functional Languages10.1145/3310232.3310234(25-36)Online publication date: 5-Sep-2018
  • (2018)Typing the wild in ErlangProceedings of the 17th ACM SIGPLAN International Workshop on Erlang10.1145/3239332.3242766(49-60)Online publication date: 29-Sep-2018
  • (2016)Visualizing Project Evolution through Abstract Syntax Tree Analysis2016 IEEE Working Conference on Software Visualization (VISSOFT)10.1109/VISSOFT.2016.6(11-20)Online publication date: Oct-2016
  • (2016)Polymorphic Types in Erlang Function SpecificationsFunctional and Logic Programming10.1007/978-3-319-29604-3_12(181-197)Online publication date: 21-Feb-2016
  • (2015)Concolic testing for functional languagesProceedings of the 17th International Symposium on Principles and Practice of Declarative Programming10.1145/2790449.2790519(137-148)Online publication date: 14-Jul-2015
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media