2013-07-30 16 views
5

polyml'un Ubuntu (depodaki poliml olarak adlandırılır ve poly ile çalıştırılabilir) üzerinde kolayca yüklenebilen ML uygulamasıdır. Andrew Cumming tarafından A Gentle Introduction to ML'u takip ediyorum. polyml yorumlayıcısından birkaç dakika deney yaptıktan sonra, numaralı okuma bandını desteklemediğini fark ettim (yukarı ok tuşuna basmak bir ^[[A) üretir.Polyml yorumlayıcıya nasıl destek eklenir?

Bu, bir tercüman için normal görünmemektedir. Bu sadece yüklü bir okuyucu hattı yoksa ancak Python yorumlayıcım böyle davranmıyorsa yapılmalıdır.

+0

sml/nj, "smlnj" paketinin ubuntu altında mlton ("yalnızca" bir bütün programın birleşimcisi olmasına rağmen) olarak da kullanılabilir. –

cevap

7

doğal olarak desteklemeyen bir terminal programı taleb desteği eklemek için en basit yolu herhangi farklı olmamalıdır, rlwrap kullanarak programı çağırmaktır . Aynı adın paketini çeşitli paket yöneticileri aracılığıyla yükleyebilirsiniz. Aşağıdaki örneklerde basılması:

$ rlwrap mosml 
Moscow ML version 2.10 
Enter `quit();' to quit. 
- stuff I typed from last session; 

Yoksa senin ~/.bashrc veya benzer bir takma adı ekleyebilirsiniz:

$ mosml  
Moscow ML version 2.10 
Enter `quit();' to quit. 
- ^[[A 

Böyle çalıştırabilirsiniz

alias mosml='rlwrap mosml -P full' 
1

ise Standart ML ve Poly/ML ile ilgileniyorsanız, Isabelle/ML'ye de göz atmalısınız. Isabelle esas olarak teorem kanıtlama ortamı olarak hedeflenmiştir, ancak ML sistemi olarak da kullanılabilir - eğer tam bir IDE elde etmek için 300 MB indirme ve 600-800 MB disk ayak izi sakıncası yoksa.

ML parçacıkları böyle Isabelle teori kaynağına bunları gömerek, yerinde derlenmiş ve değerlendirilebilir: Isabelle ise

theory Scratch 
imports Main 
begin 

ML {* 
    fun f x = x + 1 
*} 

end 

/JEdit bu inferrred türleri hakkında ipuçları verir - biraz daha Sadece readline fakat SML'yi öğrenmek için kullanışlıdır.

İlgili konular