Identyfikatory
Warianty tytułu
Języki publikacji
Abstrakty
Immutability and the functional programming style demand an extensible and generic approach in the domain of semantic and structural equivalence testing. The lack of a library or a framework offering such functionality for Clojure programming language led to some design and implementation efforts that this article undertakes to describe. Incidentally it tries to gather and present a collection of most severe mistakes that may be made by a programmer that attempts to test objects of various kinds for their equivalence, both in Clojure and the underlying Java run-time with it's standard library, showing simple yet usable ways to avoid them.
Słowa kluczowe
Wydawca
Czasopismo
Rocznik
Tom
Strony
137--154
Opis fizyczny
Bibliogr. 15 poz.
Twórcy
autor
- IT Institute, University of Social Sciences 9 Sienkiewicza St., 90-113 Łódź, Poland
Bibliografia
- 1. Chugh R., Rondon P.M., Jhala R., 2012, Nested refinements: a logic for duck typing, POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 231-244
- 2. Gosling J., Joy B., Steele G., Bracha G., 2005, The JavaTM Language Specification Third Edition, ISBN 0-321-24678-0, available at the Oracle Technology Network (2014) http://docs.oracle.com/javase/specs/
- 3. Langer A., 2002, Secrets of equals() - Part 1, www.angelikalanger.com/Articles/JavaSolutions/SecretsOfEquals/Equals.html
- 4. Venners B., 2002, Josh Bloch on Design, instanceof versus getClass in equals Methods, JavaWorld January 4, 2002, www.artima.com/intv/bloch17.html
- 5. Halloway S., 2009: Programming Clojure, ISBN: 978-1-93435-633-3, The Pragmatic Bookshelf
- 6. Emerick Ch., Carper B., Grand Ch., 2012, Clojure Programming, O'Reilly Media Inc., ISBN: 978-1-449-39470-7
- 7. Kiczales G., Lamping J., Mendhekar A., Maeda Ch., Lopes C., Loingtier J-M., Irwin J., 1997, Aspect-Oriented Programming, Proceedings of the European Conference on Object-Oriented Programming, vol.1241. pp. 220242
- 8. Bloch J., 2008, Effective JavaTM Second Edition, Addison-Wesley, ISBN-13: 978-0-321-35668-0
- 9. Steele G.L., 1990, Common Lisp the Language, 2nd Edition, Digital Press
- 10. Liskov B., Wing J. 1999, Behavioral Subtyping Using Invariants and Constraints, CMU technical report, available as: http://reportsarchive.adm.cs.cmu.edu/anon/1999/CMU-CS-99-156.ps
- 11. IEEE Computer Society, 2008, IEEE Standard for Floating-Point Arithmetic. IEEE. doi:10.1109/IEEESTD.2008.4610935. ISBN 978-0-7381-5753-5. IEEE Std 754-2008
- 12. Java class java.math.BigDecimal source code, available (2014) as http://developer.classpath.org/doc/java/math/BigDecimal-source.html
- 13. Bloch J., Gafter N., 2005, Java¿ Puzzlers: Traps, Pitfalls, and Corner Cases, Addison-Wesley Professional, ISBN-10: 032133678X, ISBN-13: 978-0321336781
- 14. Martin R.C., 2002, The Principles, Patterns, and Practices of Agile Software Development, Robert C. Martin, Prentice Hall, available as (2014) http://objectmentor.com/resources/articles/visitor.pdf
- 15. Google, 2014, Guava Libraries, https://code.google.com/p/guava-libraries/
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-72464311-129e-4e22-b74a-374b39b20f4d