Resolvendo um quebra-cabeça de madeira com 25 peças usando Haskell: Parte I
O autor recebeu um quebra-cabeça 3D desafiador composto por 25 peças de madeira idênticas e, após lutar para resolvê-lo manualmente, decidiu usar o poder da linguagem de programação Haskell. Esta é a primeira de uma série de duas partes que se concentra na modelagem do problema. O autor modela o espaço como uma grade 3D, usando vetores para representar posições e definindo estruturas de dados para uma única peça e sua disposição no espaço. O artigo detalha como a álgebra linear e os recursos do Haskell são usados para representar rotações e translações das peças, gerando uma lista de candidatos de todos os arranjos possíveis. O artigo termina com um suspense, deixando a solução de encontrar o arranjo correto entre os candidatos para a segunda parte.