Decoupling Types and Representations of Values for Runtime Optimizations
Petr Krajča, Radomír Škrabal
DOI: http://dx.doi.org/10.15439/2023F5882
Citation: Position Papers of the 18th Conference on Computer Science and Intelligence Systems, M. Ganzha, L. Maciaszek, M. Paprzycki, D. Ślęzak (eds). ACSIS, Vol. 36, pages 67–76 (2023)
Abstract. The way data is stored in a computer's memory is crucial from the performance point of view. The choice of the most appropriate data structure depends not only on the algorithm but also on the input data itself. Unfortunately, this information may not always be known in advance, requiring programmers to make educated guesses about the data's characteristics. If these guesses are inaccurate, it can result in suboptimal performance. To address this challenge, we introduce a novel programming language that draws inspiration from database management systems. This language has the capability to automatically select optimal data structures and, consequently, algorithms based on the input data to improve performance.
References
- B. C. Pierce, Types and programming languages. MIT Press, 2002. ISBN 978-0-262-16209-8
- C. J. Date, An Introduction to Database Systems, Volume I, 5th Edition. Addison-Wesley, 1990. ISBN 0-201-52878-9
- H. Garcia-Molina, J. D. Ullman, and J. Widom, Database systems - the complete book. Pearson Education, 2002. ISBN 978-0-13-098043-4
- H. Abelson, R. K. Dybvig et al., “Revised report on the algorithmic language scheme,” High. Order Symb. Comput., vol. 11, no. 1, 1998. http://dx.doi.org/10.1023/A:1010051815785
- G. Steele, Common LISP: the language, 2nd Edition. Digital Pr., 1990. ISBN 0131556649
- R. Hickey, “The clojure programming language,” in Proceedings of the 2008 Symposium on Dynamic Languages, DLS 2008, July 8, 2008, Paphos, Cyprus, J. Brichau, Ed. ACM, 2008. http://dx.doi.org/10.1145/1408681.1408682 p. 1.
- R. Skrabal. (2023) Velka source codes. [Online]. Available: https://github.com/Schkrabi/TypeSystem/blob/master
- J. W. Lloyd, Foundations of Logic Programming, 2nd ed. Springer, 1987. ISBN 3-540-18199-7
- R. Hindley, “The principal type-scheme of an object in combinatory logic,” Transactions of the American Mathematical Society, vol. 146, pp. 29–60, 1969. [Online]. Available: http://www.jstor.org/stable/1995158
- D. E. Knuth, The Art of Computer Programming, Volume III: Sorting and Searching. Addison-Wesley, 1973. ISBN 0-201-03803-X