Created
December 4, 2024 14:10
-
-
Save damien-mattei/2b14369a997a3ae1c0c6e0b0e6eea9c0 to your computer and use it in GitHub Desktop.
expanding code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
` | |
(pretty-print (syntax->datum (expand '($nfx$ | |
data-xml | |
<- | |
(for/list | |
((one-data-row data-interpol) (one-trajectory-row data-trajectory)) | |
($nfx$ | |
(index X_MSO Y_MSO Z_MSO VALx VALy VALz) | |
<- | |
(apply values (string-split one-data-row))) | |
($nfx$ | |
(time-stamp x_traj_mso y_traj_mso z_traj_mso) | |
<- | |
(apply values (string-split one-trajectory-row))) | |
(define (cal val) ($nfx$ val * Bsw / B0)) | |
`(TR | |
(TD ,time-stamp) | |
(TD ,X_MSO) | |
(TD ,Y_MSO) | |
(TD ,Z_MSO) | |
(TD ,(number->string (cal (string->number VALx)))) | |
(TD ,(number->string (cal (string->number VALy)))) | |
(TD ,(number->string (cal (string->number VALz)))))))))) | |
'(define-values | |
(data-xml) | |
(#%app | |
alt-reverse | |
(let-values (((fold-var) (let-values (((fold-var) null)) fold-var))) | |
(let-values (((pos->vals | |
pos-pre-inc | |
pos-next | |
init | |
pos-cont? | |
val-cont? | |
all-cont?) | |
(#%app | |
make-sequence | |
'(one-data-row) | |
(#%top . data-interpol))) | |
((pos->vals | |
pos-pre-inc | |
pos-next | |
init | |
pos-cont? | |
val-cont? | |
all-cont?) | |
(#%app | |
make-sequence | |
'(one-trajectory-row) | |
(#%top . data-trajectory)))) | |
(#%app void) | |
(#%app void) | |
(#%app | |
(letrec-values (((for-loop) | |
(lambda (fold-var pos pos) | |
(let-values () | |
(if (if (if pos-cont? (#%app pos-cont? pos) '#t) | |
(if pos-cont? (#%app pos-cont? pos) '#t) | |
'#f) | |
(let-values (((one-data-row all-cont?/pos) | |
(let-values (((one-data-row) | |
(#%app | |
pos->vals | |
pos))) | |
(#%app | |
values | |
one-data-row | |
(if all-cont? | |
(lambda (pos) | |
(#%app | |
all-cont? | |
pos | |
one-data-row)) | |
'#f)))) | |
((pos) | |
(if pos-pre-inc | |
(#%app pos-pre-inc pos) | |
pos)) | |
((one-trajectory-row all-cont?/pos) | |
(let-values (((one-trajectory-row) | |
(#%app | |
pos->vals | |
pos))) | |
(#%app | |
values | |
one-trajectory-row | |
(if all-cont? | |
(lambda (pos) | |
(#%app | |
all-cont? | |
pos | |
one-trajectory-row)) | |
'#f)))) | |
((pos) | |
(if pos-pre-inc | |
(#%app pos-pre-inc pos) | |
pos))) | |
(#%app void) | |
(#%app void) | |
(if (if (if val-cont? | |
(#%app val-cont? one-data-row) | |
'#t) | |
(if val-cont? | |
(#%app val-cont? one-trajectory-row) | |
'#t) | |
'#f) | |
(let-values (((fold-var) | |
(let-values (((fold-var) | |
(let-values () | |
(#%app | |
cons | |
(let-values () | |
(let-values (((index) | |
'())) | |
(let-values (((X_MSO) | |
'())) | |
(let-values (((Y_MSO) | |
'())) | |
(let-values (((Z_MSO) | |
'())) | |
(let-values (((VALx) | |
'())) | |
(let-values (((VALy) | |
'())) | |
(let-values (((VALz) | |
'())) | |
(let-values ((() | |
(begin | |
(#%app | |
call-with-values | |
(lambda () | |
(#%app | |
apply | |
values | |
(let-values (((one-data-row6) | |
one-data-row)) | |
(if (#%app | |
variable-reference-constant? | |
(#%variable-reference | |
string-split25)) | |
(#%app | |
string-split | |
'#f | |
'#t | |
one-data-row6 | |
unsafe-undefined) | |
(#%app | |
string-split25 | |
one-data-row6))))) | |
(lambda (value | |
. | |
rest) | |
(set! index | |
value) | |
(#%app | |
call-with-values | |
(lambda () | |
(#%app | |
apply | |
values | |
rest)) | |
(lambda (value | |
. | |
rest) | |
(set! X_MSO | |
value) | |
(#%app | |
call-with-values | |
(lambda () | |
(#%app | |
apply | |
values | |
rest)) | |
(lambda (value | |
. | |
rest) | |
(set! Y_MSO | |
value) | |
(#%app | |
call-with-values | |
(lambda () | |
(#%app | |
apply | |
values | |
rest)) | |
(lambda (value | |
. | |
rest) | |
(set! Z_MSO | |
value) | |
(#%app | |
call-with-values | |
(lambda () | |
(#%app | |
apply | |
values | |
rest)) | |
(lambda (value | |
. | |
rest) | |
(set! VALx | |
value) | |
(#%app | |
call-with-values | |
(lambda () | |
(#%app | |
apply | |
values | |
rest)) | |
(lambda (value | |
. | |
rest) | |
(set! VALy | |
value) | |
(#%app | |
call-with-values | |
(lambda () | |
(#%app | |
apply | |
values | |
rest)) | |
(lambda (value | |
. | |
rest) | |
(set! VALz | |
value) | |
(#%app | |
call-with-values | |
(lambda () | |
(#%app | |
apply | |
values | |
rest)) | |
(lambda () | |
(#%app | |
values))))))))))))))))) | |
(#%app | |
values)))) | |
(let-values (((time-stamp) | |
'())) | |
(let-values (((x_traj_mso) | |
'())) | |
(let-values (((y_traj_mso) | |
'())) | |
(let-values (((z_traj_mso) | |
'())) | |
(let-values ((() | |
(begin | |
(#%app | |
call-with-values | |
(lambda () | |
(#%app | |
apply | |
values | |
(let-values (((one-trajectory-row7) | |
one-trajectory-row)) | |
(if (#%app | |
variable-reference-constant? | |
(#%variable-reference | |
string-split25)) | |
(#%app | |
string-split | |
'#f | |
'#t | |
one-trajectory-row7 | |
unsafe-undefined) | |
(#%app | |
string-split25 | |
one-trajectory-row7))))) | |
(lambda (value | |
. | |
rest) | |
(set! time-stamp | |
value) | |
(#%app | |
call-with-values | |
(lambda () | |
(#%app | |
apply | |
values | |
rest)) | |
(lambda (value | |
. | |
rest) | |
(set! x_traj_mso | |
value) | |
(#%app | |
call-with-values | |
(lambda () | |
(#%app | |
apply | |
values | |
rest)) | |
(lambda (value | |
. | |
rest) | |
(set! y_traj_mso | |
value) | |
(#%app | |
call-with-values | |
(lambda () | |
(#%app | |
apply | |
values | |
rest)) | |
(lambda (value | |
. | |
rest) | |
(set! z_traj_mso | |
value) | |
(#%app | |
call-with-values | |
(lambda () | |
(#%app | |
apply | |
values | |
rest)) | |
(lambda () | |
(#%app | |
values))))))))))) | |
(#%app | |
values)))) | |
(let-values (((cal) | |
(lambda (val) | |
(#%app | |
/ | |
(#%app | |
* | |
val | |
(#%top | |
. | |
Bsw)) | |
(#%top | |
. | |
B0))))) | |
(#%app | |
list | |
'TR | |
(#%app | |
list | |
'TD | |
time-stamp) | |
(#%app | |
list | |
'TD | |
X_MSO) | |
(#%app | |
list | |
'TD | |
Y_MSO) | |
(#%app | |
list | |
'TD | |
Z_MSO) | |
(#%app | |
list | |
'TD | |
(#%app | |
number->string | |
(#%app | |
cal | |
(#%app | |
string->number | |
VALx)))) | |
(#%app | |
list | |
'TD | |
(#%app | |
number->string | |
(#%app | |
cal | |
(#%app | |
string->number | |
VALy)))) | |
(#%app | |
list | |
'TD | |
(#%app | |
number->string | |
(#%app | |
cal | |
(#%app | |
string->number | |
VALz)))))))))))))))))))) | |
fold-var)))) | |
(#%app values fold-var)))) | |
(if (if (if all-cont?/pos | |
(#%app all-cont?/pos pos) | |
'#t) | |
(if (if all-cont?/pos | |
(#%app all-cont?/pos pos) | |
'#t) | |
(#%app not '#f) | |
'#f) | |
'#f) | |
(#%app | |
for-loop | |
fold-var | |
(#%app pos-next pos) | |
(#%app pos-next pos)) | |
fold-var)) | |
fold-var)) | |
fold-var))))) | |
for-loop) | |
fold-var | |
init | |
init))))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment