olliec87
2020-11-2 13:32:47

@olliec87 has joined the channel


kellysmith12.21
2020-11-2 14:47:03

Is it possible to adjust the reader and/or the expander such that procedure application is allowed only with parentheses, and syntactic forms are allowed with brackets other than parenthesis?


soegaard2
2020-11-2 14:48:09

Yes, you can control whether brackets are equivalent to parentheses or not.


soegaard2
2020-11-2 14:49:22

read-square-bracket-as-paren


kellysmith12.21
2020-11-2 14:52:30

I’m sorry, I’m unsure how I can use that to allow macros to be called with non-parentheses.


soegaard2
2020-11-2 14:53:24

Sorry - it only solves the first half. Preventing brackets to be interpreted as applications.


kellysmith12.21
2020-11-2 14:53:59

I think that i can solve it with read-square-bracket-with-tag.


soegaard2
2020-11-2 14:54:10

Yes, I think so too.


mflatt
2020-11-2 14:57:11

Another possibility is consult the 'paren-shape property: #lang racket/base (require (for-syntax racket/base)) (provide (except-out (all-from-out racket/base) #%app) (rename-out [round-app #%app])) (define-syntax (round-app stx) (syntax-case stx () [(_ . app) (if (eq? (syntax-property #'app 'paren-shape) #\[) (raise-syntax-error #f "bad application" stx) #`(#%app . app))]))


kellysmith12.21
2020-11-2 15:14:16

Thanks for the answers! This clears things up.


soegaard2
2020-11-2 19:55:37

soegaard2
2020-11-2 21:00:12

Bump. He has now installed 7.8 on Ubuntu, but has the same problem. Any ideas?


samdphillips
2020-11-2 21:27:26

FWIW I cannot reproduce on my Ubuntu running DrRacket 7.8 cs


soegaard2
2020-11-2 21:29:09

Do you have the same paths as he has?

for module path: eopl/tests/private/utils collection: "eopl/tests/private" in collection directories: /home/can/.racket/7.8/collects /usr/share/racket/collects ... [309 additional linked and package directories] sub-collection: "tests/private" in parent directories: /usr/share/racket/pkgs/eopl


samdphillips
2020-11-2 21:48:46

I do not, but I may be installing Racket atypically.


soegaard2
2020-11-2 21:49:51

I am confused by the last lines: drracket install: package is currently installed in a wider scope package: eopl installed scope: installation given scope: user


samdphillips
2020-11-2 21:50:00

I do a unix style install into /usr/local/stow/racket-$RACKET_VERSION and then use GNU stow to manage links and such so I can switch between versions semi-easily.


samdphillips
2020-11-2 21:50:33

eopl is in the base install so that’s what you see if you try to raco pkg install eopl


soegaard2
2020-11-2 21:51:37

Question is - Is the test directory always installed?


soegaard2
2020-11-2 21:52:25

Yeah, it should be. The package hasn’t got a -doc, -test or similar.