Re: RFC: dynamic-object, a library for working with Clojure data in Java
This has proven to be somewhat complicated, but I've finally pushed a release of 0.1 to the staging repository. (I also added support for validating nested collections.) If all goes well, it should be available via Maven Central within a day or two. On Monday, June 16, 2014 7:09:07 PM UTC-7, Atamert Ölçgen wrote: Absolutely. I don't believe consumers (of open source projects) are entitled to anything anyway. I think it's a cool project and I hope it gets the attention. On Tue, Jun 17, 2014 at 1:02 AM, Ryan Schmitt rsch...@u.rochester.edu javascript: wrote: I'll look into it, I'm just sort of reluctant because I don't think people take beta warnings seriously. In the meantime, if all you want is a .jar file, you can just clone the git repo and run the Gradle build. You should also be able to open up the repo as an IntelliJ project. (Let me know if you can't, by the way--I've tested both approaches on multiple operating systems with the intention that they should *just work*.) On Sunday, June 15, 2014 8:38:25 PM UTC-7, Atamert Ölçgen wrote: Perhaps if you make it easily available (making an early release) more people would use it and you might get more feedback then. You can always change interfaces, conventions etc. On Mon, Jun 16, 2014 at 3:09 AM, Ryan Schmitt rsch...@u.rochester.edu wrote: Set, Util, and List are actually just interfaces, and Clojure's collections implement them. The destructive operations throw UnsupportedOperationException of course, which is actually explicitly allowed by the spec: * pThe destructive methods contained in this interface, that is, the * methods that modify the map on which they operate, are specified to throw * ttUnsupportedOperationException/tt if this map does not support the * operation. If this is the case, these methods may, but are not required * to, throw an ttUnsupportedOperationException/tt if the invocation would * have no effect on the map. For example, invoking the {@link #putAll(Map)} * method on an unmodifiable map may, but is not required to, throw the * exception if the map whose mappings are to be superimposed is empty. This conversion is recursive; for instance, a ListListInteger will be internally stored as an immutable persistent ListListLong. However, this behavior is not documented, partially because it hasn't been tested to my satisfaction yet and partially because validation does not currently work with nested collections. The library isn't available on Maven yet; I want more feedback on the design before I make a commitment to the current interfaces, conventions, and behaviors. On Sunday, June 15, 2014 7:56:30 PM UTC-7, Atamert Ölçgen wrote: Really cool library, thanks for sharing. I was initially irked by the use of (mutable) Java collection interfaces, but then I read that they're made immutable when passed to the builder. I assume they're recursively converted to persistent representations. It reminded me of Guava's immutable classes a little. (Not persistent, no serialization) Is it available via maven? On Mon, Jun 16, 2014 at 1:18 AM, Ryan Schmitt rsch...@u.rochester.edu wrote: I've been developing a library to bring Clojure data to Java developers. By Clojure data I mean both Clojure's persistent immutable data structures *and* serialized Edn data. I wanted access to Clojure's capabilities without having to use Clojure-Java interop directly or make use of downcasting. Obviously it would be preferable to just use Clojure, but this is intended as the next best thing for developers who for whatever reason are currently stuck with Java. https://github.com/rschmitt/dynamic-object I'm looking for feedback on the design and implementation. The README is reasonably thorough, and the tests https://github.com/rschmitt/dynamic-object/tree/master/src/test/java/com/github/rschmitt/dynamicobject contain hundreds of usage examples. If anyone has any questions, I'll be glad to field them here. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+u...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- Kind Regards, Atamert Ölçgen -+- --+ +++ www.muhuk.com -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to
Re: RFC: dynamic-object, a library for working with Clojure data in Java
I'll look into it, I'm just sort of reluctant because I don't think people take beta warnings seriously. In the meantime, if all you want is a .jar file, you can just clone the git repo and run the Gradle build. You should also be able to open up the repo as an IntelliJ project. (Let me know if you can't, by the way--I've tested both approaches on multiple operating systems with the intention that they should *just work*.) On Sunday, June 15, 2014 8:38:25 PM UTC-7, Atamert Ölçgen wrote: Perhaps if you make it easily available (making an early release) more people would use it and you might get more feedback then. You can always change interfaces, conventions etc. On Mon, Jun 16, 2014 at 3:09 AM, Ryan Schmitt rsch...@u.rochester.edu javascript: wrote: Set, Util, and List are actually just interfaces, and Clojure's collections implement them. The destructive operations throw UnsupportedOperationException of course, which is actually explicitly allowed by the spec: * pThe destructive methods contained in this interface, that is, the * methods that modify the map on which they operate, are specified to throw * ttUnsupportedOperationException/tt if this map does not support the * operation. If this is the case, these methods may, but are not required * to, throw an ttUnsupportedOperationException/tt if the invocation would * have no effect on the map. For example, invoking the {@link #putAll(Map)} * method on an unmodifiable map may, but is not required to, throw the * exception if the map whose mappings are to be superimposed is empty. This conversion is recursive; for instance, a ListListInteger will be internally stored as an immutable persistent ListListLong. However, this behavior is not documented, partially because it hasn't been tested to my satisfaction yet and partially because validation does not currently work with nested collections. The library isn't available on Maven yet; I want more feedback on the design before I make a commitment to the current interfaces, conventions, and behaviors. On Sunday, June 15, 2014 7:56:30 PM UTC-7, Atamert Ölçgen wrote: Really cool library, thanks for sharing. I was initially irked by the use of (mutable) Java collection interfaces, but then I read that they're made immutable when passed to the builder. I assume they're recursively converted to persistent representations. It reminded me of Guava's immutable classes a little. (Not persistent, no serialization) Is it available via maven? On Mon, Jun 16, 2014 at 1:18 AM, Ryan Schmitt rsch...@u.rochester.edu wrote: I've been developing a library to bring Clojure data to Java developers. By Clojure data I mean both Clojure's persistent immutable data structures *and* serialized Edn data. I wanted access to Clojure's capabilities without having to use Clojure-Java interop directly or make use of downcasting. Obviously it would be preferable to just use Clojure, but this is intended as the next best thing for developers who for whatever reason are currently stuck with Java. https://github.com/rschmitt/dynamic-object I'm looking for feedback on the design and implementation. The README is reasonably thorough, and the tests https://github.com/rschmitt/dynamic-object/tree/master/src/test/java/com/github/rschmitt/dynamicobject contain hundreds of usage examples. If anyone has any questions, I'll be glad to field them here. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+u...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- Kind Regards, Atamert Ölçgen -+- --+ +++ www.muhuk.com -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@googlegroups.com javascript: Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+u...@googlegroups.com javascript: For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com javascript:. For more options, visit https://groups.google.com/d/optout. --
Re: RFC: dynamic-object, a library for working with Clojure data in Java
Absolutely. I don't believe consumers (of open source projects) are entitled to anything anyway. I think it's a cool project and I hope it gets the attention. On Tue, Jun 17, 2014 at 1:02 AM, Ryan Schmitt rschm...@u.rochester.edu wrote: I'll look into it, I'm just sort of reluctant because I don't think people take beta warnings seriously. In the meantime, if all you want is a .jar file, you can just clone the git repo and run the Gradle build. You should also be able to open up the repo as an IntelliJ project. (Let me know if you can't, by the way--I've tested both approaches on multiple operating systems with the intention that they should *just work*.) On Sunday, June 15, 2014 8:38:25 PM UTC-7, Atamert Ölçgen wrote: Perhaps if you make it easily available (making an early release) more people would use it and you might get more feedback then. You can always change interfaces, conventions etc. On Mon, Jun 16, 2014 at 3:09 AM, Ryan Schmitt rsch...@u.rochester.edu wrote: Set, Util, and List are actually just interfaces, and Clojure's collections implement them. The destructive operations throw UnsupportedOperationException of course, which is actually explicitly allowed by the spec: * pThe destructive methods contained in this interface, that is, the * methods that modify the map on which they operate, are specified to throw * ttUnsupportedOperationException/tt if this map does not support the * operation. If this is the case, these methods may, but are not required * to, throw an ttUnsupportedOperationException/tt if the invocation would * have no effect on the map. For example, invoking the {@link #putAll(Map)} * method on an unmodifiable map may, but is not required to, throw the * exception if the map whose mappings are to be superimposed is empty. This conversion is recursive; for instance, a ListListInteger will be internally stored as an immutable persistent ListListLong. However, this behavior is not documented, partially because it hasn't been tested to my satisfaction yet and partially because validation does not currently work with nested collections. The library isn't available on Maven yet; I want more feedback on the design before I make a commitment to the current interfaces, conventions, and behaviors. On Sunday, June 15, 2014 7:56:30 PM UTC-7, Atamert Ölçgen wrote: Really cool library, thanks for sharing. I was initially irked by the use of (mutable) Java collection interfaces, but then I read that they're made immutable when passed to the builder. I assume they're recursively converted to persistent representations. It reminded me of Guava's immutable classes a little. (Not persistent, no serialization) Is it available via maven? On Mon, Jun 16, 2014 at 1:18 AM, Ryan Schmitt rsch...@u.rochester.edu wrote: I've been developing a library to bring Clojure data to Java developers. By Clojure data I mean both Clojure's persistent immutable data structures *and* serialized Edn data. I wanted access to Clojure's capabilities without having to use Clojure-Java interop directly or make use of downcasting. Obviously it would be preferable to just use Clojure, but this is intended as the next best thing for developers who for whatever reason are currently stuck with Java. https://github.com/rschmitt/dynamic-object I'm looking for feedback on the design and implementation. The README is reasonably thorough, and the tests https://github.com/rschmitt/dynamic-object/tree/master/src/test/java/com/github/rschmitt/dynamicobject contain hundreds of usage examples. If anyone has any questions, I'll be glad to field them here. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+u...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- Kind Regards, Atamert Ölçgen -+- --+ +++ www.muhuk.com -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+u...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop
RFC: dynamic-object, a library for working with Clojure data in Java
I've been developing a library to bring Clojure data to Java developers. By Clojure data I mean both Clojure's persistent immutable data structures *and* serialized Edn data. I wanted access to Clojure's capabilities without having to use Clojure-Java interop directly or make use of downcasting. Obviously it would be preferable to just use Clojure, but this is intended as the next best thing for developers who for whatever reason are currently stuck with Java. https://github.com/rschmitt/dynamic-object I'm looking for feedback on the design and implementation. The README is reasonably thorough, and the tests https://github.com/rschmitt/dynamic-object/tree/master/src/test/java/com/github/rschmitt/dynamicobject contain hundreds of usage examples. If anyone has any questions, I'll be glad to field them here. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: RFC: dynamic-object, a library for working with Clojure data in Java
Really cool library, thanks for sharing. I was initially irked by the use of (mutable) Java collection interfaces, but then I read that they're made immutable when passed to the builder. I assume they're recursively converted to persistent representations. It reminded me of Guava's immutable classes a little. (Not persistent, no serialization) Is it available via maven? On Mon, Jun 16, 2014 at 1:18 AM, Ryan Schmitt rschm...@u.rochester.edu wrote: I've been developing a library to bring Clojure data to Java developers. By Clojure data I mean both Clojure's persistent immutable data structures *and* serialized Edn data. I wanted access to Clojure's capabilities without having to use Clojure-Java interop directly or make use of downcasting. Obviously it would be preferable to just use Clojure, but this is intended as the next best thing for developers who for whatever reason are currently stuck with Java. https://github.com/rschmitt/dynamic-object I'm looking for feedback on the design and implementation. The README is reasonably thorough, and the tests https://github.com/rschmitt/dynamic-object/tree/master/src/test/java/com/github/rschmitt/dynamicobject contain hundreds of usage examples. If anyone has any questions, I'll be glad to field them here. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- Kind Regards, Atamert Ölçgen -+- --+ +++ www.muhuk.com -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: RFC: dynamic-object, a library for working with Clojure data in Java
Set, Util, and List are actually just interfaces, and Clojure's collections implement them. The destructive operations throw UnsupportedOperationException of course, which is actually explicitly allowed by the spec: * pThe destructive methods contained in this interface, that is, the * methods that modify the map on which they operate, are specified to throw * ttUnsupportedOperationException/tt if this map does not support the * operation. If this is the case, these methods may, but are not required * to, throw an ttUnsupportedOperationException/tt if the invocation would * have no effect on the map. For example, invoking the {@link #putAll(Map)} * method on an unmodifiable map may, but is not required to, throw the * exception if the map whose mappings are to be superimposed is empty. This conversion is recursive; for instance, a ListListInteger will be internally stored as an immutable persistent ListListLong. However, this behavior is not documented, partially because it hasn't been tested to my satisfaction yet and partially because validation does not currently work with nested collections. The library isn't available on Maven yet; I want more feedback on the design before I make a commitment to the current interfaces, conventions, and behaviors. On Sunday, June 15, 2014 7:56:30 PM UTC-7, Atamert Ölçgen wrote: Really cool library, thanks for sharing. I was initially irked by the use of (mutable) Java collection interfaces, but then I read that they're made immutable when passed to the builder. I assume they're recursively converted to persistent representations. It reminded me of Guava's immutable classes a little. (Not persistent, no serialization) Is it available via maven? On Mon, Jun 16, 2014 at 1:18 AM, Ryan Schmitt rsch...@u.rochester.edu javascript: wrote: I've been developing a library to bring Clojure data to Java developers. By Clojure data I mean both Clojure's persistent immutable data structures *and* serialized Edn data. I wanted access to Clojure's capabilities without having to use Clojure-Java interop directly or make use of downcasting. Obviously it would be preferable to just use Clojure, but this is intended as the next best thing for developers who for whatever reason are currently stuck with Java. https://github.com/rschmitt/dynamic-object I'm looking for feedback on the design and implementation. The README is reasonably thorough, and the tests https://github.com/rschmitt/dynamic-object/tree/master/src/test/java/com/github/rschmitt/dynamicobject contain hundreds of usage examples. If anyone has any questions, I'll be glad to field them here. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@googlegroups.com javascript: Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+u...@googlegroups.com javascript: For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com javascript:. For more options, visit https://groups.google.com/d/optout. -- Kind Regards, Atamert Ölçgen -+- --+ +++ www.muhuk.com -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: RFC: dynamic-object, a library for working with Clojure data in Java
Perhaps if you make it easily available (making an early release) more people would use it and you might get more feedback then. You can always change interfaces, conventions etc. On Mon, Jun 16, 2014 at 3:09 AM, Ryan Schmitt rschm...@u.rochester.edu wrote: Set, Util, and List are actually just interfaces, and Clojure's collections implement them. The destructive operations throw UnsupportedOperationException of course, which is actually explicitly allowed by the spec: * pThe destructive methods contained in this interface, that is, the * methods that modify the map on which they operate, are specified to throw * ttUnsupportedOperationException/tt if this map does not support the * operation. If this is the case, these methods may, but are not required * to, throw an ttUnsupportedOperationException/tt if the invocation would * have no effect on the map. For example, invoking the {@link #putAll(Map)} * method on an unmodifiable map may, but is not required to, throw the * exception if the map whose mappings are to be superimposed is empty. This conversion is recursive; for instance, a ListListInteger will be internally stored as an immutable persistent ListListLong. However, this behavior is not documented, partially because it hasn't been tested to my satisfaction yet and partially because validation does not currently work with nested collections. The library isn't available on Maven yet; I want more feedback on the design before I make a commitment to the current interfaces, conventions, and behaviors. On Sunday, June 15, 2014 7:56:30 PM UTC-7, Atamert Ölçgen wrote: Really cool library, thanks for sharing. I was initially irked by the use of (mutable) Java collection interfaces, but then I read that they're made immutable when passed to the builder. I assume they're recursively converted to persistent representations. It reminded me of Guava's immutable classes a little. (Not persistent, no serialization) Is it available via maven? On Mon, Jun 16, 2014 at 1:18 AM, Ryan Schmitt rsch...@u.rochester.edu wrote: I've been developing a library to bring Clojure data to Java developers. By Clojure data I mean both Clojure's persistent immutable data structures *and* serialized Edn data. I wanted access to Clojure's capabilities without having to use Clojure-Java interop directly or make use of downcasting. Obviously it would be preferable to just use Clojure, but this is intended as the next best thing for developers who for whatever reason are currently stuck with Java. https://github.com/rschmitt/dynamic-object I'm looking for feedback on the design and implementation. The README is reasonably thorough, and the tests https://github.com/rschmitt/dynamic-object/tree/master/src/test/java/com/github/rschmitt/dynamicobject contain hundreds of usage examples. If anyone has any questions, I'll be glad to field them here. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+u...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- Kind Regards, Atamert Ölçgen -+- --+ +++ www.muhuk.com -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- Kind Regards, Atamert Ölçgen -+- --+ +++ www.muhuk.com -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this