
Is there a parameter to raco make
that will instruct it to ignore any .dep
files? It seems like --no-deps
causes it not to generate them — so if I switch branches between a branch that uses that param and one that doesn’t I get errors because the existing .dep
files are out of date.

Or maybe I should skip that param… I thought I was potentially save some time/effort since I’m building .zo files in a way that doesn’t need the .dep
file…

Yeah, I want it to not rebuild dependent files…

@qianfan_chen has joined the channel

I’m not sure I’m following everything here, but there’s not currently a way to get raco make
to ignore “.dep” files.

Announcement: there’s going to be a biweekly discussion meeting on Rhombus open to all, starting next Thursday. See https://github.com/racket/rhombus-brainstorming/discussions/180\|https://github.com/racket/rhombus-brainstorming/discussions/180

I’d like some assistance writing macros that run during the template phase. I want to write an augmented version of ~?
- ~?*
- which takes any number of arguments. For example, these two macros would be functionally identical. #lang racket
(require syntax/parse/define)
(define-syntax-parser example-v1
[(_ (~or a:number b:str c:char))
#'(~? a
(~? b
c))])
(define-syntax-parser example-v2
[(_ (~or a:number b:str c:char))
#'(~?* a
b
c)])
I’d imagine that such a macro would be implemented in a manner similar to this: (define-syntax-parser ~?*
[(_ pattern other-pats* ...+)
#'((... ~?) pattern other-pats ...)]
[(_ pattern)
#'((... ~?) pattern)])
But I’m unsure about how to make a macro available in a manner similar to how ~?
and other syntax syntaxes operate. So far I’ve tried to put ~?*
into a submodule that I’ve require
d using for-template
, but have not yet had success with this method. Please advise!

In fact, #'
is a shorthand for syntax
and syntax
is itself a macro that specifically recognizes ~?
and expands it into if
. ~?
is not some template macro that runs. Therefore I don’t think it is extensible.
One possible approach I can think of is write another macro my-syntax
that expands to #'
and recognizes ~?*
. Another could be using this experimental library: syntax/parse/experimental/template
, template
and define-template-metafunction
https://docs.racket-lang.org/syntax/Experimental.html#%28mod-path._syntax%2Fparse%2Fexperimental%2Ftemplate%29

Is there a good recipe out there for handling/illustrating how to handle multiple platforms with ffi-lib
where the different platforms could be using different library names?

Is racket a good language for implementing compilers?

Here’s how the OpenSSL library is opened: https://github.com/racket/racket/blob/master/racket/collects/openssl/libssl.rkt
The same strategy is used for racket/draw
and racket/gui
libraries.

I would say “yes” and advocate Typed Racket specifically, but you’ll have to get a less biased opinion from others here…