
@greg I’m sorry I have no idea what Racket mode is.

Emacs major and minor modes for Racket: edit, REPL, check-syntax, debug, profile, and more.


@spdegabrielle Thanks, I’ve never really used Emacs, I’m a Vi kind of guy.

@mark.warren I think vi/vim have LSP support now?

@spdegabrielle Sorry I’m a bit groggy today, what is LSP?

@mark.warren It’s the <https://microsoft.github.io/language-server-protocol/|language server protocol>

And yes, you can use LSP with Vi/Vim.

Excellent, thanks I will have a look at that.

The basic idea is that with LSP you use language servers for n languages + m language-independent editor plugins instead of n * m combinations for all languages and editors.

Sounds good, I’ve usually just used DrRacket, I’ve never thought of using Vi

I mostly use Neovim for Racket programming, with DrRacket for debugging and sometimes for the REPL.

It is quite common for people to use their preferred editor for day to day and switch to DrRacket for specific tasks. (We did a survey about 3 years ago)

There have been many improvements to the following since then • DrRacket performance • VIM LSP support • The racket langserver • Emacs Racket Mode It would be interesting to know if it has changed

What is the Right(TM) way of flattening a sequence of sequences?

Just one level? If it’s a list, append*
would do the job

If it’s a general sequence, perhaps:
(for*/<your-favorite-sequence-constructor> ([s seq] [x s]) x)

If it’s several levels, then flatten
.

I like the for*
one because it will probably make use of yesterday’s topic define-sequence-syntax
.

thanks

is there an optimized datastructure to maintain a set of symbols (like integer-set
but for symbols)?

Try seteq

thanks

But if that’s somehow not fast enough, also try hasheq
that maps to #t

Re: vi/vim, the page for that in the docs has seen some recent updates thanks to your truly, though i don’t know if/when they will go live :( I use vim to write racket programs and have tried to improve the experience in a few ways, including getting ALE to support racket-langserver.

Thank you @ben.knoble :grinning:

Just popping into the discussion to praise everyone here. This is easily the longest, cordial discussion I’ve seen where both Emacs and Vi were mentioned and the thread didn’t immediately go nuclear. :stuck_out_tongue_winking_eye:

Does anyone know what it takes to get a PR to the docs go live on https://docs.racket-lang.org/guide ? (I’m referring specifically to https://github.com/racket/racket/pull/4089)

At some point I knew how to get the “nightly” documentation - but I now I can’t find it.

it should be in the nightlies , and in 8.4 when released. Looks good.


(I overlooked the “Documentation” link on this page: https://www.cs.utah.edu/plt/snapshots/ )


Looks great!


It’s not Lisp. :wink:

:rolling_on_the_floor_laughing: