google / google/codeworld

Custom CodeWorld configurations

Open
#138 5 comments 0 reactions 0 assignees View on GitHub
discussion
Dominant language
Haskell
Stars
1.3k
Forks
201
PR merge metrics
No merged PRs in 30d

Description

A few people have expressed interest in more CodeWorld configurations. There are currently two: the core configuration, and the Haskell configuration.

Ideas for more configurations:
- Include a library for compass-and-ruler constructions a la geogebra created by Fernando Alegre.
- Include an embedded DSL for physics based on https://hackage.haskell.org/package/learn-physics by @walck
- Fixed long-term stable API versions for codeworld-base or codeworld-api, which would be guaranteed to remain fixed for a class, or even for a multi-year sequence.

Configurations would need:
1. Libraries that should be installed and made available.
2. Customized compiler options.
3. Custom error message processing. (And if we start preprocessing source code, custom plugins for that, too.)

There are open questions about the UI:
- How do you create a configuration? By sending a pull request and asking for a new site release?
- How do you select a configuration to use for your project? Currently, each configuration gets a different base URL and hash prefix.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.