대수적 효과(algebraic effects)
- 함수형 프로그래밍에서 '부수효과'를 다루는 방법 중 하나로, 프로그램의 특정 부분에서 발생하는 부수효과를 명시적으로 정의하고, 이를 나중에 처리할 수 있도록 하는 개념.
- 함수형 프로그래밍의 순수성을 유지하면서도 부수효과를 다루기 위함
- 대수적 효과는 프로그램에서 발생 할 수 있는 부작용을 일종의 "효과"로 정의한다.
- 예를들어 상태 변경 / 입출력 / 예외처리 등
- 프로그램 내에서 함수는 이러한 효과가 발생 할 수 있음을 선언할 수 있다.
- 실제로 효과가 발생 했을 때 이를 처리하는 코드를 별도로 작성 할 수 있다. 이는 함수가 순수함을 유지하면서도 부작용을 발생시킬 수 있게 한다.
- 대수적 효과는 Effects(특정 연산)과 Effect Handlers(연산이 일으키는 부수효과)로 이루어져있다.
- Effect Handler 는 Effect 가 발생하는 것에 대응해 호출되는 로직으로, 특정 동작을 실행하거나 특정 값을 리턴한다.
try-catch