Elaboration on functional dependencies: Functional dependencies are dead, long live functional dependencies!

被引:0
|
作者
Karachalias G. [1 ]
Schrijvers T. [1 ]
机构
来源
ACM SIGPLAN Not. | / 10卷 / 133-147期
基金
欧盟地平线“2020”;
关键词
functional dependencies; Haskell; System FC;
D O I
10.1145/3122955.3122966
中图分类号
TP182 [专家系统、知识工程];
学科分类号
1111 ;
摘要
Functional dependencies are a popular extension to Haskell's type-class system because they provide fine-grained control over type inference, resolve ambiguities and even enable type-level computations. Unfortunately, several aspects of Haskell's functional dependencies are ill-understood. In particular, the GHC compiler does not properly enforce the functional dependency property, and rejects well-typed programs because it does not know how to elaborate them into its core language, System FC. This paper presents a novel formalization of functional dependencies that addresses these issues: We explicitly capture the functional dependency property in the type system, in the form of explicit type equalities. We also provide a type inference algorithm and an accompanying elaboration strategy which allows all well-typed programs to be elaborated into System FC,. © 2017 ACM.
引用
收藏
页码:133 / 147
页数:14
相关论文
共 50 条
  • [21] Functional dependencies between variables
    Alechina N.
    Studia Logica, 2000, 66 (2) : 273 - 283
  • [22] On approximation measures for functional dependencies
    Giannella, C
    Robertson, E
    INFORMATION SYSTEMS, 2004, 29 (06) : 483 - 507
  • [23] Sectional and Conditional Functional Dependencies
    Li, Mingda
    Wang, Hongzhi
    Li, Ye
    WIRELESS ALGORITHMS, SYSTEMS, AND APPLICATIONS, WASA 2014, 2014, 8491 : 793 - 803
  • [24] Discovering Graph Functional Dependencies
    Fan, Wenfei
    Hu, Chunming
    Liu, Xueli
    Lu, Ping
    SIGMOD'18: PROCEEDINGS OF THE 2018 INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2018, : 427 - 439
  • [25] THE THEORY OF FUNCTIONAL AND TEMPLATE DEPENDENCIES
    SADRI, F
    ULLMAN, JD
    THEORETICAL COMPUTER SCIENCE, 1982, 17 (03) : 317 - 331
  • [26] Functional Dependencies with null Markers
    Badia, Antonio
    Lemire, Daniel
    COMPUTER JOURNAL, 2015, 58 (05): : 1160 - 1168
  • [27] Type classes with functional dependencies
    Jones, MP
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2000, 1782 : 230 - 244
  • [28] Functional dependencies with counting on trees
    Schewe, KD
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2005, 11 (12) : 2063 - 2075
  • [29] Functional dependencies in random databases
    Demetrovics, J
    Katona, GOH
    Miklós, D
    Seleznjev, O
    Thalheim, B
    STUDIA SCIENTIARUM MATHEMATICARUM HUNGARICA, 1998, 34 (1-3) : 127 - 140
  • [30] Functional dependencies for XML databases
    Dong Dong
    Wuwongse, Vilas
    ICCSE'2006: PROCEEDINGS OF THE FIRST INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE & EDUCATION: ADVANCED COMPUTER TECHNOLOGY, NEW EDUCATION, 2006, : 249 - 255