ds26gte / pyret-lang

The Pyret language.
Other
2 stars 0 forks source link

Implementing (require ....) #5

Closed schanzer closed 8 years ago

schanzer commented 8 years ago

Okay, so actually not such a low priority... Currently, wescheme (require..) statements allow two kinds of modules: built-ins (drawn from a list defined in modules.js) and user-created modules (denoted as wescheme/XXXX).

We have a lot of modules already written for WeScheme, and a few teachers have made their own. It would be phenomenal to be able to use these in Spyret, and free Emma and I up from rewriting complex WeScheme modules in Pyret. Is this possible?

schanzer commented 8 years ago

(require ...) needs more discussion.

Some design proposals: 1) We will always need the ability to import teachpacks/modules in some form for Bootstrap:1. I'm assuming it's a much easier design philosophy to say that racket programs can only require modules written in racket, yes?

2) However, with the move to GDrive, it seems fair to say that the only files that can be required are either built-ins (ie - "bootstrap2012/bootstrap-teachpack") or those with a Drive ID. Agreed?

3) This means there are two dependencies on this issue: making the built-in modules available in Spyret, and setting up the GDrive integration to allow for opening/saving .rkt files.

schanzer commented 8 years ago

For the mid-to-long-term future, I'd like to allow require to still take wescheme/XYZ as an argument. This would then load a shared file from wescheme.org, allowing us to leverage user-created teachpacks and smooth the transition down the road.

schanzer commented 8 years ago

moved to CPO