for - F#se estrella en Mono 2.10
mono sdk 5.12 0 linux (1)
Después de leer algunos informes sobre las deficiencias del recolector de basura Mono 2.6, decidí darle una oportunidad a Mono 2.10. Descubrí que el tiempo de ejecución de 2.10 se bloquea con el siguiente programa simple de F #:
let rec f x acc =
if x = 0 then acc
else f (x - 1) (acc + 1)
f 10 0
El código C # de bucle equivalente se ejecuta correctamente, al igual que un programa F # hello world. El código F # también funciona bien con Mono 2.6 y .Net. ¿Alguien más puede reproducir esto? ¿Es un error o es solo mi instalación?
Aquí están los diversos tiempos de ejecución que he probado y los resultados que obtuve.
Mono 2.10.2 (compilado de fuentes en Debian Squeeze)
-- "Stack overflow: IP: 0x4153bb84, fault addr: (nil)"
Mono 2.8 (compilado de fuentes en Debian Squeeze)
-- "Native stacktrace: ..."
Mono 2.10.2 (binario de Windows)
-- "mono.exe has stopped working" dialog.
Mono 2.10.2 (imagen de VMware)
-- Segmentation fault
Mono 2.6.7 (incluido con Debian Squeeze)
-- Works fine
El compilador F # utilizado fue de la CTP de noviembre de 2010.
He reportado este problema como error # 693905 en bugzilla.novell.com/show_bug.cgi?id=693905 .