google / google/codeworld

Custom CodeWorld configurations

Ouverte
#138 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
discussion
Langage dominant
Haskell
Étoiles
1.3k
Forks
201
Métriques de merge des PR
Aucune PR mergée en 30 j

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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par examiner les configurations existantes de core et Haskell, puis étudiez les exigences de configuration et les questions d’UI listées. Clarifiez le fonctionnement attendu des bibliothèques, des options du compilateur, du traitement des erreurs, du prétraitement du code source et de la sélection des configurations. Le travail sera considéré comme terminé lorsqu’une conception de configuration approuvée et une méthode définie pour ajouter et sélectionner des configurations existeront.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
haskell
Domaine
build-system, compilers, tooling
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.