notjack
2020-9-29 08:27:18

What sort of things do you use pointer equality for?


badkins
2020-9-29 16:33:20

Does raco check-requires have trouble with sub-modules? For example, with the following code: #lang racket/base (require "./foo.rkt" "./bar.rkt" "./baz.rkt") (module+ main (foo bar baz)) raco check-requires suggested dropping all of the requires; however dropping any of the requires causes compilation to fail.


sorawee
2020-9-29 17:04:24

badkins
2020-9-29 17:24:40

Ah, I just read Jack’s comment on the issue, and I think I do prefer having the require w/in the module+ here, so that’s solved it for me.


chansey97
2020-9-29 20:45:41

Why plt-r5rs can read (123abc)? Note that 123abc is not an identifier.

This is my experiment: test.manifest (123abc) ~\>plt-r5rs.exe Welcome to Racket v6.12. R5RS legacy support loaded > (with-input-from-file "test.manifest" (lambda () (read))) (123abc) > Following the R5RS specification, the 123abc is not an identifier.


chansey97
2020-9-29 20:46:06

soegaard2
2020-9-29 20:47:39

Section 2.1: Most identifiers allowed by other programming languages are also acceptable to Scheme. The precise rules for forming identifiers vary among implementations of Scheme, but in all implementations a sequence of letters, digits, and ``extended alphabetic characters'' that begins with a character that cannot begin a number is an identifier.


samth
2020-9-29 20:47:58

In R5RS, behavior that is not specified “is an error”, which means the implementation is free to behave as it pleases. While that program is not portable based on the R5RS guarantees, the specification intentionally allows Racket’s behavior.


soegaard2
2020-9-29 20:48:37

Truth be told - Racket usually interprets the spec in a “strict” sense.


samth
2020-9-29 20:49:15

@soegaard2 that’s true for R6RS but less so for R5RS


samth
2020-9-29 20:51:31

This program errors, for example: #lang r6rs (library (x) (export) (import) (define 123abc x))


soegaard2
2020-9-29 20:52:27

I seem to recall that brackets aren’t allowed in #lang r5rs :disappointed:


samth
2020-9-29 20:53:09

yes, that’s true


chansey97
2020-9-29 20:56:34

@soegaard2 This just tell me a identifier can not begin a number.


notjack
2020-9-29 20:57:50

@chansey97 The rule says “these are allowed”. It does not say “…and everything else is disallowed”


soegaard2
2020-9-29 20:57:56

“The precise rules for forming identifiers vary among implementations of Scheme,” was the important line. The spec only tells, which character sequences are guaranteed to be identifiers. It doesn’t rule any out.


notjack
2020-9-29 20:58:11

which is kind of loosey goosey and makes for a frustrating spec, but alas


chansey97
2020-9-29 20:59:51

@soegaard2 but it also says > but in all implementations a sequence of letters, digits, and ``extended alphabetic characters’’ that begins with a character that cannot begin a number is an identifier.


chansey97
2020-9-29 21:00:22

OK.


chansey97
2020-9-29 21:00:43

I know what it means…


soegaard2
2020-9-29 21:00:54

Yes, those sequences are guaranteed to be identifiers.


soegaard2
2020-9-29 21:04:25

:wink:


soegaard2
2020-9-29 21:05:08

It is pretty convenient: (define 2π (* 2 pi))


chansey97
2020-9-29 21:06:11

Sorry, in Racket we still can define a variable 123abc . I have tested. Some of my previous messages are wrong, I have to delete it.


soegaard2
2020-9-29 21:07:02

No worries, the history disappears after a month anyway.


chansey97
2020-9-29 21:07:35

Prevent misleading others:wink:


chansey97
2020-9-29 21:10:26

I just delete the previous wrong message. Thanks all :slightly_smiling_face:.


cris2000.espinoza677
2020-9-30 02:56:32

should drracket freeze a lot? because it does for me…


cris2000.espinoza677
2020-9-30 02:57:28

i m not sure if i can pinpoint all occurrences of it, what conditions met for it to happen… but maybe someone has a similar problem, im using windows 10 x64


jcoo092
2020-9-30 02:59:14

No, I wouldn’t say it should. When I was using it a bit on Win 10 some months ago, I can’t recall ever experiencing it freezing. I was only working with small single-file programs, though.