Comments (11)
Haha, +1 for the bikeshedding issue. Initially, I too was a bit taken aback by the snake_case, but seeing as mori is quite different from other JS libs, the naming convention seems to suit it. Seeing update_in
rather than updateIn
does give me pause, but in that pause it makes me think harder about what is actually going on.
from mori.
It's unfortunate, but aesthetics matter, and this convention just doesn't blend in with the typical JS naming conventions. Despite how awesome this library seems to be, I'm somewhat reluctant to incorporate it into Atom because I don't want to introduce naming inconsistency to the API.
from mori.
@nathansobo FWIW, immutable.js was just released by someone at Facebook. It was inspired by mori, but with a more JS friendly API. https://github.com/facebook/immutable-js HN discussion: https://news.ycombinator.com/item?id=8107447
from mori.
Or you could always module.exports = require('camelize')(require('mori'))
from mori.
@tgriesser nice
from mori.
After thinking on my previous comment, I hope I didn't come of as complaining. Just wanted to provide feedback on this point. I'm a big admirer of your work @swannodette.
from mori.
@nathansobo plus, to be fair, this isn't even a decision @swannodette made. Basically decisions in lein-cljsbuild are the reason for the funky naming convention.
from mori.
@nathan7 no worries. It's an occasional complaint, but Mori is now an old mostly unidiomatic JavaScript library and I don't really see the value in changing things up at the moment. I think there's value in immutable code sticking out for now - I might change my mind in the future which is why I haven't closed this ticket.
from mori.
@malandrew that's not actually true. Early on (> 2 years) back when hardly anybody in the JavaScript community was interested in immutable data structures I decided to use underscores simply to make the API stick out.
from mori.
@malandrew Just to further clarify: lein-cljsbuild is really just a thin leiningen shell around the various options provided by the ClojureScript compiler. It doesn't affect or impact naming in any way.
from mori.
fixed in master
from mori.
Related Issues (20)
- Mori.js should not be minified HOT 5
- Calling m.toClj on an object with key "uc" breaks HOT 3
- How does Mori deal with functors, types, and interfaces in JS? HOT 9
- How do you get the index of a given string in a sequence of strings? HOT 3
- Documentation for transduce is missing
- Collections should implement toJSON
- React propTypes HOT 2
- doc typo: reduce
- doc typos: take
- doc typo: takeWhile
- doc typo: iterate
- doc typo: repeat
- doc typo: repeatedly
- set: what determines uniqueness?
- sortedSet: sort order
- A typo in documentation
- Essential vector methods missing? HOT 1
- Unix like Build Failing on fresh repository. HOT 1
- toClj throws exception for js object with property "j" having a numeric value HOT 1
- Is mori.js dead ? HOT 13
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 mori.