On Jan 27, 2016 1:57 PM, "Gregg Reynolds" <d...@mobileink.com> wrote:
>
>
>
> On Wed, Jan 27, 2016 at 1:28 PM, Timothy Baldridge <tbaldri...@gmail.com>
wrote:
>>
>> It seems to me that there has to be a simpler approach to what you are
trying to accomplish. To that end, what is your end goal, and why is
"splitting the cljs into a .cljs file is not an option"?
>
>
> The end goal is a unified language (Clojure/script) for writing Web
Component apps, specifically defining and using Polymer components.  As a
simple example of what I mean by that, consider the symmetry between (ns
foo (:require ...)) in a Clojure file, and <head><link rel="import" ...>
...</head> in an HTML file.  They effectively do the same job: locate,
load, and register some resources in the local env.  So if I want to use
Polymer paper elements, instead of writing a <link> element, I write:
>
>   (h/require '[polymer.paper :as paper :refer [button card]])
>
> And to use a js or css resource, I write a "(h/import ...)" that looks
just like a Clojure import declaration.  Of course there's some
configuration code I'm not showing, but it's pretty straightforward and can
be used across projects.
>
> When it comes to defining components, Polymer is pretty complex.  But if
you stare at it long enough various Deep and Beautiful Symmetries will
begin to emerge - components are like types, as are behaviors; event suites
and listeners are effectively protocols (or co-protocols), etc.  So in the
end we hide all the HTML+JS complexity, and code to define a Polymer
component looks pretty much exactly like the code for an ordinary deftype.
That includes inline method definitions - which in this case are callback
or listener definitions.  I guess you could argue that the language for fn
definitions it is not really clojurescript, it's more like a clojure
extension or  DSL if you prefer that just looks like clojurescript.  When
evaluated it generates clojurescript.
>
> Or another way of looking at it:  we replace HTML+JS with Clojure +
Clojurescript.  Still not quite a single unified language, but pretty
darned close.
>
> So I guess the simple answer to why the clojurescript cannot be split out
is because I want to support inline definitions.
>

Correction: putting the cljs in a separate cljs file will be an option.  I
just don't want it to be a requirement.

G

-- 
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.

Reply via email to