2011-02-07 20 views
6

Hata ayıklama amaçları için, OCaml'de bir dizeyi rastgele bir türe dönüştüren, hata ayıklayıcının şu anda bir tanesine sahip olmak istiyorum, ancak bir tane olması güzel olurdu.'a -> string türünde bir işlev yazma

Sexplib kitaplığı mükemmel olurdu, ancak gerçek şu ki, with sexp eklemek için gereken tüm türleri değiştiremiyorum ve ben de camlp4'ü kullanamıyorum.

Böyle bir işlev var mı? (Bu, üretim kodunda olmayacak, bu yüzden kirli çözümleri kabul ediyorum)

Haskell'in Show bir yazım hatası gibi bir şey tam olarak ne demek olur. Zaman

+0

> Haskell'in 'Show' türü sınıfı gerçekten güzel, ancak OCaml'ın sınıfları yok ... OCaml'a en yakın eşdeğer bir gösteri yöntemiyle açık bir sınıf tipi olurdu. Muhtemelen aklında olan şey değil. –

cevap

5

Batteries Included yılında Std modül okunabilir dizeleri keyfi türlerini dönüştüren bir dump fonksiyonunu sağlar için

teşekkürler. Bu biraz sınırlı - türleri hakkında bilmediği gibi, değişken türleri için kurucuları düzgün bir şekilde yazdıramaz ve sayılarla değiştiremez - ancak yine de oldukça yararlı olabilir. Tip bilgisi çalışma zamanında mevcut olmadığından, yapabileceğiniz kadar iyidir. Hata ayıklayıcı ve üst düzey, daha iyi temsiller elde etmek için derleyici hilelerini kullanır, ancak genel bir kitaplıkta yapmak imkansızsa bu zor bir işlemdir.

Ayrıca, bir yerlerde daha sofistike bir çöp kütüphanesi gördüğümü hatırlıyorum ama nerede olduğunu hatırlamıyorum.

İlgili konular