This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-04-07
Channels
- # announcements (2)
- # beginners (25)
- # calva (16)
- # cljdoc (37)
- # cljsrn (24)
- # clojure (204)
- # clojure-nl (4)
- # clojure-spec (34)
- # clojure-uk (3)
- # clojurescript (13)
- # cursive (8)
- # data-science (3)
- # dirac (21)
- # figwheel-main (1)
- # luminus (3)
- # off-topic (45)
- # pedestal (3)
- # planck (2)
- # re-frame (5)
- # shadow-cljs (270)
- # spacemacs (5)
quil looks neat - reminds me of SDL - is there anyone out there combining openjfx + quil in some way? (maybe with the new cljfx lib?)
maybe you can repeat your question in the ghost town that is the #quil channel .
hey folks, just out of curiosity, why the indentation on clojure source code is so weird ? for example https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Ref.java
@lxsameer Maybe the author was traumatized by OOP, and in order to repress the painful memories, indents the code as if the class
line does not exist.
it is the style rich prefers, any in some places other slightly different formatted code has been patched in, and in general rich doesn't like patches that just fiddle with formatting
it is vaguely similar to https://en.wikipedia.org/wiki/Indentation_style#GNU_style
that is why I said vaguely similar, I forget if it is exactly one of the named styles, or just an idiosyncratic style rich picked up
although, I guess what people usually use these days is basically k&r style which would hardly be called a "modern" style
yeah but i never saw a style with no indentation. it just drive the programmer crazy i guess
Compiler.java is way worse on that front, because of patches with slightly different styles, and sometimes rich will put a block (like an if condition) around some code without re-indenting it, which I guess maybe makes diffs easier to read? I dunno
yeah , but it discourage other people to contribute or even read the code, and honestly clojure is not doing well in documentation so for some stuff you have to look at the code
yeah i know, but as far as i talked with people, clojure is not welcoming in regard to documentation specially in source code level
you are upset that someone did work and made it available to you for free, and you don't like the internals of it?
no i'm upset because clojure contribution policy is not friendly enough to people who willing to help
rich has different priorities from other people, and it is his party, so other people are unhappy about his decisions
i'm reading the code anyway for my own sake, why not to fix it as i go along and even right some comments in the source code for the next guy ( which i common ) but yet ....
basically, you say "willing to help" but rich disgrees that help is needed or wanted in that direction (or that he wants to spend time managing the "help"), and that is taken as being hostile to contribution
and at the end of the day it is simple, a guy like me make some patches and you as the author merge it if you like it and ask for change if you don't like it
it is easy to see why you (or I) might prefer one of those two options, but it requires the maintainer of the project to pour even more time in to their project, and be managing contributions instead of developing their project
clojure is many orders of magnitude smaller, and has, I think no full time resources whatsoever
hmmm, it isn't rich's job, but at the same time he is the one that has the final saying on it
it does friend. in linux, Linus has the final saying, but there is subsystem who has several leaders who are responsible for managing the contributions and patches
linus for example says he trusts most of the subsystem maintainers because he has been working with them for 5-15 years, clojure is 11 years old at this point
yeah but even now there are people around rich who at least i know they are very involved with clojure
he did spend maybe one or two years at the start(before it was made public?) working on it fulltime living off of his savings
which, in my experience, feels terrible. so I completely understand reluctance to be in a similar situation again.
but at the end of the day I'm pretty sure community will be helpful here, if he let them.
"the community" wants a bigger stake in it, and wants rich to do more work, but the community hasn't bothered to figure out how it is going to pay him
just figure out the latter part, the former part is nothing, as you say there are plenty of examples, etc to follow there
hmm i'm not sure what you meant by "but the community hasn't bothered to figure out how it is going to pay him"
until then, it doesn't surprise me that when people charge in demanding change at the center nothing happens, but when people go out and build what they want without trying to make it some official project, good things happen (clojuredocs, this slack)
I mean this is an exchange right? you are demanding an awful lot without figuring out first what you are willing to exchang to get it
but rich disagrees that it is a problem or that it is a good idea, or doesn't have the time to review it so ignores it
what could be the reason for httpkit to throw timeout exception on a perfectly healthy request?
people make an "offer" and it is a demand on the attention of the person the offer is being made to
and then their "offer" is summarily rejected, they want the process to change in some way
basically what it comes down to is you want the process to change, rich is comfortable with the current process, and you won't offer him anything to induce him to change it
for example, i can read the code, after some struggles to understand it, i can just do my thing and forget about it
@hiredman also brings up another good point @lxsameer -> if you see a certain benefit to changing the indentation / docs, why not make a separate project that will auto-indent Clojure core (ala gofmt
)? That way, anybody interested can use your new tool, while it in no way breaks existing JIRA patches, etc. and doesn’t take up mental/time bandwidth of people who are not concerned about the indentation.
I can ignore it but i can spend some time on it ( for free and without any demand ) and make offer some improvements.
I think some kind of annotated source for clojure would be really great, I have a branch on my fork of the clojure repo on github where I started something like that, many years ago, but just didn't have the time/attention/whatever to finish it and keep it up
yes, but i'm not going to merge it you know, like many other open sources projects, people can review it
clojure is not a special case or anything, it's not the first FOSS project facing this problem nor the last one
that is your perspective on it though, you see it has some kind of natural progression of a project
@pithyless you have a point, but it doesn't summarized only in indentation
or keep an up to date branch with lots of comments that is so valuable that everyone references it all the time
yeah i don't think me adding code to my own fork without review would be valuable for others to refer to
Let me make it really easy. This is not something that Rich or I want to spend time on, including spending time to explain or debate why we don’t want to spend time on it. We realize this probably makes some people unhappy.
Feel free to discuss all you like :)
I think it is to some degree very telling, that none of the proposals are like "hey, rich laid a gold egg in clojure, how do we get him nice and happy and continuing to give us more eggs" and are all like "that goose that laid the golden egg is in the way of me doing what I want, how do we change the process so I can do what I want"
we can keep discussing it, because, for example, this slack isn't run by rich or alex
clojuredocs, for example was started and run for a long time without any connection with rich or "the people in charge"
hmmm what can i say, clojure "project" is not in any way special in compare to other FOSS projects. I'm pretty sure other projects faced the same issue. We ( i don't think i can say we anymore ) can either learn from them and open the door to other people who wants to help or can keep going like this and hope for the best.
No project starts that way, so the question is, at what point did all the projects you are suggesting as examples change to allow for more delegation, and I would be shocked if that doesn't coincide with the fortunes of the original creator becoming more secure (via sponsorship, or patronage)
i feel out of place with my down to earth questions, but here’s another one: anybody had this problem when <!! while blocked would prevent the shell from responding to os sugnals, like ^C?
i don't know what to say anymore friend. you're putting a question mark on top of lots of FOSS software out there
no, I am just suggesting that if you want to see change the thing to work on is some way to pay rich and others to work on clojure fulltime, not lobbying them to change their process without offering anything in return
for example nrepl repls are typically split in to client and server jvms, where you code is actually execute on the server jvm
ok so you're saying that i should spend my time improving the code base, and pay the core members to consider my contribution ?
Lein repl uses nREPl, so that should be interruptible
you've already made the judgment that your changes are good, so if they are not considered or not well received something is wrong
you are have a set of changes you would like someone to spend time reviewing and determining if they represent an improvement, and if the improvement covers the cost of maintenance
is the point of foss that when you do work for free you get to demand that other people do work for free?
I said you did work for free (your set of changes) and you are demanding that others do work for free (review those changes)
speaking of code improvements and reviewing - linus had stopped looking at other people’s code directly long time ago, he would only pull updates from few trusted top-level maintainers. there’s just too many “improvements” everybody would like to suggest and only 24 hours in a day.
I would suggest you are missing the point of f/oss, in that the entire point is to give your the source to empower you to make the changes you want, it says nothing about forcing upstream to take in your changes
to quote the fsf's definition "“Free software” means software that respects users' freedom and community. Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software."
if your perspective is at odds with the fsf's view on the definition of free software then I wonder where it comes from
i believe in free software and everything in fact i'm a gnu contributor. but the way clojure source code is going forward is far from community base development. you're saying rich's time is important and other people have to pay him to review their changes which are made out of the desire to help
I am not say they have to, I am saying your perspective is completely ignoring the fact that he is a finite person and needs to work to live, and you are make demands on his time without in turn offering anything to him
and I am saying that change is also something that takes review and work to achieve, and you are asking for it without providing any inducements
everyone wants to suggest changes, no one wants to provide a means to support those changes
like, it is easy to say, "hey linux has this structure, we shuld copy it" but no one has said "hey, the X key figures in linux development are supported in ways Z, W, and Y, how can we do that for the X key clojure figures so clojure can have a process like linux's"
but you shouldn't expect people to pay money to the author in return for considering some patches
because the fact that i spend my free time working on clojure to help it grow ( even if i'm the only one thinking like this ) is enough. I have to live as well.
rich has already, as discussed, spent years of doing that fulltime, and continues to do that (but I guess not fulltime)
if every FOSS project start charging thier contributors there would not be any FOSS project left anymore
what i'm saying is that like other project the author can trust some people and let them deal with these kind of stuff. or even
like many other projects a third person can review the change first and leave his review
what I am saying is you are doing the same thing again, just at another level removed
If you wanted to start a repository that was a fork of the Clojure source code, retaining its original license, and added comments and reformatted code, and added documentation, you may be able to find others interested in answering questions or providing review comments, or even contributing to such a repository. It seems unlikely that Rich Hickey would be one of the people willing to spend time on that project, though.
There are other people besides Rich who know at least parts of that implementation quite well.
Yeah i wanted to do that but kinda think that the problem is in people's view of the whole thing
There was a project years back where someone did such a thing, and in particular they were trying to create a "literate programming" version of the Clojure source code. They made some progress, and their work is probably still available in the public somewhere, but it is likely for a version of Clojure that is not the most recent, e.g. maybe the part that was done is up to date for Clojure 1.4 or so. I may be misunderstanding what your goal is, but realize that detailed documentation of such a code base is many, many person-months of effort. Not everyone may share your desire to spend such time on it.
Here is a link to the one I have heard about, last updated in 2012: https://github.com/daly/literateclojure You can search for Tim Daly's name on the Clojure Google group for messages from around that time for some discussion of it.
Thanks man. But it is not going to work. The vision of people is wrong about FOSS that's why it is not going to work.
Coast is a new thing like that
something that prints the representation of a value and then also returns that value, so you can inject it in chains of calls to inspect values
I think the tools.logging library has a functions like that called spy
and spyf
. @U8QBZBHGD
i usually just define it kind of ad-hoc since I usually only need it while debugging
in one of my projects I have it in a common test.utils
ns because the test runner rarely prints helpful things, so I use it for finer-grained debugging in my tests
Is that what you are looking for ^^?