Re: Without breakloop not much of a REPL

2021-02-01 Thread Andy Fingerhut
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 
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  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 
>> 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 
>>> 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
 
 .

>>> --
>> 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
>> 
>> .
>>
> --
> 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.goo

Re: Without breakloop not much of a REPL

2021-02-01 Thread Nesvarbu Nereikia
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  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 
> 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 
>> 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
>>> 
>>> .
>>>
>> --
> 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_6y6GsPfkRXWXrwrE6gHaCXr7hJxFK1
> zXBYp%3Dh5DRD7mFkrw%40mail.gmail.com
> 
> .
>

-- 
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.


Re: Without breakloop not much of a REPL

2021-01-29 Thread Brandon R
This may be the talk I was thinking of: https://vimeo.com/223309989

On Fri, Jan 29, 2021 at 10:04 AM Brandon R  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  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
>> 
>> .
>>
>

-- 
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/CAB_6y6GsPfkRXWXrwrE6gHaCXr7hJxFK1zXBYp%3Dh5DRD7mFkrw%40mail.gmail.com.


Re: Without breakloop not much of a REPL

2021-01-29 Thread Brandon R
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  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
> 
> .
>

-- 
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/CAB_6y6ErN6Xv1QxN3gkz2uGwN5MsR-f4rYeUB_1ByCkTFkjDsA%40mail.gmail.com.


Without breakloop not much of a REPL

2021-01-29 Thread SideStep


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.