ai_advent_code_2024/lib/advent_code2024/solution.ex

29 lines
766 B
Elixir

defmodule AdventCode2024.Solution do
@moduledoc """
Behaviour module defining the interface for Advent of Code daily solutions.
"""
@doc """
Solves Part 1 of a daily challenge.
## Parameters
- input_file: Path to input file
## Returns
- `{:ok, result}` where result is the solution
- `{:error, reason}` if processing fails
"""
@callback solve(input_file :: String.t()) :: {:ok, any()} | {:error, String.t()}
@doc """
Solves Part 2 of a daily challenge.
## Parameters
- input_file: Path to input file
## Returns
- `{:ok, result}` where result is the solution
- `{:error, reason}` if processing fails
"""
@callback solve_part2(input_file :: String.t()) :: {:ok, any()} | {:error, String.t()}
end