Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make a intro to DrRacket video #140

Open
spdegabrielle opened this issue Aug 26, 2020 · 1 comment
Open

Make a intro to DrRacket video #140

spdegabrielle opened this issue Aug 26, 2020 · 1 comment

Comments

@spdegabrielle
Copy link
Sponsor Member

Make a intro to DrRacket video
In the style of the 'take the tour' link (<1000 words <6 minutes) on IntelliJ page

Proposed script;

Racket comes with a powerful IDE to support developers.

DrRacket uses the language defined in the source to provide language specific tooling 

[switch between Racket and Datalog showing renaming identifiers, autocomplete, arrows ]

[back to standard racket]

DrRacket automatically indents code as you type
You can manually reindent a line by pressing [tab], selection, or the entire file [command]-i

[demonstrate]

You can use [ctrl]-. to activate autocomplete 

[show autocomplete]

As you type the region between matching parenthesis is shaded gray.

[show]

And opening and closing parenthesis are automatically changed to match

[show cond with closing square brackets]

There are a range of keybindings to efficiently navigate s-expressions, going forwards, backwards, descending or ascending, holding shift allows you to select as you move.

[demonstrate forward, back, down, up, the select -...]

Moving the mouse pointer will indicate identifier binding and usage with arrows, which can be pinned to aid navigation. 

[demo]

Keyboard shortcuts or context menus provide navigation back to an identifiers  binding location or forward to each use of the identifier,

[demo]

and all instances of an identifier can be renamed to aid refactoring.

[demo renaming]

The [(define ...)] button shows all definitions, clicking a definition name will move the cursor to that definition.

[demo]

Using [run] or [ctrl]-r will run the currently selected file

[demo]

The interactions panel will reset and  show if debugging or profiling is enabled, and display any output as it happens.

[demo]

While the interactions panel is reset to ensure it is consistent with the program, [esc]-p can be used to review and reuse previous commands.

[demo]

The Break button allows the user to interrupt evaluation;  one click will request, two clicks to kill the evaluation immediately.
[demo]

The Debug button launches the stepping debugger

[demo stepping debugger]

Sophisticated program analysis highlights identifiers and provides links to each identifiers definition and use. 


This functionality also enables signatures, and links directly to the relevant documentation.

[demo]

The Macro Stepper is a stepper for macro expansion, letting you inspect macro expansion as it happens.        

[demo of macro expansion while stepping]

While this recording has only provided a brief overview of the functionality available, DrRacket also has sophisticated extension mechanisms including, user defined keybindings, scripts, teachpacks, and plugins.


See the links below to learn more.


Thank you
@spdegabrielle
Copy link
Sponsor Member Author

This is distinct from to #137

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant