豪华的编程语言

2021-03-01 19:30:00

Lush解释器是用C语言编写的,具有在每种体面的面向对象编程语言(例如条件语句,循环,局部变量,函数,宏,对象,类,方法和继承性)中发现的所有常用功能和构造,但它也提供了大量的功能。用于处理列表,字符串,向量,矩阵和张量的函数集。字符串函数包括正则表达式匹配和替换之类的东西。这显示了一个使用SDL库和sprite类的简单月球着陆器游戏。整个游戏适合60行Lush。

郁郁葱葱的解释器与80年代中期的类似Le_Lisp"和" UCI-Lisp"。它比“ Common Lisp”更简单。与Scheme有很大的不同。 Lush的一个不寻常的功能是它的C编译器,其动态链接器/加载器以及与现有C函数和库的接口连接的便捷性。更加不寻常的功能是能够在单个函数中混合Lisp和C源代码。向量和矩阵操纵引擎非常强大和高效,使Lush非常适合繁重的数字应用以及诸如信号和图像处理之类的应用。它包括用于创建,调整和转换最多八维的向量,矩阵和张量的函数。它还包括基本矩阵运算,例如对矩阵的所有元素进行标量运算,点积,外部积,换位,高度优化的1D和2D卷积。还提供了一组向量/矩阵迭代器。豪华是一种面向对象的语言。带有插槽和方法的类可以定义和编译。派生类继承其父类的插槽和方法(类似于C ++语义)。 Lush包含了Lisp爱好者所熟悉的所有功能,例如列表功能,列表迭代器,物理列表操作,宏,拼接宏,符号操作等,但是大多数临时用户可能更希望远离这些功能。 Lush提供了一组简单易用的低级图形功能,可以绘制线条,多边形,矩形,图片和文本颜色,并具有自动刷新和双缓冲功能(用于简单动画)。图形可以在X-windows窗口中绘制(在Unix上),也可以发送到PostScript文件中。 Lush还包含一个非常紧凑且易于使用的面向对象的图形用户界面生成器,称为``Ogre''''。 Ogre完全用Lisp编写在上述低级图形功能之上。它包含用于按钮,滑块,单选按钮,菜单,字符串编辑器等的预定义类。Ogre包括用于在窗口中放置对象的自动机制,从而大大简化了GUI的设计和实现。简单的GUI可以在极短的时间内编写,并且非常紧凑。一个非常独特的功能是没有人可以调用" event主循环&#34 ;:您可以在GUI应用程序运行时继续在Lush提示符下键入内容! Lush提供了两种输入/输出模型。一个是一组``Lispy''允许轻松输入和输出ASCII数据,lisp表达式,lisp对象和矩阵的I / O功能。它包括管道和插座之类的东西。另一个模型实质上提供了对标准CI / Olibrary的访问权限,包括fopen,popen,fprintf,fscanf,fgetc,fputc fgets和用于读写矩阵的各种函数。记忆。这允许有效地访问非常大的数据集。该图显示了Lush的在线文档GUI。右窗格显示了将Lush和C集成到同一源代码中的函数示例。 C段(以绿色显示)由哈希括号字符定界。 Lisp变量可以在C前面加一个美元符号来引用。单击图片以获取完整的屏幕截图。