Hacker News new | past | comments | ask | show | jobs | submit login

I'm a big fan of Scheme/CL but I find development in ClojureScript to be quite frustrating. If anyone has some solutions I'd LOVE to hear them; while es6 is great I'd still prefer a more lispy language.

My major gripe is with debugging, when I'm writing es6 it's really easy to set a breakpoint and modify a function half way through execution. Or half finish a program and then play around with completions in the REPL to explore a problem. Sometimes I'll be traversing a complex data structure and I'll write an empty loop with just a breakpoint. I can then run the code and work through things in a concrete state and once I've got things working bringing the code back into my codebase.

When I write in any compile-to-js language I always run into the same problem where once I'm in browser I have to go back to vanilla js and any advantage I may have gained is quickly erased by having to deal with transpiled code.

Additionally with libraries like lodash-fp and newer ES features (promises, fat arrows, const and let etc.) the clarity in vanilla JS code is approaching a reasonable level.




Can't help much with your specific problem (I mostly do println debugging) but I've found that figwheel is a great workflow. Following cljs tutorials and whatever is at best painful and it is ridiculous that you need to read a giant webpage like a torah to get started. Use figwheel and add some years to your life: https://github.com/bhauman/lein-figwheel



I wrote Dirac DevTools[1] to address some of the points you raised: [1] https://github.com/binaryage/dirac


If you enable source maps you can set breakpoints in your cljs code. And IIRC browsers are testing support for non JS reply right now.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: