https://github.com/GeorgeJahad/debug-repl/blob/master/src/alex_and_georges/debug_repl.clj

is some of the most enlightening clojure code I have read.


Any other suggestions?

Criteria for code I'm looking for:

* need not be production use

* ideally short

* focus is "demonstrate key idea, not necessarily worry about production
use"




On Fri, Jan 24, 2014 at 9:12 PM, Jarrod Swart <jcsw...@gmail.com> wrote:

> Its a part of Chapter 17, just so you know its only a small exercise
> showing the beauty of Clojure, Lisp and Macros.  Its only about 6 six
> pages.  The footnote:
>
> The code in this section is based on *debug-repl* created by the amazing
> George Jahad,
> extended by Alex Osborne, and integrated into Swank-Clojure by Hugo Duncan.
>
> So maybe check those out.  That said I think its a really good book and
> Manning often has specials going so you get Joy of Clojure 1 & 2 for cheap.
>
> On Friday, January 24, 2014 8:51:16 PM UTC-5, t x wrote:
>
>> I am willing to buy the book for this chapter alone.
>>
>> However, looking at http://www.manning.com/fogus2/ I can't seem to find
>> it. Which chapter is it?
>>
>>
>>
>> On Fri, Jan 24, 2014 at 3:46 PM, Jarrod Swart <jcs...@gmail.com> wrote:
>>
>>> The second version of The Joy of Clojure talks about building a
>>> debugging repl that allows insertion of breakpoints into code.  Perhaps
>>> something similar could be done here.
>>>
>>>
>>> On Friday, January 24, 2014 4:38:59 PM UTC-5, t x wrote:
>>>
>>>> Found it, apparently it's
>>>>
>>>> debug-repl => swank-clojure => CDT => ritz
>>>>
>>>> It appears cider does not yet support this, so ritz is probably the
>>>> "most powerful" at the moment.
>>>>
>>>>
>>>> On Fri, Jan 24, 2014 at 3:39 AM, t x <txre...@gmail.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>>   One thing I miss from pre-Clojure scheme days is as follows:
>>>>>
>>>>> ## What I want
>>>>>
>>>>> 1 => (foo) ;; I'm calling foo at the repl
>>>>> ... foo executes ...
>>>>> ... at some point, an exception is thrown ...
>>>>>
>>>>> 2 => my interpreter _starts a new repl_
>>>>>   * at the point where the exception was thrown
>>>>>   * lets me examine local environment variables
>>>>>   * lets me execute commands
>>>>>   * lets me "resume" the execution
>>>>>
>>>>>
>>>>> ## Why "it can't work"
>>>>>
>>>>> Now, I understand why this can not work in general in Clojure, i.e.
>>>>> the following example:
>>>>>
>>>>> (defn foo []
>>>>>   (.someJavaFunctionThatThrowsException object))
>>>>>
>>>>> In this case, the above is impossible since the exception is thrown
>>>>> from _java land_ rather than Clojure land.
>>>>>
>>>>>
>>>>> ## Why it might work
>>>>>
>>>>> Now, I'm not writing any code in java. The work I'm doing is pure
>>>>> clojure. I can throw when the exception is thrown.
>>>>>
>>>>>
>>>>> Is there some library, where instead of doing
>>>>>
>>>>> (defn foo []
>>>>>   ...
>>>>>   (throw (ex-data ...))
>>>>>   ...)
>>>>>
>>>>> I instead do:
>>>>>
>>>>> (defn foo []
>>>>>   ...
>>>>>   (something-went-wrong-please-fire-up-a-repl)
>>>>>   ...)
>>>>>
>>>>> ?
>>>>>
>>>>> Thanks!
>>>>>
>>>>
>>>>  --
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com.
>>>
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>  --
> --
> 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.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
-- 
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.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to