moodymudskipper / typed

Support Types for Variables, Arguments, and Return Values
162 stars 5 forks source link

Can we remove waldo dependency but still use it if it's there ? #7

Open moodymudskipper opened 3 years ago

moodymudskipper commented 3 years ago

It's nice for a package like {typed} to be dependy free, {waldo} has many dependencies itself, though all quite small I think.

{waldo} plays really well with this package though, so I want to use it. But we can use if(requireNamespace("waldo")) and move it to "Suggests" if we provide alternate errors.

Let's have something stable first though.

vikram-rawat commented 3 years ago

Everything that you are doing to create types can all be done through Rcpp quite efficiently without any imports

moodymudskipper commented 3 years ago

In the absolute sense I guess, though Rcpp will be the dependency then. But you'd have to reprogram {crayon} and {waldo} basically. Waldo in particular is quite amazing and does more than what my examples in Readme show.

nathaneastwood commented 3 years ago

You could maybe just go with {diffobj} by @brodieG: https://github.com/brodieG/diffobj

moodymudskipper commented 3 years ago

That's a good idea! {diffobj} depends only on {crayon}, which has no dependency. I think it will be a good compromise.

brodieG commented 3 years ago

Just an fyi, I have a long term plan to change the crayon dependency to fansi, which has no dependencies and will remain with no dependencies. I also generally try to keep dependencies at a minimum.

Aside, waldo currently imports diffobj, FWIW.

moodymudskipper commented 3 years ago

Thanks Brodie!