2016-02-03 26 views
11

Jestem gotów uczyć się schematu. Chcę trzymać się R7RS, ponieważ jest to ostatni standard. Wydaje się jednak, że istnieje wiele fragmentacji w obecnych implementacjach Scheme, a większość z nich pozostaje w R5RS lub w części R6RS.Od 2016 r. Istnieje implementacja Scheme, która obsługuje 100% R7RS (małe) bez żadnych odchyleń?

Jedyne, co znalazłem, to część R7RS to Kawa, ale ponieważ działa na JVM, nie obsługuje optymalizacji połączeń końcowych, co jest mocnym argumentem przeciwko tej implementacji.

Czy świat Scheme jest tak podzielony, że nie ma jeszcze pełnej implementacji R7RS? Pytam, bo jeśli nie, to jak tylko nadgonię, planuję zbudować jeden; ale jeśli taki istnieje, lepiej byłoby nie odkrywać koła i nie przyczyniać się do tej konkretnej implementacji.

Proszę, jeśli masz informacje, byłbym wdzięczny nie tylko za odpowiedź z nazwiskami, ale także z odpowiednimi dodatkowymi informacjami (oficjalna strona internetowa wdrożenia lub nawet wyciąg z grupy dyskusyjnej byłby przydatny jako odniesienie).

A tak przy okazji, nie biorę pod uwagę Racket, ponieważ to już nie jest Schemat.

+0

To dobrze sformułowane, konkretne, dobrze napisane i podlegające odpowiedzi pytanie. Jednakże: "** Pytania z prośbą o zalecenie lub znalezienie książki, narzędzia, biblioteki oprogramowania, samouczka lub innych zasobów poza siedzibą są nie na temat Stack Overflow **, ponieważ mają tendencję do przyciągania opinii i spamu." Odpowiedzi na to pytanie staną się nieaktualne z czasem (mimo że dodano "od 2016" do pytania) i nieaktualne. Nie nadaje się do "kanonicznej" wiedzy. –

+0

W jaki sposób rakieta nie jest już planowana? Poważne pytanie. – kristianp

Odpowiedz

12

Przewodniczący komitetu R7RS Small Language ("Working Group 1") Alex Shinn stworzył Chibi Scheme jako standard ewoluowany. Uważam, że jest w pełni zgodny. Jest to kompilator kodu bajtowego.

Larceny ma głównie (całkowicie?) Zgodny tryb R7RS i kompiluje się do kodu maszynowego.

Gram z Picrin, który ma na celu zgodność z R7RS i jest bardzo blisko. Jest to kompilator kodu bajtowego.

list of implementations które dążą do zgodności R7RS na wiki komisji należą:

  • Chibi
  • kurczaka (częściowe)
  • Foment
  • Gauche
  • Guile (częściowe)
  • Łuska
  • Kawa
  • Larceny
  • Mosh (częściowe)
  • Picrin
  • Strzelec
+0

Znalazłem niektóre z nich z powyższej listy, ale jest ich wiele, które nie zostały zaktualizowane od 2015 (np. Foment) lub Gauche (2014). Jednak Chibi wydaje się być w 100% zgodny. Przyjrzę się i na tym opowiem, wybierz odpowiedź. – addictedtohaskell

+0

Rzeczywiście, Chibi Scheme jest w pełni zgodny ze standardem R7RS. Ma również kilka wdrożonych SRFI, co czyni go najlepszą opcją teraz i mam nadzieję, że przez długi czas. – addictedtohaskell

+1

Gauche jest aktywnie rozwijany i już jest zgodny z R7RS z wyjątkiem kilku drobnych przypadków. Tylko autor (ja) jest zbyt leniwy, by wydawać wydawnictwa. – shirok

4

Chociaż pytanie wyraźnie wyklucza Rakieta z uwagę jako nie schemacie I wskazują Racket package "R7RS" realizujący R7Rs małe.

Istnieją pewne małe niezgodności udokumentowane na stronie projektu.