Physics::Unit in perl6

First and foremost, homage to the original authors of Physics::Unit and related perl5 CPAN modules. I would be honoured to hear from you and to collaborate in any way.

What’s the big picture? TOP down, I have in mind:

  • exploring the expressive and modelling potential of Grammars, Unicode, types and junctions for real people (well thinking high school level Physics teachers and students here)
  • providing a set of tools to help embed real Physics (and Maths) concepts into programmatic form with nouns (variables) and verbs (functions)
  • imagine a toolbox that can interpret and implement (e.g.) Mechanics laws of motion, formulae and expressions
  • such a thing would need a Grammar that can parse things like F=dp/dt (such as written in Latex or Unicode)
  • there are probably vector (and matrix) representations of things such as velocity
  • visual output of some form would be nice (plot this thing)

So, that said, given my poor state of knowledge of most of these things, my thinking is to start build BOTTOM up and see the shape of things that emerges, while learning some perl6 on the way.

So, first I am going to need some MEASUREMENTS which are VALUES expressed in UNITS with associated ERROR.

I took a gander at this CPAN module Physics::Udunits2 which is a perl5 interface to udunits2 and felt that the richness of it’s units and adherence to NIST guidelines were not of sufficient benefit to overcome my sense of incoherence.

So, to cut a long story short, decided to take inspiration from Physics::Unit .

Next, I needed some guidance on How to Build a perl6 module…