There is no reason to merely imagine ... you can do it today.

Here is a transcript of Stuart Halloway's "REPL-Driven Development" talk
with links to sources that he mentions:
https://github.com/matthiasn/talk-transcripts/blob/master/Halloway_Stuart/REPLDrivenDevelopment.md

The part of that talk where he discusses a break facility in the REPL can
be found by searching that transcript for "Joy of Clojure", the book where
one implementation of this is given.

There is a link in the transcript to this repository, which has code you
can copy and paste into your own project, or utility library, etc.

https://github.com/joyofclojure/book-source/blob/master/first-edition/src/joy/breakpoint.clj

The source for the macro named `contextual-eval` is here:
https://github.com/joyofclojure/book-source/blob/master/first-edition/src/joy/macros.clj

Andy

On Mon, Feb 1, 2021 at 4:28 AM Nesvarbu Nereikia <nesvarbu.vi...@gmail.com>
wrote:

> Thanks Brandon, what a productivity booster the breakloop wold be, huh?
> Basically would save you time and mental energy every time you sprinkle
> your code with print statements now.
>
> On Friday, January 29, 2021, Brandon R <brandon.ri...@gmail.com> wrote:
>
>> This may be the talk I was thinking of: https://vimeo.com/223309989
>>
>> On Fri, Jan 29, 2021 at 10:04 AM Brandon R <brandon.ri...@gmail.com>
>> wrote:
>>
>>> I believe what's described in that post is possible in Clojure, at least
>>> to an extent. I can't remember where I saw it described, but I think it was
>>> a talk by Stuart Halloway. IIRC you can configure Clojure to run
>>> clojure.main/repl when an exception is thrown, this puts you into a new sub
>>> repl with the lexical bindings at that point in execution. You can inspect
>>> things here and I believe change things. I'm not sure about continuing
>>> running with new values, but I'm guessing that's possible too.
>>>
>>> Maybe someone in this group can point to a good resource about this, as
>>> I didn't find it in a quick search.
>>>
>>> On Fri, Jan 29, 2021 at 6:09 AM SideStep <nesvarbu.vi...@gmail.com>
>>> wrote:
>>>
>>>> According to this post:
>>>> https://mikelevins.github.io/posts/2020-12-18-repl-driven/
>>>>
>>>> Breakloop is a true differentiator for "real" REPLs. I can see how
>>>> breakloop really is a game changer.
>>>>
>>>> Also, there is no breakloop in modern languages such as clojure, which
>>>> is heralded for it's REPL driven development, craftsmans' playground, live
>>>> coding etc...
>>>>
>>>> Is breakloop gone from modern REPL languages? Maybe it's not a big
>>>> deal? Or is it?
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To post to this group, send email to clojure@googlegroups.com
>>>> Note that posts from new members are moderated - please be patient with
>>>> your first post.
>>>> To unsubscribe from this group, send email to
>>>> clojure+unsubscr...@googlegroups.com
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/clojure?hl=en
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to clojure+unsubscr...@googlegroups.com.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/clojure/6cbcc0e9-c8d6-42b1-a1ae-3d3b88fcdfb6n%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/clojure/6cbcc0e9-c8d6-42b1-a1ae-3d3b88fcdfb6n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Clojure" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/clojure/Q1NQU8M17qc/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> clojure+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/clojure/CAB_6y6GsPfkRXWXrwrE6gHaCXr7hJxFK1zXBYp%3Dh5DRD7mFkrw%40mail.gmail.com
>> <https://groups.google.com/d/msgid/clojure/CAB_6y6GsPfkRXWXrwrE6gHaCXr7hJxFK1zXBYp%3Dh5DRD7mFkrw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/clojure/CAG-Cp9X9xhBv_yHrXZMM-%3DSpRiU4TEi7__OXRqSU%3DW00OSJ9iw%40mail.gmail.com
> <https://groups.google.com/d/msgid/clojure/CAG-Cp9X9xhBv_yHrXZMM-%3DSpRiU4TEi7__OXRqSU%3DW00OSJ9iw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/CAKvLtDZXtfB_xWn21WTXuWHXBKz2aRsZyOPs0cpSWGhNY2_vgQ%40mail.gmail.com.

Reply via email to