PL EN


Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników
Tytuł artykułu

Equivalence in Java and Clojure, Design and Implementation Considerations

Autorzy
Treść / Zawartość
Identyfikatory
Warianty tytułu
Języki publikacji
EN
Abstrakty
EN
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.
Rocznik
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
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.