--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/6d9bf48a-c5b5-417a-9f66-aa494cc38346%40googlegroups.com.
Bravo 👏👏👏👏👏Are there any differences in behavior to be aware of? AOT, Graal, consuming proxy+ classes from vanilla clojure classes?
On Mon, Jan 13, 2020, 11:47 AM Nathan Marz <natha...@gmail.com> wrote:
--proxy+ is a replacement for Clojure's proxy that's faster and more usable. proxy has a strange implementation where it overrides every possible method and uses a mutable field to store a map of string -> function for dispatching the methods. This causes it to be unable to handle methods with the same name but different arities.proxy+ fixes these issues with proxy. Usage is like reify, and it's up to 10x faster.Repository: https://github.com/redplanetlabs/proxy-plus
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
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 clo...@googlegroups.com.
public java.lang.String toString();
0 aload_0 [this]
1 getfield user.proxy$java.lang.Object$ff19274a.__clojureFnMap : clojure.lang.IPersistentMap [16]
4 ldc <String "toString"> [52]
6 invokestatic clojure.lang.RT.get(java.lang.Object, java.lang.Object) : java.lang.Object [36]
9 dup
10 ifnull 28
13 checkcast clojure.lang.IFn [38]
16 aload_0 [this]
17 invokeinterface clojure.lang.IFn.invoke(java.lang.Object) : java.lang.Object [55] [nargs: 2]
22 checkcast java.lang.String [57]
25 goto 33
28 pop
29 aload_0 [this]
30 invokespecial java.lang.Object.toString() : java.lang.String [59]
33 areturn
public java.lang.String toString();
0 aload_0 [this]
1 getfield user.proxy_plus5358.toString5357 : clojure.lang.IFn [19]
4 aload_0 [this]
5 invokeinterface clojure.lang.IFn.invoke(java.lang.Object) : java.lang.Object [30] [nargs: 2]
10 checkcast java.lang.String [32]
13 areturn