İç içe geçmiş, karşılıklı özyinelemeli data structure var ve hesaplama pahalı değerlerini bazı düğümlerle ilişkilendirmek istiyorum. Aslında, bir Pandoc belgesindeki Blokları geçici olarak o blokta oluşan sözcüklerin listesine bağlamak istiyorum.Yerleşim veri yapısı?
o (kırılgan) kazan plaka kodu ve birçok yeni genişletilmiş Pandoc veri türünü oluşturmak için aşağı kaynar kelime listesini içerir Blok veri türü şekilde uzanan:
Unattractive seçeneklerim önlemek istiyorum Blokları kelime listelerine eşleme; bloklar tuşları
ben bir çözüm arıyorum yönü verimli hizmet etmek çok karmaşık olarak optimal olan bu yüzden, genişletilmiş Blokları içeren bindirme veri yapısı çeşit olmakla birlikte temel veri tipleri bakir hala geniş Pandoc kütüphanelerini kullanabiliyorum. Ama belki de bu ... Düşünce Haskell Yolu değil
Hamiş 2011-06-12:
comments gösterdiği gibi, muhtemelen kısmen yanlış dayalı Harita yaklaşımın maliyet, abartmış varsayımlar. Gerçekten: "açık bir gerçekten daha aldatıcı bir şey yoktur".
Her halükarda, uzayabilir bir veri türünün nasıl oluşturulacağını gösterdiği için, hamarın cevabını kabul ediyorum.
Teşekkür
İlişkileri düğümler arasında saklamak için bir 'Harita' kullanabilir misiniz? –
@Don Stewart: Bloktan WordList'e bir Data.Map mı demek istiyorsunuz? Evet, ama benim endişem, anahtar olarak bir Blok, bir veri yapısı çok karmaşık olurdu. Tipik olarak, muhtemelen diğer Bloklar dahil olmak üzere tam bir paragrafı ve biçimlendirmesini temsil eder. – sleepyMonad
Anahtar olarak saklanmadan önce bloğu karıştırın mı? – luqui