
would it make sense for raco make
to check that dependencies exist?

right now if a.rkt
depends on b.rkt
, and I compile them, then I delete b.rkt
, I can still compile and run a.rkt

@ben certainly seems reasonable for me to have a make
check dependencies. :slightly_smiling_face:

@ben that’s intentional

You don’t need to have the source file if you have the zo

@samth does that mean the .zo satisfies the dependency just the same as b.rkt then? And so the behavior does check dependencies?

Yes

@pknight24 has joined the channel

okay then, I’ll try adding a flag to raco make

@ben what exactly would the flag do in that case?

well I’m hoping raco make file.rkt
has a list of things file.rkt
depends on

and things in that list can be mapped to filesystem locations

then the flag would assert that they all exist

in my case I just had (require "file.rkt")
and I’d renamed "file.rkt"
to something else

I was reading under the Racket functional data structures section in the docs, and I found a mention of vlists

and I noticed the examples used the function name list
, as opposed to something like vlist

Is it the case that Racket secretly implements list
as vlists or something?

@slack1 no, the pfds/vlist
module merely uses the same name

They’re two different list
functions

So requiring that module will overwrite list
?

Yes, assuming list
was imported from the current language (which happens when you use #lang racket
or #lang racket/base
)

if you try to require
two modules that define the same name you get a syntax error

but you can require
a module that defines the same name as a name defined by the #lang
used

oh I see hmm, that’s quite aggressive to take the same name

yes, it’s rather atypical for racket modules to do that

Using vlist
in all the function names would have been better, probably

one last note: if you want to use two different modules that both provide the same name you can use rename-in
and prefix-in
to change the names of stuff imported from the module, letting you get around the name conflict

Oh I see, so it’s not tooo bad

thanks for the help

happy to help :)