Programación

8
Números racionales en Raku

Estoy usando Raku para algunos cálculos, porque tiene buenos tipos numéricos. Sin embargo, tengo un problema con el uso de '.raku' say (1/6+1/6).raku #<1/3> Obtenemos esto. Sin embargo, say (1/10+1/10).raku #0.2 ¿Es un error? Esperaba <1/5>. ¿Lo que

8
hipervínculo kvm con múltiples args

Actualmente estoy tratando de construir un pequeño hipervisor y kernel usando kvm y me cuesta obtener hipercalls con múltiples args funcionando correctamente. Esto es lo que he intentado: // guest.c #define KVM_HYPERCALL vmcall // #define KVM_HYPERCALL vmmcall // #define KVM_HYPERCALL ".byte...

8
¿Cómo probar la igualdad de tipos inductivamente sin clases?

Estoy tratando de demostrar la asociatividad de las listas de nivel de tipo de tal manera que me permita convertir entre tipos equivalentes sin tener que soportar ninguna restricción. Suponiendo la definición estándar de concatenación: type family (++) (xs :: [k]) (ys :: [k]) :: [k] where '[] ++...

8
Restricción de firma en roles en raku

Tal vez me falta algo, pero me gustaría saber si hay una buena razón por la cual este código debe compilarse role L { method do-l (Int, Int --> Int ) { ... } } class A does L { method do-l (Int $a, Real $b --> Str) { .Str ~ ": Did you expect Int?" with $a + $b } } my $a = A.new; say...

8
Obtener tipo en matriz

¿Cómo puedo obtener el tipo dentro de una matriz? a = [1,2,3] Puedo obtener el tipo de a typeof(a) Vector{Int64} pero en realidad quiero Int64. Primero, pensé que una solución para novatos podría ser typeof(a[1]) Int64 pero esto en realidad no es correcto, como se puede ver aquí: a =...