Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancement: port to ClojureDart? #3

Open
5 tasks
devcarbon-com opened this issue Jan 11, 2023 · 3 comments
Open
5 tasks

Enhancement: port to ClojureDart? #3

devcarbon-com opened this issue Jan 11, 2023 · 3 comments

Comments

@devcarbon-com
Copy link

devcarbon-com commented Jan 11, 2023

I'm hoping to be able to pitch in a little for this feature as I'm able.
Here are the things I know about so far that are needed for this to work:

  • Multi-method support in ClojureDart
  • Convert clj files to cljc
  • Add ^:macro-support to any macro supporting defns
  • Add handling error cases with dart interop
  • (Will add more as I go along...)
@jpmonettas
Copy link
Member

Thanks for creating this @devcarbon-com ! I'll be taking a look into ClojureDart pretty soon.

I'm still not sure we need to convert files from clj to cljc to have a basic working for ClojureDart, since it is currently working for ClojureScript also as it is (unless you are trying self hosted), but for sure it would be nice. The main issue when trying to move everything into cljc iirc has to do with macroexpansion, which the instrumentation system uses.

I haven't looked into the ClojureDart system as a whole yet so I can't comment, but as I said, I will be back to this issue soon.

@devcarbon-com
Copy link
Author

devcarbon-com commented May 15, 2023

@jpmonettas I'm looking forward to it!

As far as the cljc conversion goes, the ClojureDart compiler completely ignores .clj files. Though I suppose that is something that could be changed easily in a fork.

Macro's are supported, but if there are any macro supporting defns they need to have ^:macro-support added.

@jpmonettas
Copy link
Member

Hi @devcarbon-com! Still didn't have time to look at ClojureDart, I am waiting since I'm finishing my experiments with ClojureStorm which is a different approach to instrumentation than what Hansel does. Depending on how well it goes in Clojure I will see if I try the Hansel or the Storm approach for ClojureDart first, since they are kind of equivalent with some different trade-offs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants