Pay attention to yourselves! If your brother sins, rebuke him, and if he repents, forgive him, and if he sins against you seven times in the day, and turns to you seven times, saying, ‘I repent,’ you must forgive him.” (Speaking of brother in the neighbor sense, not as a brother in Christ) Luke 17:3-4
The verse above indicates that we rebuke a person who sins, not forgive them. If he repents, we are to forgive him. Forgiveness is transactional. It’s a covenant of sorts: an agreement between two people. The pattern of church discipline in Matthew 18 is similar. We are not to receive a believer who has sinned grievously back into fellowship until he has repented of his sin.
There is no example in the Bible where a sinner is clearly unrepentant and is forgiven anyway, where he is absolved of all the punishment of sin. Forgiveness is meaningless unless it has an effect, and its effect is the mutual reconciliation of two parties, which can only take place if both parties are willing. If I invite guests into my home, and they steal from me and don’t regret stealing from me, why would I invite them back into my home? My forgiveness means nothing to them, because they don’t believe they’ve done anything wrong.
I think that we often confuse forgiveness with love. We are not commanded to forgive our enemies, but we are commanded to love everyone (Matthew 5:44). Forgiveness is a contract. Love, on the other hand, is not.