smlRozpoczęcie pracy z sml


Uwagi

Ta sekcja zawiera omówienie sml i dlaczego deweloper może chcieć z niego korzystać.

Powinien także wymieniać wszelkie duże tematy w sml i link do powiązanych tematów. Ponieważ Dokumentacja dla sml jest nowa, może być konieczne utworzenie początkowych wersji tych pokrewnych tematów.

Instalacja

Istnieje kilkanaście implementacji Standard ML. MLton produkuje bardzo zoptymalizowany kod, ale nie ma REPL . SML / NJ jest najczęściej używany, ale ma nieco trudne komunikaty o błędach do celów uczenia się. Łatwo zacząć od Moscow ML i Poly / ML , ale nie obsługują formatu pakietu .mlb. Nie jest to jednak niezbędne do rozpoczęcia pracy.

Oto instrukcje instalacji każdego z SML / NJ, Moscow ML i Poly / ML podzielonych według systemu operacyjnego.

W systemie Windows

SML / NJ:

Moskwa ML:

  • Wejdź na http://mosml.org/ i kliknij „Pobierz Win. Instalator”. Uruchom instalatora.
  • Masz teraz REPL np. W C:\Program Files (x86)\mosml\bin\mosml.exe .

Korzystanie z Homebrew na MacOS

SML / NJ:

  • Uruchom brew install smlnj jako własny użytkownik. Przetestuj REPL za pomocą smlnj .

Moskwa ML:

  • Wejdź na http://mosml.org/ i kliknij „Pobierz plik PKG”. Uruchom instalatora.
  • Brakuje ... Jak przetestować REPL? Czy jest teraz w $PATH ?

W systemie Ubuntu / Debian Linux

SML / NJ:

  • Uruchom sudo apt-get install smlnj jako superużytkownik. Przetestuj REPL za pomocą smlnj .

Moskwa ML:

  • (Ubuntu) Dodaj PPA jako superużytkownik. Przetestuj REPL z mosml .

    sudo add-apt-repository ppa:kflarsen/mosml
    sudo apt-get update
    sudo apt-get install mosml
     

Dodanie obsługi readline

Aby móc używać klawiszy strzałek do nawigowania po liniach wcześniej wpisanych w REPL, większość kompilatorów SML może skorzystać z programu rlwrap . Używając Homebrew na MacOS, zainstaluj to przez brew install rlwrap , a na Ubuntu / Debian Linux zainstaluj to przez sudo apt-get install rlwrap . Następnie w terminalu spróbuj wykonać następujące czynności:

alias mosml='rlwrap mosml -P full'
alias sml='rlwrap sml'
alias poly='rlwrap poly'
 

Te aliasy można dodać np. Do ~/.bashrc aby działały domyślnie.

Klawisz strzałki powinien teraz działać lepiej.