Faits : Faits : A. En 1986, la Banque X._ a octroyé à la société B._ SA deux crédits pour un montant total de 1'000'000 fr. Le 3 février 1988, la limite de ces crédits, regroupés en un seul, a été augmentée à 2'000'000 fr., la société A._ SA s'étant portée caution solidaire de B._ SA à concurrence de 1'000'000 fr. En juillet 1988, la limite de crédit a été augmentée à 3'000'000 fr., A._ SA s'engageant en qualité de codébitrice solidaire pour le montant supplémentaire de 1'000'000 fr., qui a ensuite été ramené à 600'000 fr. Par convention de cession d'actions et de créances du 3 mai 1989, A._ SA a cédé ses 30 actions de la société B._ SA à C._ SA, devenue par la suite D._ SA, qui reprenait les engagements de A._ SA en qualité de caution et de débitrice solidaire de B._ SA envers la Banque X._. Par convention de cession d'actions et de créances du 3 mai 1989, A._ SA a cédé ses 30 actions de la société B._ SA à C._ SA, devenue par la suite D._ SA, qui reprenait les engagements de A._ SA en qualité de caution et de débitrice solidaire de B._ SA envers la Banque X._. B. Par lettre du 5 octobre 1991, la Banque X._, se prévalant de l'insolvabilité de B._ SA, a mis en demeure A._ SA de s'acquitter des montants garantis, soit 1'600'000 fr., jusqu'au 30 octobre 1991. Le 5 novembre 1991, elle a introduit une poursuite contre A._ SA pour le montant en capital et intérêts. Par ordonnance du 13 août 1992, le Président du Tribunal civil de l'arrondissement de la Sarine a refusé de prononcer la mainlevée provisoire de l'opposition formée par la poursuivie. Le 9 octobre 1992, la Banque X._ a introduit deux nouvelles poursuites pour les sommes de 1'000'000 fr. et 600'000 fr., qui ont été frappées d'opposition. Par demande du 20 décembre 1993, elle a ouvert action contre A._ SA en paiement de 600'000 fr. devant les autorités judiciaires genevoises. Cette demande a été retirée le 12 janvier 1994 par la Banque Y._, qui avait repris les droits et obligations de la Banque X._ au 1er janvier 1994. En mars 1996, D._ SA a été radiée du registre du commerce pour le motif qu'elle n'avait plus d'actifs. Le 9 octobre 1992, la Banque X._ a introduit deux nouvelles poursuites pour les sommes de 1'000'000 fr. et 600'000 fr., qui ont été frappées d'opposition. Par demande du 20 décembre 1993, elle a ouvert action contre A._ SA en paiement de 600'000 fr. devant les autorités judiciaires genevoises. Cette demande a été retirée le 12 janvier 1994 par la Banque Y._, qui avait repris les droits et obligations de la Banque X._ au 1er janvier 1994. En mars 1996, D._ SA a été radiée du registre du commerce pour le motif qu'elle n'avait plus d'actifs. C. Le 20 juillet 1998, la Banque Y._ a ouvert action contre A._ SA en paiement de 1'600'000 fr. en capital devant le Tribunal civil de l'arrondissement de la Sarine, en se prévalant de la qualité de caution et débitrice solidaire de la défenderesse. Cette dernière a conclu au rejet de la demande. Par jugement du 10 octobre 2005, le Tribunal a fait droit aux conclusions de la demande. Par jugement du 10 octobre 2005, le Tribunal a fait droit aux conclusions de la demande. D. Statuant par arrêt du 26 septembre 2006 sur recours en appel de la défenderesse, la Ire Cour d'appel du Tribunal cantonal de l'État de Fribourg a confirmé le jugement de première instance. La motivation de cet arrêt, dans ce qu'elle a d'utile à retenir pour l'examen du recours, est en substance la suivante: D.a Le Tribunal de première instance a estimé que la procédure n'avait pas permis de démontrer une modification des engagements correspondant à la libération pure et simple de la défenderesse. Celle-ci le conteste en appel et affirme que la demanderesse a accepté la reprise de ses engagements de caution et de débitrice solidaire par C._ SA, devenue par la suite D._ SA. Elle se prévaut à cet égard notamment du retrait de l'action en paiement devant les autorités judiciaires genevoises, de l'adoption de comptes annuels de A._ SA ne mentionnant plus les engagements litigieux, de l'établissement par la demanderesse d'attestations de relations commerciales ne mentionnant aucun cautionnement ou garantie et de l'absence de mention de ces créances dans deux conventions de postposition conclues les 20 février et 5 septembre 1997 entre les parties au présent litige. D.b En matière de reprise de dette, l'art. 176 CO dispose que le remplacement de l'ancien débiteur et sa libération s'opèrent par un contrat entre le reprenant et le créancier (al. 1); l'offre de conclure ce contrat peut résulter de la communication faite au créancier par le reprenant ou, avec l'autorisation de celui-ci, par l'ancien débiteur, de la convention intervenue entre eux (al. 2); le consentement du créancier peut être exprès ou résulter des circonstances (al. 3). En l'espèce, la procédure n'a pas permis d'établir que la convention du 3 mai 1989 qui prévoyait une reprise de dette interne aurait été portée à la connaissance de la banque créancière dans les mois qui ont suivi sa signature, ni que C._ SA aurait rempli l'engagement qu'elle avait pris envers A._ SA d'entreprendre les démarches nécessaires envers la banque afin de reprendre à son nom, avec l'accord de cette dernière, les engagements de A._ SA. D.c On ne saurait par ailleurs déduire du fait que la demanderesse n'a pas ouvert action ensuite du refus de la mainlevée dans la poursuite qu'elle avait introduite le 5 novembre 1991, ni du fait qu'elle a retiré la demande qu'elle avait déposée le 20 décembre 1993 (cf. lettre B supra), qu'elle aurait accepté par là la substitution de société en qualité de caution ou de débitrice solidaire. Il en va de même en ce qui concerne le fait que dès 1992, A._ SA a supprimé de ses comptes ses engagements hors bilan en qualité de caution et débitrice solidaire de B._ SA envers la demanderesse. D'une part, en effet, il s'agit d'un acte unilatéral de A._ SA. D'autre part, l'absence de réaction de la demanderesse à cette suppression ne saurait être considérée comme l'admission du fait que la défenderesse était libérée de ses engagements, et cela même si les bilans étaient portés à sa connaissance et si l'un ou l'autre de ses cadres assistait aux assemblées générales de A._ SA. D.d Pour les années 1994 à 1996, la demanderesse a délivré des attestations de relations commerciales concernant A._ SA, qui contenaient l'indication «néant» sous la rubrique «cautionnements et garanties». De plus, lors des opérations d'assainissement de A._ SA, il n'a pas du tout été question de ces garanties, et la demanderesse a conclu avec la défenderesse deux conventions de postposition les 20 février et 5 septembre 1997 sans faire aucune mention de ces garanties. L'absence de mention de ces engagements, que ce soit par oubli ou à cause d'une mauvaise organisation de la demanderesse, ne saurait être assimilée à l'acceptation d'une substitution de garant, une telle acceptation devant à tout le moins être consciente, ce que la procédure n'a pas établi. D.e La défenderesse ne saurait par ailleurs se prévaloir du moyen tiré de l'art. 496 al. 2 CO, qui permet à la caution de s'opposer à la prétention du créancier en soulevant une exception appelée bénéfice de discussion. En effet, invoqués pour la première fois en procédure d'appel, l'exception et les faits y relatifs sont irrecevables pour cause de tardiveté (cf. art. 299a al. 3 CPC/FR). Enfin, la défenderesse ne saurait se prévaloir de l'art. 511 al. 3 CO, selon lequel la caution dont l'engagement a été donné pour un temps indéterminé est libérée si le créancier ne satisfait pas à la sommation de poursuivre juridiquement l'exécution de ses droits. En effet, la défenderesse n'a jamais allégué avoir demandé à la banque d'agir contre la débitrice principale B._ SA. Enfin, la défenderesse ne saurait se prévaloir de l'art. 511 al. 3 CO, selon lequel la caution dont l'engagement a été donné pour un temps indéterminé est libérée si le créancier ne satisfait pas à la sommation de poursuivre juridiquement l'exécution de ses droits. En effet, la défenderesse n'a jamais allégué avoir demandé à la banque d'agir contre la débitrice principale B._ SA. E. Parallèlement à un recours de droit public, qui a été rejeté dans la mesure de sa recevabilité par arrêt de ce jour, la défenderesse exerce un recours en réforme au Tribunal fédéral contre l'arrêt cantonal. Elle conclut, avec suite de dépens de toutes instances, à la réforme de l'arrêt attaqué dans le sens du rejet de la demande. La demanderesse conclut avec suite de frais et dépens au rejet du recours.