mark.warren
2022-1-28 08:38:20

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


spdegabrielle
2022-1-28 08:40:02

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

http://www.racket-mode.com/\|www.racket-mode.com/



mark.warren
2022-1-28 09:53:59

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


spdegabrielle
2022-1-28 09:55:50

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


mark.warren
2022-1-28 09:57:40

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


sschwarzer
2022-1-28 10:03:02

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


sschwarzer
2022-1-28 10:03:33

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


mark.warren
2022-1-28 10:03:55

Excellent, thanks I will have a look at that.


sschwarzer
2022-1-28 10:06:34

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.


mark.warren
2022-1-28 10:07:55

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


sschwarzer
2022-1-28 10:10:34

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


spdegabrielle
2022-1-28 10:44:26

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)


spdegabrielle
2022-1-28 10:48:21

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


cperivol
2022-1-28 12:00:26

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


sorawee
2022-1-28 12:03:01

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


sorawee
2022-1-28 12:03:52

If it’s a general sequence, perhaps:

(for*/&lt;your-favorite-sequence-constructor&gt; ([s seq] [x s]) x)


sorawee
2022-1-28 12:04:15

If it’s several levels, then flatten.


cperivol
2022-1-28 12:05:17

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


cperivol
2022-1-28 12:05:20

thanks


cperivol
2022-1-28 12:31:01

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


sorawee
2022-1-28 12:31:38

Try seteq


cperivol
2022-1-28 12:31:57

thanks


sorawee
2022-1-28 12:31:58

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


ben.knoble
2022-1-28 14:01:35

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.


spdegabrielle
2022-1-28 15:11:45

Thank you @ben.knoble :grinning:


massung
2022-1-28 15:19:13

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:


ben.knoble
2022-1-28 16:50:06

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)


soegaard2
2022-1-28 16:51:47

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


spdegabrielle
2022-1-28 16:52:46

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



soegaard2
2022-1-28 16:53:29

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



spdegabrielle
2022-1-28 16:54:07

Looks great!



massung
2022-1-28 23:16:03

It’s not Lisp. :wink:


spdegabrielle
2022-1-28 23:51:33

:rolling_on_the_floor_laughing: