Sexplib'in sözdizimi uzantısı, isteğe bağlı olarak kullanıcı tanımlı veri yapılarının seri hale getirilmesini ve seri hale getirilmesini OCaml'de kolaylaştırır. Genellikle bir tip tanımı sonuna bir with sexp
ek açıklaması ekleyerek yapılır:Sexplib, Harita gibi functor türleriyle nasıl kullanılabilir?
type a = A of int | B of float with sexp
Bu funktor tabanlı türlerine doğrudan genelleme görünmüyor, ne de Sexplib standart tip dönüştürücüler bile yakalayabilir nasıl açıktır standart çekiciler.
Şimdiye kadar, belirli bir Harita türü örneğini (örn. int Map.Make(String).t
) serileştirmeden önce bir listeyle düzleştirerek çalıştım ve bunun tersi de doğrudur, ama kesinlikle Sexplib/Jane'in genellikle iddialı yazarları tarafından göz ardı edilmemiştir. Sokak Çekirdeği. Ayrıca Piller'in eski sürümlerinin özel sexp serileştirme işleminde [Bat] Map gibi ana modüllerine karıştığını, ancak bunun bir süredir kaldırıldığını fark ettim.
Haritalar veya diğer karmaşık functor türleri, Sexplib serileştirme işleminde yaygın olarak nasıl kullanılır?
Bunun için genişletilmiş bir standart kitaplık ile yaygın bir adet cinsiyete dönüştürme işlevi kullanacağınızı düşünüyorum. Çekirdek'e baktın mı? Ben sadece 5 dakika harcadım ama bu 5 dakika içinde funk set.make 'yi kullandım ve sonuçta set türü için sexplib dönüşüm fonksiyonlarını oluşturabilmem için argüman türünde sexplib dönüşüm fonksiyonlarını sordum. –