Brian Lovin
/
Hacker News
Daily Digest email

Get the top HN stories in your inbox every day.

nightwolf

Happy to see both my favorite editor and my favorite programming language hit the front page of Hacker News! FWIW, I responded to some of the points regarding Tutkain over at reddit[1].

[1] https://www.reddit.com/r/Clojure/comments/rflhxf/comment/hoi...

ReleaseCandidat

> get rid of the extra “REPL” panel for good. Why do you need it if you can see your results inline?

But I do not want them inline. I want to use the REPL as a _interactive_ REPL, where I can write my code and later copy that to the file. That's actually one of the reasons I still use Emacs: Common Lisp with Sly and Clojurescript with Cider.

dunefox

Why do you write code in the REPL directly? Write it in a buffer and send it to the REPL.

coldtea

>I want to use the REPL as a _interactive_ REPL, where I can write my code and later copy that to the file

Just write in the normal editor, and evaluate interactively code from there. Emacs does that too

ReleaseCandidat

Yes, but I don't have to, because with Emacs I have (almost) the same editing capabilities in the REPL.

dunefox

Why? Then you have to copy it from the REPL into the file later instead of already having a working version in the file. This makes zero sense.

GGfpc

Why do you want to code in the repl when you can code in the editor and eval in the repl?

ReleaseCandidat

Because I gain nothing when writing in the editor window - because in _Emacs_ the REPL window works (almost) the same as the editor.

A REPL with Paredit, autocompletion and 'normal' editing capabilities is what I want. That's why I often program other languages (that have a REPL, but no way to comfortably edit using it, like Haskell, PureScript, Elixir, OCaml und Rust) using Jupyter notebooks, which is the same as evaluating inline - that's better than the 'normal' way (only seeing errors/warnings/... inline) but it's not the same experience.

nikivi

The inline errors are life changing. If you use VSCode, ErrorLens package achieves same thing: https://marketplace.visualstudio.com/items?itemName=username...

rajandatta

This is an exceptionally well thought out set of points on REPL use for a lang like Clojure. I'm playing with Scheme but the ideas here are great. Love the timing of each command if it takes longer than a threshold!

whalesalad

Sublime is my favorite editor and I’m so glad to see that there is still enthusiasm in the community. Stoked to try this out!

nop_slide

I've never done any Lisp before, is Clojure a good starting candidate?

Arcanum-XIII

Yes, no.

Yes because it's a very nice language, with lot of bells and whistles. Javascript and Java integration are nearly perfect, allowing you to have a access huge ecosystem. No because even though there's progress regarding the error reporting, it's not always simple to parse them. No because you'll have to understand way more Java than you may be willing to. No because it's not Lisp per se. It's nearly a different beast.

Would I recommend it? YES. But know that "Here be dragons"

gradys

Definitely. It's got great learning resources like Clojure for the Brave and True, and it's very practical. There is good support for using it in server-side work, web apps, both frontend and backend, and now even lightweight scripting.

kitd

Further to other replies, you can dabble with Clojure using Babashka [1], a Clojure runtime compiled to native code that allows you to execute scripts without a full JVM.

It also has support for defining & running 'tasks', which makes it useful as a simple build system.

[1] https://babashka.org/

medo-bear

if you want to learn the power of lisp and learn a very powerful language check out Common Lisp. if you are a solid programmer, learn the syntax on youtube or by completing Common Lisp Koans (should take you a day or two). then pick up Norvig's Paradigms of AI Programming, which is a classic in and of itself. if you don't know emacs, choose Portacle to get you started

llovan

I got my start in Clojure with ClojureScript. If you do front end web development it's a great way to jump in. I think I actually now prefer ClojureScript with the Reagent and Re-frame libraries more than standard React using js/TypeScript.

dunefox

Only if you know the JVM and a bit of Java, otherwise I would look at Scheme or Racket tbh.

recov

Really cool plugin, although a bit sad to see how long it's taking to get approved - It makes sense to want to do a thorough review, although taking a month+ not something I like seeing in my favorite editor :(

jmchuster

> It’s been two weeks since I started using Sublime Clojure REPL myself. And you know what? I started to really enjoy Clojure exceptions! Short, concise, pointing directly to the error, formatted in Clojure naming convention, not in Java munged style which you need to decypher back to Clojure. It’s a fantastic experience, even if on paper it doesn’t sound as much.

Aren't bad exceptions one of the top issues for new (and old) users? I think solving this is a much bigger deal than you're making it out to be.

gavinray

This is stellar work from Tonsky as usual, nice to see the innovation here.

Though I made the same point about inline real-time evaluation being better than a REPL recently, and my comment received no such fanfare =(

https://news.ycombinator.com/item?id=29217815

simongray

It can be confusing.

For instance, when people speak about "the REPL" in the Clojure community they are talking about a live application thats is integrated with the editor like 99% of the time, they don't mean a command-line prompt. All Lisps use REPLs for interactive development in this manner.

panick21_

This is real neat. However, I tend to use Cursive and REBL. I think that's some of the coolest development environment I ever used.

People who have not heard of the REBL, can check out this video:

https://www.youtube.com/watch?v=c52QhiXsmyI

> REBL is a graphical, interactive tool for browsing Clojure data.

leobg

Was wondering if you could coach me through setting this up? I keep getting Java errors. Would be happy to pay you for your time (if I can afford it, that is :))

panick21_

I can't really do more then follow the basic steps. I suggest you go onto Clojure Slack channels.

Are your Clojure tools working, do you understand how deps.edn works?

If you have your clojure tool installed you just put:

:rebl ;; for JDK 11+ {:extra-deps {com.cognitect/rebl {:mvn/version "0.9.242"} org.openjfx/javafx-fxml {:mvn/version "15-ea+6"} org.openjfx/javafx-controls {:mvn/version "15-ea+6"} org.openjfx/javafx-swing {:mvn/version "15-ea+6"} org.openjfx/javafx-base {:mvn/version "15-ea+6"} org.openjfx/javafx-web {:mvn/version "15-ea+6"}} :main-opts ["-m" "cognitect.rebl"]} ;;:rebl-jdk8 ;; for JDK 8 ;;{:extra-deps {com.cognitect/rebl {:mvn/version "0.9.242"}} ;; :main-opts ["-m" "cognitect.rebl"]}

Into your '~/.clojure/deps.edn'.

From there I can just add 'rebl' as a profile to my Intellj when you start a REPL it starts automatically.

There are also alternative tools like Portal to do the same things: https://github.com/djblue/portal

Or: https://vlaaad.github.io/reveal/

oxalorg

These were some refreshing ideas to solve UX problems in the clojure REPL driven development flow (especially the REPL panel which I always keep hidden).

I've been frustrated a bit with the general UX of using emacs, clojure, and REPL since a while now. I keep tweaking my emacs config to improve it one bit at a time, hopefully one day I'll be happy :)

tut-urut-utut

Which part of the Emacs Clojure workflow you find annoying, and what is your proposed fix?

Asking because I still flow somewhere between Emacs/Cider and IntelliJ/Cursive.

Conlectus

Looks nice! The inline REPL functionality reminds me a lot of the (defunct) Light Table[1].

[1]: https://www.youtube.com/watch?v=H58-n7uldoU

Daily Digest email

Get the top HN stories in your inbox every day.

Sublime Clojure - Hacker News