Skip to content

[idea] Introduce stdlib-fpm (forlab) as dev-dependencies in fftpack #12

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

Closed
zoziha opened this issue Sep 3, 2021 · 6 comments · Fixed by #26
Closed

[idea] Introduce stdlib-fpm (forlab) as dev-dependencies in fftpack #12

zoziha opened this issue Sep 3, 2021 · 6 comments · Fixed by #26

Comments

@zoziha
Copy link
Contributor

zoziha commented Sep 3, 2021

In the process of fftpack for example and testing, routines such as check, is_close, and disp are needed (for convenience). I personally think that it is possible to introduce stdlib-fpm and forlab dependencies only as dev-dependencies.

stdlib-fpm

I have submitted a PR (see fortran-lang/stdlib#508) in stdlib to support the stdlib-fpm branch through github-ci, and now I use LKedward/stdlib-fpm, I think I can switch to fortran-lang/stdlib-fpm in the future.
Since fortran-lang/stdlib-fpm is not yet supported, I introduced forlab. When stdlib-fpm is implemented, I will remove forlab.

hilbert transform

I implemented the hilbert transform function in my branch (see add_hilbert), which introduced stdlib-fpm and forlab as dev-dependencies.
Using the dev-dependencies feature of fpm means that it is not convenient for us to support the more make test of the make tool in the future.

@zoziha zoziha changed the title [idea] Introduce stdlib-fpm (forlab) as dev-dependencies in fftpack [idea] Introduce stdlib-fpm (forlab) as dev-dependencies in fpm.toml for dev-dependencies Sep 3, 2021
@zoziha zoziha changed the title [idea] Introduce stdlib-fpm (forlab) as dev-dependencies in fpm.toml for dev-dependencies [idea] Introduce stdlib-fpm (forlab) as dev-dependencies in fftpack Sep 3, 2021
@awvwgk
Copy link
Member

awvwgk commented Sep 5, 2021

An alternative for getting check from stdlib_error is using the check function from test-drive. Variants of test-drive are already used in fpm, toml-f, and fhash and we are in the progress of porting stdlib's testing to it as well.

If you are interested in trying it out for fftpack let me know. The main issue is of course supporting a Makefile, therefore we had to redistribute it in stdlib, which is not the best way of handling dependencies.

@zoziha

This comment was marked as outdated.

@hsnyder
Copy link
Contributor

hsnyder commented Sep 9, 2021

My preference would be for this repository to have no dependencies. I would be willing to make an exception for stdlib, but only one it has stabilized a little bit more and there's an official release number tag that we can point to as the dependency.

@zoziha
Copy link
Contributor Author

zoziha commented Sep 10, 2021

Is it possible for the fortran-lang organization to develop a Fortran test framework (this is needed when developing code, fpm, stdlib, and fftpack have this requirement)? From my point of view, this is practical and not so difficult, but it needs to be standardized and is widely recognized by the community.
Using stdlib-fpm as a test library seems to be a rogue act, stdlib is relatively large, and it is unreasonable to introduce stdlib-fpm just for testing.

@certik
Copy link
Member

certik commented Sep 10, 2021

@zoziha I know @awvwgk had to develop a test framework for stdlib recently. I agree with @hsnyder that it would be nice to keep the dependencies low. I believe Cargo allows to specify dependencies just for tests, that are not used if only the library (without tests) is used. So that might be the way to go.

CC @milancurcic, @LKedward, @everythingfunctional for more feedback.

@everythingfunctional
Copy link
Member

fpm also allows to specify dependencies just for tests, so that users of the library will not have to download and compile the things used only for testing.

As for an available Fortran test framework, I have written one (vegetables) and I'm currently in the process of trying to greatly improve the documentation and write a tutorial. I believe @awvwgk also has a standalone version of the framework he developed for stdlib.

@zoziha zoziha linked a pull request Feb 17, 2022 that will close this issue
2 tasks
@zoziha zoziha closed this as completed in #26 May 7, 2022
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

Successfully merging a pull request may close this issue.

5 participants