Fork me on GitHub
#lambdaisland
<
2016-06-04
>
jballanc09:06:17

plexus: one interesting track would be to start with the default REPL (`java -jar clojure.jar`), then look at nREPL and why it exists

jballanc09:06:27

...ending with writing a custom nREPL middleware

jballanc09:06:23

another interesting track would be looking at the options for cljs REPLs: nashorn, figwheel, plank, node, etc.

plexus09:06:25

interesting, I had been thinking about something very similar, demystifying some of nREPL, piggieback, figwheel

plexus09:06:00

will take some studying, but I've done some spelunking through CIDER and nREPL so that's a starting point

plexus09:06:52

I think I will pretty much have to include episodes on tooling, because right now it's so easy to get lost in those woods

plexus09:06:35

leiningen, boot, maven, figwheel, cider, nREPL, piggieback, plank, ...

plexus09:06:39

even if you've done some Java before it's a mess, imagine coming from Node or Ruby, you've never heard of jars, or a classpath. Off you go!

plexus09:06:06

this is one of the reason why I have very mixed feelings about boot. Leiningen is far from perfect, but at least it's a standard.

jballanc10:06:51

agreed...too often the "formula" for getting started with cljs is "lein new, add these dependencies, then type out these three magic incantations"

jballanc10:06:30

the cljs quickstart went a long way toward demystifying the process by revealing that the cljs compiler is just a Clojure program...

jballanc10:06:43

but there's still a disconnect between that and the cljs REPL solutions

jballanc10:06:11

I mean, for clj you can mostly ignore that clj code has to be turned into bytecode then loaded in the JVM because it all happens in the same process

jballanc10:06:39

but with cljs you have: cljs -> js (one process) -> evaled js (maybe a different process?)

jballanc10:06:11

and understanding how the compiled js gets to the js runtime and how that's different between nashorn, browser, node, etc. is interesting

jballanc10:06:31

I mean, how many people know that the cljs browser REPL uses websockets? that's cool

jballanc10:06:07

personally, it's easier for me to remember the process required and then reconstruct the commands needed than to "just memorize these three commands"

jballanc10:06:29

(as for boot, well, I think we can leave that debate for another time ;-) )

plexus10:06:56

big news! Lambda Island now has favicons 😉 bmo

plexus13:06:22

Some other long overdue features are in the making

plexus13:06:38

There is already a hidden feature, http://lambdaisland.com/passwordreset . It does not yet allow you to actually reset your password, but it sends you a link with a token that logs you in. Handy if you don't want to type a complex password, e.g. on mobile