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

Classes for problem construction/interpretation #6

Open
jmason42 opened this issue Dec 19, 2018 · 2 comments
Open

Classes for problem construction/interpretation #6

jmason42 opened this issue Dec 19, 2018 · 2 comments
Labels
enhancement New feature or request

Comments

@jmason42
Copy link
Contributor

While I prefer closer-to-the-board algorithm implementations, there are situations (and users) where some sort of modeling language is desirable. I'm not in favor of building an entire file format and parser, but rather setting up some programmatic tools for building, running, and intepreting a system, e.g. some sort of class (or a few classes - maybe a factory class for building a system, a class for holding the system, and a class for storing simulation results). For example, our current 'tests' implement the same interface via a function, but cementing that interface would allow us to assume a few strong things about those implementations.

@jmason42 jmason42 added the enhancement New feature or request label Dec 19, 2018
@prismofeverything
Copy link
Member

This is a longer term concern but I think it is good to start thinking about now at least. There is something I like about the purity of providing numpy arrays for everything, but I can see once we build enough of these problems patterns will emerge that we can convert into a set of interpretive level abstractions. A small language could even be fun, but that is for when we understand how people use it : )

@jmason42
Copy link
Contributor Author

One technical advantage of a modeling language/factory class is that it allows us to play around with different underlying representations without changing any interfaces (i.e. #8). But, as you say, it requires a better understanding of our use cases.

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

No branches or pull requests

2 participants