Functional reactive programming (FRP) is a way of writing computer programs that react to changes in data over time. Think about a family vacation that you plan to take. You might have a dad, a mom, and two kids. To plan a successful family vacation, the dad and mom have to work together to figure out where to go and when.
FRP is like this, except you're programming instead of planning a family vacation. You can think of the data (like where and when to go on vacation) as the input, and the program is the output.
When you write an FRP program, you define the input (like the family vacation information mentioned above), and then the program reacts to these changing inputs over time. This means that the same input can cause different outputs based on how the data changes. You can think of it like a family constantly changing their destination plans and the program adjusting the plan accordingly.