Re: [racket-dev] Full transparency (was: dev Digest, Vol 72, Issue 31)

2015-01-29 Thread Byron Davies
Super! Thank you. On Thu, Jan 29, 2015 at 7:51 AM, Matthew Flatt wrote: > At Wed, 28 Jan 2015 16:21:51 -0700, Byron Davies wrote: > > Your code, commented: > > > > (define orig-i (current-inspector)) ; saves the original inspector > > (define sub-i (make-inspector orig-i)) ;make a new inspec

Re: [racket-dev] Full transparency (was: dev Digest, Vol 72, Issue 31)

2015-01-29 Thread Matthew Flatt
At Wed, 28 Jan 2015 16:21:51 -0700, Byron Davies wrote: > Your code, commented: > > (define orig-i (current-inspector)) ; saves the original inspector > (define sub-i (make-inspector orig-i)) ;make a new inspector whose parent > is the original inspector > > (current-inspector sub-i) ;makes th

Re: [racket-dev] Full transparency

2015-01-22 Thread Matthew Flatt
I don't think you want to do anything with the compiler or macros. Instead, it's a matter of having a sufficiently powerful inspector (which is the concept of "inspectability" turned into a language construct). If you have just (struct a (x)) (a 1) then the result will print as `#`. But if you

Re: [racket-dev] Full transparency

2015-01-21 Thread Byron Davies
Nice parry! What may be straightforward to you may not be so obvious to me. But I'll take a look. I'm deep into a project using Racket for weakest precondition analysis. Every time I'm debugging it seems like I have to write another special-purpose accessor, or export some existing accessor up t

Re: [racket-dev] Full transparency

2015-01-21 Thread Matthias Felleisen
Sounds like a straightforward change to the existing macros. Why don't you create a fork and experiment? On Jan 21, 2015, at 1:15 PM, Byron Davies wrote: > Or, more conservatively, every struct and object in a given package, file, or > set of files. > > On Wed, Jan 21, 2015 at 11:03 AM, By

Re: [racket-dev] Full transparency

2015-01-21 Thread Byron Davies
Or, more conservatively, every struct and object in a given package, file, or set of files. On Wed, Jan 21, 2015 at 11:03 AM, Byron Davies wrote: > Would it be easy to create a compiler flag that would make every struct > and object transparent? This would then make it easy to create a Lisp > M