Обнаружение платформы (ОС) в схеме - PullRequest
4 голосов
/ 20 января 2012

Это должно быть что-то вроде этого:

(if (= system-type 'gnu/linux)
    (system "make"))

Если честно, я думаю, что моя схема реализации даже не может сделать это в любом случае, но я могу добавить реализацию для этого.Каков обычный синтаксис схемы для обнаружения платформы?

спасибо

Ответы [ 2 ]

7 голосов
/ 20 января 2012

Я не могу говорить ни о каких других схемах, но в Racket есть процедура, которая называется system-type:

> (system-type)
'unix
> (system-type 'machine)
"Linux ... x86_64 GNU/Linux"  ;; ellipses mine, output is same as `uname -a`
1 голос
/ 24 января 2012

И guile имеет функцию uname, которая возвращает описание в виде векторного объекта схемы:

scheme@(guile-user)> (uname)
$2 = #("Linux" "gblaptop" "2.6.39-gentoo-r3" "#4 SMP Fri Oct 21 08:12:17 PDT 2011" "i686")
...