Skip to content

RickyTickyTavi/Conventional_War_Calculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

Conventional_War_Calculator

Taken using the theories of "The calculus of conventional war"

This was a program that was required by my university for our class titled "Principles of Programming languages". This project was used as a proof of concept to us how functional languages handle math and recursion very well. You can see the use of memoization in this program really helps with the recursive nature of the program.

It was taken from a Professor Joshua Epstein's (Brooking's Institute) paper called "The Calculus of Conventional War: Dynamic Analysis without Lanchester Theory".

It doesn't really do much besides calculate losses based on starting forces and attrition rates, but I think it's a pretty neat nonetheless.

COMPILATION::

To compile the program. The easiest would be to simply double click on it if you already have the Haskell terminal. If you dont already have the platform, go here: https://www.haskell.org/downloads/#platform and follow the instructions.

There are 3 commands you will have to type in order to see every value required of the project. They all match Epstein's values so please check them if you wish.

COMMANDS AND USAGE::

First command: forces(type exactly as seen)

an input prompt will ask you for the values you wish to see
type the units you wish to see and give the number of days on the second input prompt. (DO NOT ENTER THE DAY BEFORE YOU ARE   PROMPTED) Everything needs to be typed very exact to work.

type: attackingForces    -      you will see the number of attacking forces
type: defendingForces    -      you will see the number of defending forces
type: attackersAirSupport    -      you will see the number of attacking forces aircraft
type: defendersAirSupport    -      you will see the number of defending forces aircraft    

Second command: rates(same set of prelim instructions as above)

type: attackersAttrition    -      you will see the attacking forces attrition rate
type: defendersAttrition    -      you will see the defending forces attrition rate
type: attackersGroundProsecutionRate    -      you will see the rate of the attacking forces ground to ground prosecution
type: defendersWithdrawalRate    -      you will see the rate of the defenders retreat    

Third command: displacementOfFront (days argument goes here)- you will see the kilometers displaced by the battle ^^^^^ For this one, type in displacementOfFront followed by a number to see the values ^^^^^^^

Again, as long as the inputs are typed as they are given here, the program will work as intended.

Enjoy!

About

Taken using the theories of "The calculus of conventional war"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published