[racket] Errortrace across multiple modules

From: Byron Davies (byrondavies at starshine.us)
Date: Mon Oct 13 13:25:28 EDT 2014

I (require errortrace) in the REPL, but it seems to only apply to the specific module associated with the REPL window.  Is there a way to apply errortrace across multiple modules?

As an expedient I consolidated two files into one for debugging, but perhaps there’s a better way.

In general, how do people debug Racket code?

On Oct 13, 2014, at 9:50 AM, users-request at racket-lang.org wrote:

> Send users mailing list submissions to
> 	users at racket-lang.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	http://lists.racket-lang.org/users/listinfo
> or, via email, send a message with subject or body 'help' to
> 	users-request at racket-lang.org
> 
> You can reach the person managing the list at
> 	users-owner at racket-lang.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of users digest..."
> 
> 
> [Racket Users list:
> http://lists.racket-lang.org/users ]
> 
> 
> Today's Topics:
> 
>   1. Re: problems with the term 'symbol' (Bryan Coutts)
>   2. Re: problems with the term 'symbol' (Bryan Coutts)
>   3. Re: flood-fill? (Pierpaolo Bernardi)
>   4. Re: flood-fill? (Jens Axel S?gaard)
>   5. Re: problems with the term 'symbol' (Matthias Felleisen)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Mon, 13 Oct 2014 12:00:23 -0400
> From: Bryan Coutts <b2coutts at uwaterloo.ca>
> To: Christian Wagenknecht <c.wagenknecht at hszg.de>
> Cc: users at racket-lang.org
> Subject: Re: [racket] problems with the term 'symbol'
> Message-ID:
> 	<CAAwFm8O4ase5NntYhr=jrj41n24FhGN-gmaUTuC+J6i=EtL8tA at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Since ' expands to quote, '#(1 xyz) is really just shorthand for (quote (1
> xyz)). Note that quote recursively quotes its arguments; for the same
> reason that '(a b) is a list that contains the *symbols* 'a and 'b, '#(1
> xyz) is a vector that contains 1 and the symbol 'xyz.
> 
> On Mon, Oct 13, 2014 at 11:53 AM, Christian Wagenknecht <
> c.wagenknecht at hszg.de> wrote:
> 
>> With regard of Racket's symbols I have a problem with the consistency of
>> the terminology as follows.
>> A symbol in Scheme and maybe in earlier Racket versions is considered as
>> an identifier. For example xyz is a symbol, whereas 'xyz avoids the
>> evaluation of xyz.
>> 
>> In current version the little ' (normally as shorthand for quote) belongs
>> to the symbol. For example 'xyz is a symbol. A symbol is obviously
>> considered as a quoted identifier, at least syntactically.
>> 
>> However, when using a symbol as part of an expression the prepending '
>> disappears. For example: (vector 1 'xyz), consisting of a number and a
>> symbol evaluates to '#(1 xyz). But xyz is not a symbol but an identifier.
>> Therefore to say that this vector belongs of a number and a symbol is no
>> longer valid. (vector-ref '#(1 xyz) 1) returns 'xyz, which is correct,
>> however, this is also visually a difference where there is none.
>> 
>> Could you help me to get it right, please?
>> 
>> 
>> ____________________
>>  Racket Users list:
>>  http://lists.racket-lang.org/users
>> 
>> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://lists.racket-lang.org/users/archive/attachments/20141013/697ec012/attachment-0001.html>
> 
> ------------------------------
> 
> Message: 2
> Date: Mon, 13 Oct 2014 12:04:33 -0400
> From: Bryan Coutts <b2coutts at uwaterloo.ca>
> To: Christian Wagenknecht <c.wagenknecht at hszg.de>
> Cc: users at racket-lang.org
> Subject: Re: [racket] problems with the term 'symbol'
> Message-ID:
> 	<CAAwFm8OVjU1EUFxbw6P-Btcn4tkehhpXNxRg0w+frF8SD+_h6w at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Er, that should read " '#(1 xyz) is really just shorthand for (quote #(1
> xyz))
> 
> On Mon, Oct 13, 2014 at 12:00 PM, Bryan Coutts <b2coutts at uwaterloo.ca>
> wrote:
> 
>> Since ' expands to quote, '#(1 xyz) is really just shorthand for (quote (1
>> xyz)). Note that quote recursively quotes its arguments; for the same
>> reason that '(a b) is a list that contains the *symbols* 'a and 'b, '#(1
>> xyz) is a vector that contains 1 and the symbol 'xyz.
>> 
>> On Mon, Oct 13, 2014 at 11:53 AM, Christian Wagenknecht <
>> c.wagenknecht at hszg.de> wrote:
>> 
>>> With regard of Racket's symbols I have a problem with the consistency of
>>> the terminology as follows.
>>> A symbol in Scheme and maybe in earlier Racket versions is considered as
>>> an identifier. For example xyz is a symbol, whereas 'xyz avoids the
>>> evaluation of xyz.
>>> 
>>> In current version the little ' (normally as shorthand for quote) belongs
>>> to the symbol. For example 'xyz is a symbol. A symbol is obviously
>>> considered as a quoted identifier, at least syntactically.
>>> 
>>> However, when using a symbol as part of an expression the prepending '
>>> disappears. For example: (vector 1 'xyz), consisting of a number and a
>>> symbol evaluates to '#(1 xyz). But xyz is not a symbol but an identifier.
>>> Therefore to say that this vector belongs of a number and a symbol is no
>>> longer valid. (vector-ref '#(1 xyz) 1) returns 'xyz, which is correct,
>>> however, this is also visually a difference where there is none.
>>> 
>>> Could you help me to get it right, please?
>>> 
>>> 
>>> ____________________
>>>  Racket Users list:
>>>  http://lists.racket-lang.org/users
>>> 
>>> 
>> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://lists.racket-lang.org/users/archive/attachments/20141013/1ab03166/attachment-0001.html>
> 
> ------------------------------
> 
> Message: 3
> Date: Mon, 13 Oct 2014 18:30:05 +0200
> From: Pierpaolo Bernardi <olopierpa at gmail.com>
> To: Vincent St-Amour <stamourv at ccs.neu.edu>
> Cc: Jens Axel S?gaard <jensaxel at soegaard.net>, users
> 	<users at racket-lang.org>
> Subject: Re: [racket] flood-fill?
> Message-ID:
> 	<CANY8u7HnzpOLtsZiJ9bzYFxQGi52zDZt46qWyxEHxuGaephV0w at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> On Mon, Oct 13, 2014 at 5:15 PM, Vincent St-Amour <stamourv at ccs.neu.edu> wrote:
>> Is it in the package catalog?
> 
> My version it's not.  The one I modified is available from
> https://github.com/acmeism/RosettaCodeData/blob/master/Task/Bitmap-Flood-fill/Racket/bitmap-flood-fill.rkt
> and I don't know its status.
> 
> BTW, Matthias reviewed my queue module and offered useful suggestions.
> I'm attaching the improved version here.
> 
> Matthias: this one includes all your suggestions, including growing
> the store by vector fiddling.
> Thank you for prodding me.   :)
> 
> And here's two examples of what I'm using the code for (still lot of
> work to do):
> 
> https://farm6.staticflickr.com/5599/15337830979_c4bccae56a_o.png
> https://farm4.staticflickr.com/3940/15337812549_5ec924e207_o.png
> 
> P.
> 
> 
>> At Sat, 11 Oct 2014 20:59:09 +0200,
>> Pierpaolo Bernardi wrote:
>>> 
>>> For the record, in case someone else needs a flood-fill, attached
>>> below there's what I ended up using.
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: simple-queue.rkt
> Type: application/octet-stream
> Size: 3546 bytes
> Desc: not available
> URL: <http://lists.racket-lang.org/users/archive/attachments/20141013/2a9d83c2/attachment-0001.obj>
> 
> ------------------------------
> 
> Message: 4
> Date: Mon, 13 Oct 2014 18:34:23 +0200
> From: Jens Axel S?gaard <jensaxel at soegaard.net>
> To: Pierpaolo Bernardi <olopierpa at gmail.com>
> Cc: users <users at racket-lang.org>
> Subject: Re: [racket] flood-fill?
> Message-ID:
> 	<CABefVgwqQYZyQw+qyUtLbYzR6f=3xhMu0p7Jr2Zqtuf0TYCeug at mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
> 
> 2014-10-13 18:30 GMT+02:00 Pierpaolo Bernardi <olopierpa at gmail.com>:
>> My version it's not.  The one I modified is available from
>> https://github.com/acmeism/RosettaCodeData/blob/master/Task/Bitmap-Flood-fill/Racket/bitmap-flood-fill.rkt
>> and I don't know its status.
> 
> The flood fill example at Rosetta Code:
> 
> http://rosettacode.org/wiki/Bitmap/Flood_fill#Racket
> 
> Rosetta is a Wiki, so it ought to be possible to see who wrote the
> code from the history
> of the page.
> 
> /Jens Axel
> 
> 
> ------------------------------
> 
> Message: 5
> Date: Mon, 13 Oct 2014 12:55:18 -0400
> From: Matthias Felleisen <matthias at ccs.neu.edu>
> To: Christian Wagenknecht <c.wagenknecht at hszg.de>
> Cc: users at racket-lang.org
> Subject: Re: [racket] problems with the term 'symbol'
> Message-ID: <1F1E9BAD-98DD-4B78-90D9-E410789393FF at ccs.neu.edu>
> Content-Type: text/plain; charset=us-ascii
> 
> 
> On Oct 13, 2014, at 11:53 AM, Christian Wagenknecht <c.wagenknecht at hszg.de> wrote:
> 
>> With regard of Racket's symbols I have a problem with the consistency of the terminology as follows.
>> A symbol in Scheme and maybe in earlier Racket versions is considered as an identifier. For example xyz is a symbol, whereas 'xyz avoids the evaluation of xyz.
>> 
>> In current version the little ' (normally as shorthand for quote) belongs to the symbol. For example 'xyz is a symbol. A symbol is obviously considered as a quoted identifier, at least syntactically.
>> 
>> However, when using a symbol as part of an expression the prepending ' disappears. For example: (vector 1 'xyz), consisting of a number and a symbol evaluates to '#(1 xyz). But xyz is not a symbol but an identifier. Therefore to say that this vector belongs of a number and a symbol is no longer valid. (vector-ref '#(1 xyz) 1) returns 'xyz, which is correct, however, this is also visually a difference where there is none.
>> 
>> Could you help me to get it right, please?
> 
> 
> You need to distinguish to what an evaluation evaluates (a value) and how the value prints. These are separate concerns and the Lisp/Scheme community suffered from a conflation for decades; Brian Smith's treatise on 2Lisp and 3Lisp was the worst form of this suffering. 
> 
> -- Matthias
> 
> 
> 
> 
> End of users Digest, Vol 110, Issue 44
> **************************************



Posted on the users mailing list.