functional-programming scheme the-little-schemer

functional programming - The Little Schemer-¿Por dónde empezar?



functional-programming the-little-schemer (4)

Acabo de abrir The Little Schemer, y siento que me estoy perdiendo algo.

La primera pregunta se pregunta "¿Es cierto que esto es un átomo?", Pero no veo ninguna definición de lo que es un átomo. Supongo que puedo deducir lo que es un átomo por las respuestas a las preguntas, pero luego pasa a preguntar cuál es el carro de l, y cuál es el CDR de l, y no tengo idea de lo que se pregunta.

¿El propósito del libro es descubrir qué significan las preguntas al leer las respuestas o hay algún conocimiento básico que necesito antes de abordar este libro? Si es lo último, ¿puede alguien indicarme dónde podría adquirir ese conocimiento básico?


Sí, el formato del pequeño intrigante lo llevará a descubrir los conceptos a través de las respuestas proporcionadas. No te asustes, solo sigue leyendo.


The Little Schemer te enseña Scheme a través de una especie de asimilación. En lugar de darte la definición de un átomo, muestra ejemplos con una pregunta y con su respuesta te dice por qué algo es verdadero o falso y al mismo tiempo aumenta tu conocimiento sobre lo que se pregunta.

La forma en que aprendes Esquema a través de ese libro es la misma forma en que aprendes conceptos, material o no, como un niño pequeño. Está comprobado que es una buena forma de aprender lenguajes naturales. ¿Por qué no los lenguajes de computadora?

Al principio del libro, dice que necesitas poder leer en inglés, reconocer números y poder contar para usar el libro. En comparación, para leer y comprender un informe de Esquema (definición de lenguaje de Esquema) necesita algún conocimiento de lenguajes de programación, conceptos matemáticos y cómo leer gramática formal.


Un átomo es una unidad básica en un esquema, como un número o un carácter.

car devuelve el encabezado de la lista mientras que cdr devuelve la cola.

>(car ''(a b c)) ; car returns the first element in the list... ''a > (cdr ''(a b c)) ; cdr returns the rest. ''(b c)

Empezaría con un tutorial básico .


Creo que encontrarás el concepto de "átomo", "lista" y "S-expresión" después de leer el primer capítulo.

El libro no es el libro tradicional que te enseña qué es un concepto y luego proporciona ejemplos. Utiliza un estilo de preguntas y respuestas para explicar el concepto de esquema y la programación funcional con ejemplos.

En otras palabras, las preguntas no son para que las respondas, es una forma de guiarte a pensar.