"Amorfisms" (angļu: amorphism) ir termins, kas galvenokārt lietots programmēšanā un datorzinātnēs, kur tas apzīmē datu struktūras vai tipa dekonstrukciju (pretējs "anamorfismam", kas veido struktūru). Tas ir daļa no katamorfismu teorijas (recursiom shēmu teorijas) funkcionālajā programmēšanā.
Īsumā:
Amorfisms ir process, kurā no sarežģītas struktūras (piemēram, saraksta, koka) tiek iegūti vienkāršāki elementi vai vērtības, bieži izmantojot rekursīvu "atritināšanu" (unfold).
Piemēri:
1. Saraksta apstrāde funkcionālajā programmēšanā (Haskell)
Amorfisms var tikt realizēts ar `unfoldr`, kas no sākuma stāvokļa ģenerē sarakstu:
haskell
import Data.List (unfoldr)
-- Piemērs: ģenerēt sarakstu no skaitļa, dalot to ar 2, līdz tas kļūst 0
amorfismaPiemers :: Int -> [Int]
amorfismaPiemers n = unfoldr (\x -> if x == 0 then Nothing else Just (x, x `div` 2)) n
-- Izsaukums: amorfismaPiemers 10 → [10,5,2,1]
2. Koka struktūras dekompozīcija
Ja ir koks, kas attēlo izteiksmi (piemēram, `(2+3)4`), amorfisms var to "atritināt" virknē solī pa solim aprēķināmu darbību.
Svarīgi:
- Nekonfūzēt ar "amorfo" (bezformīgs) ķīmijā/fizikā (piemēram, amorfie materiāli).
- Programmēšanas kontekstā tas ir specializēts termins, kas saistīts ar recursion schemes un F-algebras.
Ja domājat par amorfismu citā nozīmē (piemēram, valodniecībā vai mākslā), lūdzu, norādiet kontekstu!
Jūsų pataisymai bus išsiųsti moderatorių peržiūrai, jei informacija tikslesnė/taisyklingesnė
ji bus patalpinta vietoj esamos.