
A REPL Story - hby
http://sprungcanary.net/2015/11/29/a-repl-story/
======
davexunit
Yet another person discovering the beauty of the REPL. On my own time, I write
all of my software in Guile Scheme using Emacs + Geiser[0] as a development
environment and it's wonderful. I wish my work environment could be half as
nice as that.

[0]
[http://geiser.nongnu.org/geiser_1.html#Introduction](http://geiser.nongnu.org/geiser_1.html#Introduction)

------
magicbuzz
Swift has a REPL. On an OS X command line, simply type 'swift'.

------
lispm
Imagine if they detect that Lisp and Smalltalk have Inspectors for data... ->
more blog posts about the wonders of 'REPL', Clojure and Functional
Programming.

> clojure.core defines the vars _print-length_ and _print-level_

I wonder where all this is coming from? ;-)

Lisp programmers practice interactive 'bottom up programming' for decades now.

See for example Erik Sandewall's article 'Programming in an Interactive
Environment: the "Lisp" Experience' from 1978:

[https://www.ida.liu.se/ext/caisor/archive/1978/001/caisor-19...](https://www.ida.liu.se/ext/caisor/archive/1978/001/caisor-1978-001.pdf)

~~~
j-pb
Clojure is a lisp.

~~~
davexunit
I think what lispm is getting at is that there a large number of Clojure
programmers that do not realize that Clojure's features and the workflows it
enables have been around for decades.

~~~
j-pb
Fair enough, I guess the article is aimed mostly at newbies to clojure though,
which mostly come from a non-lisp background.

~~~
lispm
That style of interactive exploratory programming is supported by a gazillion
of languages and implementations. There is nothing Clojure specific about it.

From the early Lisp to most other forms of Lisp-derived languages (like Logo,
Dylan, ...), over APL, Mathematica, up to Apple's Swift...

~~~
j-pb
Neither is the article nor I arguing that in any way. It is a case study of
developing a clojure program in the repl, done to inspire newcomers, not a
scientific article claiming clojure invented the repl.

~~~
lispm
It explicitly mentions clojure, functional programming and a repl to enable
this.

None of that is necessary. One can nicely use Smalltalk (recent version:
Pharo), its object-oriented programming and its interactive IDE for that.

~~~
j-pb
Just because it mentions it doesn't means it claims it's necessary.

The author states

" If you're new to Clojure, or functional programming, or languages that have
a REPL, I hope this encourages you to crack open a REPL and start to think
about your own story. It's a means to whatever end you have in mind. "

and even points to a super general google search.

[https://www.google.de/search?client=safari&rls=en&q=repl+dri...](https://www.google.de/search?client=safari&rls=en&q=repl+driven+development&ie=UTF-8&oe=UTF-8&gfe_rd=cr&ei=kXBfVou2I_KA8QfB2YHYBw)

Did you actually read the thing, or just open it close it and decide to hat it
because it not CL?

~~~
lispm
> Did you actually read the thing, or just open it close it and decide to hat
> it because it not CL?

The author could benefit from some of the better REPLs of Common Lisp - which
for example nicely integrate various tools (inspectors, debuggers, error
handling, object-oriented programming, ...) to better support
interactive/exploratory programming.

------
jolux
Please tell me RET is a backronym for return like you'd hit when you've
finished a line in a REPL ;)

------
sputnik27
Gosh, the color of the sidebar really hurts.. Am I the only one?

~~~
nanny
Nope, it's awful. I use this chrome extension called "reader mode":
[https://chrome.google.com/webstore/detail/read-
mode/nagcaaho...](https://chrome.google.com/webstore/detail/read-
mode/nagcaahojecfeopbghgihcabgiepploa)

