
Proto REPL, a New Clojure Development and Visualization Tool [video] - tosh
https://www.youtube.com/watch?v=buPPGxOnBnk
======
markc
Proto REPL has some great features in its earliest incarnations. Kudos to
Jason for such a great start. The drill-down pretty printed eval output is
very cool. And I love the built in charting/graphing plugin and how easy it is
to use within this IDE.

I'm an Emacs/CIDER hardcore, so it takes a lot to sway me to try something
new.

I'm looking forward to this being refined to the point of fully usable for
daily work. The Clojure community would really benefit from a "just works" IDE
- especially for ClojureBridge where we need to get people up and running
quickly and without teaching them a new editor. Nightcode, and now Proto REPL
seem like leading candidates.

Current minor quibbles: * Eval of charting expressions creates 2 tabs each
time. * Eval popup gets truncated if size exceeds size of frame * Several
charting examples either render improperly or throw exceptions. This may just
be version incompatibilities.

Some of these may be pilot error. I'll confirm and try to report the bugs
soon.

I must say, I miss paredit. Parinfer (at least in this incarnation) drives me
completely bonkers, especially in indent mode. It's magic, but horrible evil
black magic that works "sometimes" and steals and inserts closing ])} willy
nilly. I guess I'll just turn it off unless someone can testify that it can
become tolerable with more experience.

Again, great work Jason.

~~~
thetophs
FYI I've been using proto-repl, parinfer, and lisp-paredit in Atom and like
that combination. If you like paredit more you can do without parinfer all
together and get the paredit experience you're used to.

~~~
markc
Thanks. After some more effort I found out much of my frustration was due some
bugs and some bad config settings.

Lisp-paredit is buggy for me (must use a shortcut twice to get one motion,
can't hold down modifier keys when changing direction e.g. from slurp to
barf). Very troublesome. Also lisp-paredit strict mode fights with parinfer,
so you must turn it off to get the expected parinfer paren closing behaviors.
I'll give parinfer some more time to sink in now that I have it working
better.

Adding some familiar paredit keybindings (to keymap.cson) helps a lot too:

    
    
        'atom-text-editor[data-grammar~="clojure"]':
          'ctrl-right': 'lisp-paredit:slurp-forwards'
          'ctrl-left': 'lisp-paredit:barf-forwards'
          'ctrl-alt-right': 'lisp-paredit:barf-backwards'
          'ctrl-alt-left': 'lisp-paredit:slurp-backwards'

------
kovek
Wow! This looks great.

I really like the power of emacs. It seems like Atom might be more powerful,
thanks to its browser capabilities.

I've read that Atom is not great when it comes to how many resources is
requires. Has it gotten better? Is there a timeline for Atom performance
improvements?

------
sdegutis
Repo: [https://github.com/jasongilman/proto-
repl](https://github.com/jasongilman/proto-repl)

~~~
tosh
Here is a good checklist on how to get started with Clojure in Atom.

[https://gist.github.com/jasongilman/d1f70507bed021b48625](https://gist.github.com/jasongilman/d1f70507bed021b48625)

------
mark_l_watson
Great video. I need to do some work on a medium large Clojure web app that I
wrote five years ago, with few recent changes. This talk motivates me to
change my development environment to use Proto REPL.

The demos in the talk remind me of some great data visualization demos I have
seen for Pharo Smalltalk.

------
lsh
Atom? ick. Atom spies on you: [https://discuss.atom.io/t/collecting-metrics-
in-atom-core/14...](https://discuss.atom.io/t/collecting-metrics-in-atom-
core/14178)

~~~
daunvoatirz
HN downvotes you without providing feedback, because your negativity is
correctly placed, and no one can summon the words to contradict the substance
of your response.

They take chromium, and they repurpose the spyware that gets baked into the
Google Chrome product, rather than removing it. Take note of this and any app
based on the Electron framework.

~~~
jonesetc
It's opt in now:

[http://blog.atom.io/2016/10/11/atom-1-11.html](http://blog.atom.io/2016/10/11/atom-1-11.html)

~~~
daunvoatirz
Thank you for taking the time to explain why the parent post may have been
downvoted. It's useful information that should be communicated. It'd be nice
if more users explained whether they were downvoting incorrect information,
rather than a preference for tone of voice or conventional community
sentiment.

