Skip to content

victor/lambda-rays

Repository files navigation

lambda-rays

Build Status

New Haskell project using stack template tasty-travis.

Please read file tutorial.md for first steps in using the template.

Notes

[x] Use vmap to avoid code repetition [ ] Refactor internal implementation to use a list, which will allow more expresiveness in algorithms

In this branch (generalization-attempt) I tried to make Quadruple not be bound to Double, but to use any type conforming to Floating (that is, Double or Float). This triggered a series of warnings about how the compiler was defaulting to using Double, but warnings are treated as errors and thus tests can't be built and run. Disabling -WError makes tests build and pass. See https://www.haskell.org/tutorial/numbers.html#sect10.4 https://www.haskell.org/onlinereport/decls.html#default-decls

If we force-cast all numbers used as function parameters to Double (as in the first test), or the first occurence in each shouldBe, then no warnings are raised. However, that much verbosity makes the code cumbersome to write and read. Therefore, we selectively disable those warnings with {-# OPTIONS_GHC -fno-warn-type-defaults #-}

About

Ray Tracer challenge, in Haskell

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published