
@hilaloytun has joined the channel

> anything that’s been around for a long time has some serious warts This is very true. I mean, just look at the x86 processor ISA.

how do you write dsls in racket without the beautiful-racket package?


after skimming it I do not think is very good. I did not see any mention about lexers, parsers and other important components

Have you looked at this page also: https://beautifulracket.com/appendix/from-br-to-racket-base.html\|https://beautifulracket.com/appendix/from-br-to-racket-base.html

huh… has typed/racket
’s type checking of match
always been so lacklustre?

(: stuff ((U 1 2) -> Symbol))
(define (stuff x)
(match x
[1 'one]))
Because this really shouldn’t typecheck

I challenge you to produce an input for which that returns something other than a symbol. :slightly_smiling_face:

If the question is “why doesn’t match (or match + typed racket) do pattern exhaustiveness checking” then that’s always been the case, and it’s very hard.

fair enough :wink:

but yeah I was asking about the exhaustiveness checking

@samth at the risk of opening a can of worms, why is it hard?