
Quickscript Competition:
https://www.cs.utah.edu/plt/snapshots/current/doc/quickscript/index.html\|Quickscript is the scripting functionality behind the DrRacket Scripts menu.
For the month of July we will be running a Quickscript competition: Write your own script and win prizes! There will be weekly winners in categories to be determined by the judges and overall awards at the end of the month. We follow Racket’s and the ACM’s <https://racket-lang.org/friendly.html|Code of Conduct>.
There will be amazing prizes! • An exclusive badge for your GitHub profile recognising your efforts and contribution to the community. • Socks/Mugs/Hats/Stickers with the Racket logo - to be announced on Racket Users mailing list/google group. Scripts licensed appropriately will be included in a package for installation and universal fame.
End date: 31-July
Getting started: <https://www.cs.utah.edu/plt/snapshots/current/doc/quickscript/index.html#%28part..Make_your_own_script_.First_simple_example%29|Getting started for the impatient> See quickscript-extra [https://github.com/Metaxal/quickscript-extra/blob/master/README.md\|readme] [https://github.com/Metaxal/quickscript-extra/tree/master/scripts\|scripts] for a bunch of useful and example scripts. Help and discussion will be available through the #quickscript-competition slack channel.
Once your script is ready, <https://github.com/Quickscript-Competiton/July2020entries/issues/new/choose|submit your entry>!
Need some *<https://github.com/Quickscript-Competiton/July2020entries/blob/master/IDEAS.md|ideas to get started>*?
Ann: https://groups.google.com/g/racket-users/c/FLy7hoLO-Bg/m/-CftPSg9AAAJ

Yes, Proust is what I call the Racket program (actually a series of programs as more features get built in).

Wow, I wasn’t familiar with DrRacket scripts - this looks really cool! Thanks for brining it to my/our attention @spdegabrielle

I wonder how close I can make DrRacket to my Emacs setup :slightly_smiling_face:

All thanks should go to @laurent.orseau for making the coolest and certainly most versatile plugin for DrRacket

Is there a place where useful scripts are shared? Or do/will people just publish them via a package?


They can be published as packages. For a script directory to be recognized by Quickscript, it must be ‘registered.’ This can be done manually by the user through the Script Library (menu Scripts > Manage Scripts > Library, then Add directory), or automatically by the package if it includes a file like this one: https://github.com/Metaxal/quickscript-extra/blob/master/register.rkt (then registration is done automatically on setup)

But otherwise copy/paste into a new script (Scripts > Manage scripts > New script…) also works :wink:

I wonder what the most frictionless way to share scripts would be - maybe a gist that is a collection of links to github repos w/ scripts? Of course, I’ve been writing elisp functions for Emacs for years, and I’ve never looked for such a registry, so maybe it’s enough for us all to write our own :slightly_smiling_face:

Sounds like you could write a script to automate this! :smile: Ask for a gist link and automatically create a new script from the contents?

Note that even if you install a collection of scripts from a package you can easily deactivate those you don’t want, from the Library.


Got an error with the <https://docs.racket-lang.org/quickscript/index.html|reverse example> - looks like selection is a list already?

Hmm… that doesn’t seem to be it, and now my DrRacket is hung :disappointed: Had to force quit

What’s the right way to get changes to rktio/Makefile.in
to propagate if I have built Racket with make cs-in-place
? If I do a subsequent cs-in-place
or cs-as-is
after an edit the rktio makefiles in the build directory remain unchanged. Am I doing it wrong?

There’s some discussion of that here: https://github.com/racket/racket/pull/3268

Ah, thanks, I saw that but hadn’t realized it was the same issue

Oh well, can’t get the script to load anymore - closed/opened DrRacket, recompiled scripts, reloaded menu, etc., but it’s no longer in the menu. I’m running 7.5. I’ll try again after I upgrade to a more recent version.

Oh, you probably named your script reverse
which shadows Racket’s reverse

No longer in the menu? That’s weird :thinking_face:

It is indeed the docs fault! Apologies…

Yes, I did name it reverse :slightly_smiling_face:

name it reverse-selection for example

I opened the library and it was disabled, so I enabled it and it reappeared in the menu.

Thanks for pointing this out!

Will fix asap

All fixed (the docs will be built tomorrow I suppose). Thanks for the help!

I don’t know that it’ s the same thing. There’s a dependency on rktio/Makefile.in
to e-run configure
in the reconfigure
target of racket/src/cs/c/Makefile.in
. But the top-level Makefile
doesn’t appear to use that reconfigure
target in the same way that it does for racket/src/Makefile.in
(on line 208 of the toplevel Makefile
, for example). Possibly, the cs-after-racket-with-abs-paths
should make the reconfigure
target after it makes racket/src/build/cs/c/Makefile
.

(One of my dreams is to create a simple Racket that builds easily and that can then drive the build for all other variants, so then we could replace the current ridiculous pile of makefiles with Racket code.)

@ellesailenesullivan has joined the channel

hello, i tried to use delete-child in #lang racket/gui on a vertical-pane and got this delete-child in area-container<%>: contract violation
expected: (is-a?/c subwindow<%>)
given: (object:vertical-pane% ...)
I am sure that vertical-pane% implements the interface as its super is pane% and that implements an interface that derives from area-container<%>

~i’ve found out that you can delete buttons using this method but not vertical-panes not even the ones whose parent is the main frame~ it seems that it’s just the vertical-pane that fails

you cannot delete children from pane objects, you need to use panel objects (e.g. vertical-panel%) if you want to modify the content

ooooh thank you

i was distracted and i really didn’t notice the difference in the names, i should’ve suspected when i was testing tab-pane*L*s and it was working fine