
I was wondering the same.


Not seeing a jobs channel, so: https://unc.peopleadmin.com/postings/222353 A great friend of mine, Jeff Terrell, is leaving his job at UNC and looking for a replacement. DM me for his info if you want to chat with him about the role or have questions. Current work includes teaching Programming Languages (in Racket!) and Clojure development. Jeff says the pay is pretty competitive for the position, too! (MS or more required.)


There is a jobs channel on discord.

More eyes here than in a new channel, so I’ll leave it. I did post in discord too

I just updated Racket from v8.3 to v8.4. I’m trying to build my lecture notes, which include a #lang lexer and reader for Java syntax, that have been working fine for years. Now with v8.4, I get hash-ref: contract violation
expected: hash?
given: #<procedure:...ava/lang/reader.rkt:23:2>
argument position: 1st
other arguments...:
'type
context...:
/usr/share/racket/pkgs/syntax-color-lib/syntax-color/module-lexer.rkt:143:0: module-lexer
/usr/share/racket/pkgs/scribble-lib/scribble/private/manual-code.rkt:118:12: loop
[repeats 2 more times]
/usr/share/racket/pkgs/scribble-lib/scribble/private/manual-code.rkt:112:0: get-tokens
/usr/share/racket/pkgs/scribble-lib/scribble/private/manual-code.rkt:56:0: typeset-code

Does anyone know what this means? Did the syntax-color/module-lexer change somehow between versions?

seems to have been changed in the syntax-color-lib module from v1.1 to v1.2 somehow?

https://github.com/racket/syntax-color/commit/c30f6009d348671f0062729eab71a6fa1572a013 is the relevant change

This looks like a bug to me. Even if it’s because you use it incorrectly somehow, there should be a contract violation elsewhere, not from within the library.

ok, I’ve managed to get around that crash at the moment, and now my reader appears to have completely lost the content of any comments

which does seem to track with that commit

do you happen to know how we’re now supposed to track the contents of comments?

So, that commit adds module-lexer*
, which is a variant of module-lexer
that provides more information, and it is used to make DrRacket be able to fade the S-exp comment. While I haven’t used module-lexer*
, I think it would be worth looking into it.

I would figure so…but I don’t see where in my code I even get there!

I’m using scribble’s code
, with #:lang java
to trigger into my reader/lexer. I don’t explicitly call module-lexer
myself anywhere

In my Racket code formatter, I use module-lexer
which is able to tell me where is the comment, but not what the comment is. I then simply re-read the file for the comment content.

But that’s #lang racket
. #lang java
is obviously going to be different, and I have no idea how it works there.

Hmm…

In any case, the change in that commit is supposed to preserve the existing behavior of module-lexer
. If your stuff breaks because of it, I’d suggest filing a bug report.

was afraid of that :disappointed: thanks for the help, though!