Guest User

Untitled

a guest
Jun 18th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.46 KB | None | 0 0
  1. (ns poly
  2. (:use [clojure.contrib.json]
  3. [clojure.contrib.prxml]))
  4.  
  5.  
  6. (defprotocol PSerializable
  7. (to-json [i])
  8. (to-xml [i]))
  9.  
  10.  
  11. (defrecord Person [name age])
  12.  
  13. (extend-type Person
  14. PSerializable
  15. (to-xml [this] (prxml [:person
  16. [:name (:name this)]
  17. [:age (:age this)]]))
  18. (to-json [this] (println (json-str this))))
  19.  
  20.  
  21. (let [x (Person. "Paulo" 28)]
  22. (do (to-json x))
  23. (to-xml x))
Add Comment
Please, Sign In to add comment