1votos

Sistemas de Post en Haskell

por josejuan hace 3 meses

En Haskell es directo implementar cualquier "programa" es decir, Haskell ya compila (prácticamente) programas Post a código máquina.

Crear un simulador de sistemas de Post.

1
2
3
4
5
6
e ('0':'0':        xs) = e $ xs ++ "1011" 
e ('0':'1':'0':    xs) = e $ xs ++ "1011" 
e ('1':'0':'1':'1':xs) = e $ xs ++ "0" 
e ('1':'1':'0':    xs) = e $ xs ++ "000" 
e ('1':'1':'1':'0':xs) = e $ xs ++ "000" 
e                  xs  = xs 
4 comentarios
0votos

Escrito por AverageUser hace 3 meses

La idea es un programa que simule sistemas de post generalizado, como una implementación clasica de maquinas de turing. No entiendo a donde va tu solución.
0votos

Escrito por AverageUser hace 3 meses

Me explico mejor: El programa debería ser capas de tomar una palabra inicial cualquiera, un sistema cualquiera y entregar la palabra final correspondiente a esa instancia
0votos

Escrito por josejuan hace 3 meses

Mmmm... es que la solución es esa, reemplaza la coma en las tuplas del sistema por (básicamente) `xs) = e $ xs ++` y ya lo tienes, le daré otra vuelta a ver que se puede exprimir, pero no veo mucho más :)
0votos

Escrito por AverageUser hace 3 meses

Ahora entendí tu intención. Quizás debería haber especificado que debía hacerse un interprete. Pero me gusta esta idea

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.