ben
2017-11-17 17:04:43

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


ben
2017-11-17 17:05:25

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


apg
2017-11-17 17:10:18

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


samth
2017-11-17 18:35:36

@ben that’s intentional


samth
2017-11-17 18:35:54

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


apg
2017-11-17 19:23:56

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


samth
2017-11-17 19:45:21

Yes


pknight24
2017-11-17 19:56:04

@pknight24 has joined the channel


ben
2017-11-17 20:03:03

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


samth
2017-11-17 20:03:41

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


ben
2017-11-17 20:04:38

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


ben
2017-11-17 20:04:49

and things in that list can be mapped to filesystem locations


ben
2017-11-17 20:04:58

then the flag would assert that they all exist


ben
2017-11-17 20:05:38

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


slack1
2017-11-18 05:06:12

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


slack1
2017-11-18 05:06:37

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


slack1
2017-11-18 05:06:56

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


notjack
2017-11-18 05:07:38

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


notjack
2017-11-18 05:07:49

They’re two different list functions


slack1
2017-11-18 05:07:58

So requiring that module will overwrite list?


notjack
2017-11-18 05:08:36

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


notjack
2017-11-18 05:08:55

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


notjack
2017-11-18 05:09:21

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


slack1
2017-11-18 05:09:41

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


notjack
2017-11-18 05:10:01

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


notjack
2017-11-18 05:10:22

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


notjack
2017-11-18 05:11:19

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


slack1
2017-11-18 05:11:57

Oh I see, so it’s not tooo bad


slack1
2017-11-18 05:12:06

thanks for the help


notjack
2017-11-18 05:12:22

happy to help :)