algebraic-data-types

Huella de memoria de los tipos de datos de Haskell

¿Cómo puedo encontrar la cantidad real de memoria necesaria para almacenar un valor de algún tipo de datos en Haskell (princ ... :set +s en GHCi para ver las estadísticas de memoria, pero no está claro cómo estimar la huella de memoria de un solo valor.

¿Cómo representas un gráfico en Haskell?

Es bastante fácil representar un árbol o una lista en haskell usando tipos de datos algebraicos. Pero ¿cómo irías sobre la re ... renciales a nivel de tipo, pero los gráficos son autorreferenciales a nivel de valor. Entonces, ¿qué está pasando realmente?

¿Qué son las estructuras de datos de "sumas y productos"?

Un entrada reciente en el blog de William Cook Fusings menciona: El punto clave es que las estructuras en Ensō se ven h ... onales de sumas y productos. ¿Cuáles son las estructuras de datos tradicionales de sumas y productos a las que se refiere?

Tipos de unión / suma etiquetados en Java

¿Hay alguna manera de definir un tipo de suma en Java? Java parece apoyar naturalmente los tipos de productos directamente, ... , a menos que haya una manera de hacerlo es una vez, con seguridad, y ser capaz de utilizar que para todos los tipos de suma.

Kotlin y los sindicatos discriminados (tipos sum)

¿Kotlin tiene algo parecido a los sindicatos discriminados (tipos de suma)? ¿Cuál sería la traducción idiomática Kotlin de e ... andleMessage msg = match msg with | New(id, qty) -> handleNew id qty | Cancel(id) -> handleCxl id

Cómo decodificar un ADT con circe sin desambiguar objetos

Supongamos que tengo un ADT como este: sealed trait Event case class Foo(i: Int) extends Event case class Bar(s: String) e ... cero)? (Esta pregunta surge con bastante frecuencia-ver por ejemplo esta discusión con Igor Mazor en Gitter esta mañana.)

¿La mejor manera de definir tipos de datos algebraicos en Python?

Sé que Python NO es Haskell u Ocaml, pero ¿cuál es la mejor manera de definir tipos de datos algebraicos en Python (2 o 3)? ¡Gracias!