Re: [racket-dev] raco make cannot marshal value error

2012-07-29 Thread Neil Toronto
Maybe it would be good to have official support for safe 3D values. I realized after I wrote the `images/compile-time' module that it was just a special case. It could be extended to handle anything serializable. Having to serialize values at expansion time and unserialize them at runtime make

Re: [racket-dev] raco make cannot marshal value error

2012-07-27 Thread Matthias Felleisen
I am almost sure there are additional explanations of 3d syntax and its problems between then and now. When we (re)discovered 3d syntax at IU in 1984, we thought it was better than sliced bread. So it is natural that many other people re-discover it and want to use it in Racket. On Jul 27

Re: [racket-dev] raco make cannot marshal value error

2012-07-27 Thread Tobias Hammer
Thanks for the explanation. I think i understand now what i did wrong. The 3D syntax was a good hint for further reading. I digged up a thread* where you already had to explain it 10 years ago :) Tobias * http://www.cs.utah.edu/plt/mailarch/plt-scheme-2002/msg00111.html On Thu, 26 Jul 2012 15:

Re: [racket-dev] raco make cannot marshal value error

2012-07-26 Thread Matthew Flatt
I agree that it's a bug, in a sense, that your program runs even though it cannot be compiled. This is an example of "3-D syntax": you're embedding a value (i.e., an instance of `s') that you can't write as a literal into the result of a macro expansion. I think 3-D syntax probably should not be a

[racket-dev] raco make cannot marshal value error

2012-07-26 Thread Tobias Hammer
Hi, i have the following two files, one that only requires the other and calls a macro and the other one that defines that macro: === main.rkt #lang racket (require "err.rkt") (a) === err.rkt #lang racket (begin-for-syntax (struct s (arg) #:transparent) (define (fun arg) (printf "arg: ~