windows - Hvad er mulige værdier for System.Info 'os' -funktionen i Haskell?

Indlæg af Hanne Mølgaard Plasc

Problem



Hvad er mulige værdier for 'os' -funktionen fra System.Info-pakken i standardbibliotekerne? [7]


Også: Er disse værdier pålidelige, er de bærbare på tværs af mange kompilatorer? Vil Hugs på Windows returnere samme værdi som GHC på Windows?


Er der bedre måder at snuse for operativsystemet?

Bedste reference


Variablerne til GHC er hentet fra værktøjssuppen 'Autotools', værktøjssættet, der producerer de velkendte 'configure' -skrifter, der næsten altid bruges til at kompilere noget (./configure; make; make install). configure bruger en standard 'compiler identifikationsstreng' som x86\_64-unknown-linux-gnu til C compilere og beregner desuden et mere detaljeret sæt variabler, der identificerer værtsplatformen. Disse variabler bruges i den genererede Makefile af GHC, og denne fil producerer yderligere filen ghcplatform.h, du ser i filen Info.hs.


Næsten den samme fremgangsmåde bruges af HUGS til at få platformvariablerne, bortset fra at headerfilen hedder forskelligt (som du kan se i kildekoden, du linkede).


Da både GHC og HUGS98 på Windows er kompileret med MinGW og autotools, er variablerne ensartede på den platform.