功能语言如何与语言实现的观点不同

功能语言如何与语言实现的观点不同

本文介绍了功能语言如何与语言实现的观点不同的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有一种全新的函数式编程范式,与程序式编程相比,它需要思维模式的全面改变。它使用更高阶的函数,纯度,monads等,这在命令式和面向对象的语言中我们通常不会看到。我的问题是这些语言的实现不同于命令式或面向对象的语言,例如,关于内存管理或内部指针等。

有功能运行在JVM之上的语言。这是否意味着这些语言在内部像JVM上的其他语言一样工作?

解决方案

函数式编程语言的实现使用宽实施技术的范围。一本关于Scheme(一种Lisp方言)实施的优秀介绍给出了这本书:由Christian Queinnec提供。


There is the whole new paradigm of "functional programming", which needs a total change of thought patterns compared to procedural programming. It uses higher order functions, purity, monads, etc., which we don't usually see in imperative and object oriented languages.

My question is how the implementation of these languages differs from imperative or object oriented languages, with respect to, for example, memory management or internals like pointers etc..

There are functional languages that run on top of the JVM. Does this mean that these languages internally work like the other languages on the JVM?

解决方案

Implementations of Functional Programming languages are using a wide range of implementation techniques. An excellent introduction into the implementation of Scheme (a Lisp dialect) gives this book: Lisp in Small Pieces by Christian Queinnec.

这篇关于功能语言如何与语言实现的观点不同的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 08:15