membrane

https://github.com/phronmophobic/membrane
Jakub HolĂ˝ 2021-03-01T10:56:01.069900Z

Hello! I was thinking about membrane's

(defeffect ::fire-missiles! [missile target]
  ...)
Coming from Fulcro, I really appreciate navigability, i.e. the ability to click on a thing in my IDE and get to its definition. I believe it really aids maintainability of a project using that. Currently I do not think that in any standard IDE I could click on [::fire-missiles! :space-missile :moon] and be brought to the definition of the effect. Of course I could simply use symbols instead of keywords: create my own
(defeffect2 fire-missiles! [missile target] ...)
that both defines an effect and also, when called as a function, returns a vector of its name as a keyword + arguments, i.e. [::fire-missiles! missile target] . Then I could return intents by this function-like call (fire-missiles! :space-missile :moon) . This gives me the navigability I want - provided I remember to tell my IDE that defeffect2 is a defn-like macro -while still fully integrating with membrane. My point is: wouldn't it be worth making this the default? I do not think we loose anything and we gain navigability?

phronmophobic 2021-03-03T05:57:05.072300Z

here's the issue: https://github.com/phronmophobic/membrane/issues/16