Comments (22)
Hey,
Yes, I'd be happy to see Loom support Clojurescript. There has been some interest in the past, but no progress made. I'm looking for a project that can utilize Loom in Clojurescript. Do you have a use case?
Also, I think when adding cljx support we should go for the following structure:
src/loom/common
src/loom/clj ; for Clojure specific functionality, Java interop etc
src/loom/cljx ; for Clojurescript specific implementation
from loom.
@aysylu an use case:
Comportex ( https://github.com/nupic-community/comportex ) had to copy paste clojure.algo.graph to be able to use it in clojurescript.
If loom supported cljx, comportex would be able to use loom instead of having the copy pasted clojure.algo.graph.
Also, I suppose there would be use for front-end plotting and transformation of graphs.
from loom.
Clojure 1.7's reader conditionals would probably be better than using cljx, once 1.7 is released.
from loom.
Good idea. I created #60 to track progress.
from loom.
f720bf1 laid the groundwork.
Now, the following namespaces need to be ported to Clojurescript:
- alg
- alg-generic
- attr
- dataflow
- flow
- gen
- graph
- io
- label
Also, we'll need to add:
- testing framework to run the tests in Clojure and ClojureScript
from loom.
@aysylu if you wanted to add that todo list to this issue's description then it'll show up with pretty formatting in GitHub issues.
from loom.
Hi guys,
Thank you for this useful library. I use it in a project which I intend to port to ClojureScript.
I see the loom.XYZ namespaces coming with cljc extenstions now, but still can't manage to compile loom/requiring libaries in Clojurescript. Using the released lib [0.5.4] from Clojars, cljsbuild complaints about not finding loom/alg.cljc - I think this is not what's packaged in the current release on Clojars, or did I get something wrong?
Thank you,
Rafik
from loom.
Hi @turbopape,
you're correct, the problem is that .cljc and the support for Clojurescript was not part of the [0.5.4] release. It'll be available in the next release, which I'm hoping to cut this weekend. I'll update this thread when it becomes available.
Cheers,
Aysylu
from loom.
Thank you @aysylu, very cool!
Envoyé de mon iPhone
Le 8 avr. 2016 à 03:47, Aysylu Greenberg [email protected] a écrit :
Hi @turbopape,
you're correct, the problem is that .cljc and the support for Clojurescript was not part of the [0.5.4] release. It'll be available in the next release, which I'm hoping to cut this weekend. I'll update this thread when it becomes available.
Cheers,
Aysylu—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
from loom.
Hey @aysylu ,
Any chance to work on cljc's ?
Thank you !
from loom.
Hey @turbopape, loom version 0.6.0 with latest updates is now released: https://clojars.org/aysylu/loom/versions/0.6.0. Thanks for your patience!
from loom.
Hey @aysylu ,
Thank you !
I'll try porting milestones during this week-end :)
Cheers!
from loom.
Hi @aysylu ,
When attempting to compile my project for clojruescript I get the following error:
clojure.lang.ExceptionInfo: failed compiling file:target/_out/loom/alg_generic.cljc {:file #object[java.io.File 0x7b4b2dcd "target/_out/loom/alg_generic.cljc"]}
...
The reason for this stack seems to be :
Caused by: clojure.lang.ExceptionInfo: No such namespace: java.util.Arrays, could not locate java/util/Arrays.cljs, java/util/Arrays.cljc, or Closure namespace "java.util.Arrays" in file target/_out/loom/Alg_generic.cljc {:tag :cljs/analysis-error}
I think some refactoring may have to be done in order to get javascript working ...
Thank you,
from loom.
@turbopape: I think it's because the alg-generic
namespace still needs to be ported to Clojurescript. Is this something you'd like to contribute? (the list of namespaces that still need to be ported is in the first post of this thread)
from loom.
Hi Aysylu,
Yeah, definitely, would give it a shot during the week-end,
Cheers,
Rafik
2016-04-26 14:47 GMT+01:00 Aysylu Greenberg [email protected]:
@turbopape https://github.com/turbopape: I think it's because the
alg-generic namespace still needs to be ported to Clojurescript. Is this
something you'd like to contribute?—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#45 (comment)
from loom.
It looks like the trail has gone cold on making loom available in ClojureScript. Unless someone has commits ready for a PR waiting in the wings, I'll try to nail this down tonight.
from loom.
This is the thread that explains the macro and extend-type stuff : #76
Cheers !
from loom.
You'll find it daunting, as it uses protocol extension mechanisms only
available in Clojure, I tried (and someone else did) rewriting using nasty
macros, but I abandoned as It was not clean at all.
In my opinion, the implementations shall be rewritten to avoid extend-type
(or the other one, I forgot ...)
Good luck any ways !
Cheers,
Rafik
2016-10-20 21:54 GMT+01:00 Chas Emerick [email protected]:
It looks like the trail has gone cold on making loom available in
ClojureScript. Unless someone has commits ready for a PR waiting in the
wings, I'll try to nail this down tonight.—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#45 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACpoH8QH-XD0NE5t05cWVn9gZ1t9pqyfks5q19UTgaJpZM4C1i6D
.
from loom.
@turbopape Take a look at my PR, #91, and especially the notes (and maybe impl, if you're interested) in the loom.cljs
namespace.
from loom.
Ah great!
For futures, I used a lib named promesa, that wraps promises in js, pretty
much close semantics ...
Le 25 oct. 2016 19:35, "Chas Emerick" [email protected] a écrit :
@turbopape https://github.com/turbopape Take a look at my PR, #91
#91, and especially the notes (and
maybe impl, if you're interested) in the loom.cljs namespace.—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#45 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACpoHydbbXlvWI5sQ7FadpOFseHzNlK-ks5q3kvtgaJpZM4C1i6D
.
from loom.
Yeah, there's a bunch of options there. Since promises were used in only one algorithm function, I decided it'd be better to punt on it for now. It can be addressed later on if there's demand.
from loom.
Yes, besides, it is used like to get some state back when it's ready in
some ever running loop. I think this can be rethought in a more
loop/recurrish way.
2016-10-25 19:55 GMT+01:00 Chas Emerick [email protected]:
Yeah, there's a bunch of options there. Since promises were used in only
one algorithm function, I decided it'd be better to punt on it for now. It
can be addressed later on if there's demand.—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#45 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACpoH_zZBZidsPDzgLBW511BxjL6lLhMks5q3lCdgaJpZM4C1i6D
.
from loom.
Related Issues (20)
- Implement Edge fully HOT 5
- Loom incompatible with CLJS >= 1.9.854 HOT 3
- Make 1.0.1 release ? HOT 3
- Possible Clojurescript [any Long] issue HOT 2
- Graph visualization in the browser HOT 1
- bipartite-color fails for digraphs with nodes containing no outgoing edges
- java.lang.NoClassDefFoundError: loom/graph/Graph HOT 2
- connected-components should return a seq of (sub)graphs
- Wrong typehint for clojurescript
- maximal-cliques silently breaks on digraphs
- Link to FAQ doesn't work HOT 1
- How does the ancestry cache work?
- Graph transpose does not work correctly in ClojureScript
- loom.io/view logic errors HOT 1
- remove-nodes* for BasicEditableDigraph throws null exception in cljs HOT 1
- Time for a new release? HOT 5
- Building a graph with an empty map throws a nullpointer exception
- hypergraphs using loom?
- loom.io/view calls render-to-bytes incorrectly HOT 1
- Add mincost flow algorithm
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from loom.