Desde Erlang se basa en Prolog, ¿significa esto que Erlang es una restricción-Logic Lenguaje?
¿Se Erlang tienen bloques de construcción de Prolog: Datos, Reglas y consultas¿Es Erlang un lenguaje de programación de restricción de lógica?
Respuesta
Nº
sintaxis de Erlang es muy similar al de Prolog, pero la semántica son muy diferentes. Una primera versión de Erlang fue escrito usando Prolog, pero Erlang de hoy en día ya no es significativa puede decirse que está "basado en Prolog."
Erlang no incluye dar marcha atrás u otras características de Prolog habitualmente utilizados para la programación lógica. Por supuesto, puede implementar Prolog encima de otros idiomas, y Erlang es una opción más fácil para esto que otros. Esto se puede ver en el proyecto "Erlog" de Robert Virding:
En resumen, no, no es :) No tiene esos bloques de construcción. Su enfoque es la concurrencia, la programación paralela, las aplicaciones distribuidas y la tolerancia a fallas (a la vez que es un lenguaje funcional, estricto y declarativo).
Es posible también utilizar la función de lista por comprensión en Erlang como una forma de poner en práctica en un estilo de programación con restricciones.
% Produce the tuple {1, 0}
%
constraint_test() -> [ {A, B} ||
A <- lists:seq(0, 1),
B <- lists:seq(0, 1),
A > B].
Usted alternativamente lugar generadores de elementos tomados de las listas (A - < listas: ss (0, 1)) y restricciones (A> B).
He resuelto recientemente el problema vinculado a continuación. Y si coloca las restricciones correctamente, tendrá la respuesta en un instante o segundo.
http://www.geocaching.com/seek/cache_details.aspx?guid=a8605431-53b5-4c2c-97fb-d42ee299b167
Sí.
La primera versión de Erlang no se escribió en Prolog, sino que se escribió en uno de los lenguajes de programación de lógica comprometida. Estos lenguajes cayeron retroceso de Prolog de ahí el nombre de "elección comprometida", es decir una vez a la elección se hizo no fue posible dar marcha atrás y probar con otro. Esto se hizo con el fin de simplificar la concurrencia de una forma de programación lógica. Otra forma de verlo es que los procesos concurrentes se aplicarían las restricciones a las variables, pero al ser variables lógicas y por lo tanto no reasignable estos serían sucesivos no limitaciones cambios de valor. La restricción podría asignar un valor parcial a una variable, que contiene otra variable que se asignaría más tarde. Este es el modelo subyacente de Erlang. La programación de la lógica de restricción ha tendido a ser utilizada para las versiones donde las restricciones también podrían incluir declaraciones matemáticas sobre posibles rangos de variables con valores numéricos previstos.
La sintaxis de Erlang muestra su herencia de programación lógica, pero es importante comprender que la eligió a través de los lenguajes de programación de lógica de elección comprometidos que la recogieron de Prolog, no directamente de Prolog. Aunque se idearon varios lenguajes de programación de lógica de elección comprometidos durante la década de 1980, no pudieron salir de la sombra de Prolog, y fueron derribados por su asociación con la fallida iniciativa de quinta generación japonesa, y también por equipos de desarrolladores que compitieron por la competencia. diferencias menores por lo que no se estableció ningún estándar.
Los desarrolladores de Erlang introdujeron un azúcar sintáctico que le daba un aspecto más funcional al código, y tomaron la decisión de mercadotecnia de promocionarlo como un lenguaje de programación funcional más que lógico, lo que permitió que no fuera arrastrado por la quinta generación posterior despido de la programación lógica.
- 1. Lenguaje de programación más nuevo que Prolog para programación lógica
- 2. ¿Es Erlang realmente un lenguaje funcional?
- 3. ¿Qué es un lenguaje de programación formal?
- 4. ¿XSLT es un lenguaje de programación funcional?
- 5. ¿Qt 4 es un lenguaje de programación?
- 6. ¿Qué es el modelo de actor en el contexto de un lenguaje de programación?
- 7. CMS en el lenguaje de programación funcional
- 8. Siri lenguaje de programación
- 9. ¿Java es un lenguaje de programación compilado o interpretado?
- 10. ¿Su lenguaje de programación en un navegador (es decir, Javascript)?
- 11. ¿Es C# un lenguaje de programación orientado a objetos 100%?
- 12. ¿Cuál es un buen lenguaje de programación para comenzar mi aprendizaje de hijo de primer grado?
- 13. ¿Cómo crear un lenguaje de programación .Net?
- 14. Windows: ¿Qué lenguaje de programación?
- 15. Lenguaje de programación y compilador
- 16. Sistema de documentación que es independiente del lenguaje de programación
- 17. .NET lenguaje para programación simultánea
- 18. GBA ROM Lenguaje de programación
- 19. Lógica de programación orientada a objetos
- 20. ¿Es Erlang un lenguaje conciso desde la perspectiva de un programador?
- 21. Lenguaje de script PHP o lenguaje de programación?
- 22. Lenguaje de programación de proyectos Enterprise Architect
- 23. Lenguaje de programación de alto nivel para la composición musical
- 24. ¿Cuál es el lenguaje de programación más conciso?
- 25. ¿Cuál es el propósito del lenguaje de programación Scala?
- 26. ¿Qué características de lenguaje se requieren en un lenguaje de programación para hacer un compilador?
- 27. ¿Qué es este nuevo lenguaje de programación Axum?
- 28. Lenguaje de programación de gráficos por computadora
- 29. lenguaje de programación de scripting más rápido?
- 30. Control de lenguaje de programación visual
Gracias, ahora entiendo mucho mejor la unión y la inmutabilidad de las variables en Erlang. Es bueno saber de dónde vino. – Amiramix