lisp

Clozure Common Lisp 帮助文档-第14章 Objective-C 桥(中文版)

风格不统一 提交于 2019-12-06 21:24:43
Clozure Common Lisp 帮助文档-第14章 Objective-C 桥(中文版) === 原文地址: 网络: http://ccl.clozure.com/ccl-documentation.html 原文标题: Clozure CL Documentation 翻译者: FreeBlues 2013-08-03 === 目录 14 Objective-C 桥 the Objective-C Bridge 14.1 版本 1.2 里的变化 Changes in 1.2 14.2 使用 Objective-C 的类 Using Objective-C Classes 14.3 实例化 Objective-C 对象 Instantiating Objective-C Objects 14.4 调用 Objective-C 方法 Calling Objective-C Methods 14.4.1 Objective-C 方法调用的类型强制 Type Coercion for Objective-C Method Calls 14.4.2 返回结构的方法 Methods which Return Structures 14.4.3 参数数量可变的消息 Variable-Arity Messages 14.4.4 优化 Optimization 14.5 定义

Lisp-Stat 翻译 —— 第二章 Lisp-Stat教程

早过忘川 提交于 2019-12-06 21:23:40
第二章 一份Lisp-Stat教程 本章打算将使用Lisp-Stat作为统计计算器和绘图器做一个介绍。在介绍完基本的数值和绘图操作之后,介绍如何构建随机的和系统的数据集合,如何修改数据集,如何使用一些内建的动态绘图工具,如何构建线性回归模型。最后两节给出了简略的介绍,关于如何写你自己的函数和使用功能数据进行高级建模的工具。 2.1 Lisp解释器 你与Lisp-Stat系统的交互是由你和lisp解释器之间的对话组成的。想象一下,你坐在计算机前打开了你的系统,或者更好点儿,你获取了某个版本的Lisp-Stat,并且启动了它。当准备好要开始对话时,Lisp-Stat在一个空白行的前边给出了一个提示符,就像这样: > 如果你键入一个表达式,解释器就会打印这个表达式的计算结果来响应你。例如,如果你给解释器一个数字,然后按回车键,那么解释器就会响应你——简单地 打印 这个数字,然后 在下一行 退出并给你一个新的提示符。 > 1 1 > 对数字的操作可以通过组合数字和一个符号并把它们复合成一个表达式来执行,就像这样(+ 1 2): > (+ 1 2) 3 > 就像你猜想的一样,这个表达式就是将数字1和2加在一起。这种操作符放在操作数前边的表示方法叫前置表示法。这种表示方法起初可能让你很迷惑,因为它背离了标准的数学实践,但是却会带来一些很有意义的优势。一个优势是可以容纳进行任意数量的参数操作

Lush手册——第一章 简介

吃可爱长大的小学妹 提交于 2019-12-06 21:23:27
简介 本章将展示Lush及其能力与特性。 1.1 Lush展示 Lush是一门面向对象的编程语言,是为对大规模数值运算与图形化应用感兴趣的研究人员、实验人员和工程师设计的。Lush用于以下场景,即想要将高级的、弱类型的解释性语言的灵活性,强类型的、本地编译型的语言的高效性,还有与C、C++等语言编写的代码容易结合这些特性组合在一起。 在与解释型语言(如Python、Perl、Matlab、S+甚至BASIC)和使用编译型语言(例如C语言)结合的相关工程上,Lush的优势尤其意义重大。通过使用Lush,我们将获得解释型和编译型编程世界里的最好的部分,并最终合而为一: 一个拥有简单的类Lisp语法的、带松散类型的、带垃圾回收机制的、动态作用域的解释型语言; 一个带有类Lisp语法的、带有强类型、词法作用域的编译型语言; C语言可以自由地混合到Lush代码里,该Lush代码可以是一段单独的程序或者一个单独的函数。 这听起来有点复杂,其实不然。事实上,Lush的设计原则就是易学易用。 Lush的主要特征有以下几点: 一个整洁的、简单的和易学的类Lisp语法; 一个非常高效的本地编译器(由C语言实现); 一个与C函数与库对接的容易的方式,联通对用其它语言编写的对象文件的强大的动态加载能力; 自由地将Lisp代码与C代码混合到一个函数里能力; 一个包含向量、矩阵和张量操作的强大的集合;

how to turn off the debugger in sbcl

狂风中的少年 提交于 2019-12-06 20:24:43
问题 I'm trying to learn common lisp currently and I've been using sbcl (I hope that's a decent implementation choice.) Coming from ruby and irb I find the automatic moved to a debugger on every mistake a little annoying at this time. Is there a way to turn it off temporarily when I'm playing around. 回答1: Common Lisp has a variable *debugger-hook*, which can be bound/set to a function. * (aref "123" 10) debugger invoked on a SB-INT:INVALID-ARRAY-INDEX-ERROR: Index 10 out of bounds for (SIMPLE

How do I write a macro-defining macro in common lisp

五迷三道 提交于 2019-12-06 20:01:27
问题 I have about two macros (and climbing) in my codebase that look like this: (defmacro def-stat-method (method-name stat) `(progn (defmethod ,method-name ((monster monster)) (getf (stats monster) ,stat)) (defmethod (setf ,method-name) (value (monster monster)) (setf (getf (stats monster) ,stat) value)))) and this: (defmacro def-energy-method (method-name stat) `(progn (defmethod ,method-name ((monster monster)) (getf (energies monster) ,stat)) (defmethod (setf ,method-name) (value (monster

Is a functional language a good choice for a Flight Simulator? How about Lisp?

允我心安 提交于 2019-12-06 19:43:34
问题 I have been doing object-oriented programming for a few years now, and I have not done much functional programming. I have an interest in flight simulators, and am curious about the functional programming aspect of Lisp. Flight simulators or any other real world simulator makes sense to me in an object-oriented paradigm. Here are my questions: Is object oriented the best way to represent a real world simulation domain? I know that Common Lisp has CLOS (OO for lisp), but my question is really

Common Lisp环境搭建 for Windows

拈花ヽ惹草 提交于 2019-12-06 15:05:55
步骤: 1.安装CLISP编译器 2.安装 Quicklisp,clisp出名的包管理器 3.Emacs,windows版 4.Emacs Slime 文章参考: http://www.mohiji.org/2011/01/31/modern-common-lisp-on-windows/ 一.CLISP编译器 编译器有好几种选择,建议两个 : 1.CLISP官方编译器,编译成字节码 http://clisp.cons.org/ 2.SBCL(Steel Bank Common Lisp),可以编译成平台的原生代码。。 http://sbcl.org/ 这里我选择SBCL IE11的在线markdown很卡,完成了再发 (未完待续---——) 来源: oschina 链接: https://my.oschina.net/u/947218/blog/172321

Common Lisp 和 Cocoa 结合起来编写 APP 的例子--代码中设置加载路径

馋奶兔 提交于 2019-12-06 15:05:40
Common Lisp 和 Cocoa 结合起来编写 APP 的例子--代码中设置加载路径 话说最近越来越觉得 Objective-C 的代码太繁琐了, 但是在 OSX 下写程序又离不开苹果的框架,于是就希望能把苹果 Cocoa 提供的界面组件和其他更简单的编程语言结合起来使用(比如 Common Lisp), 查了查, 发现可以搞,苹果提供了 bridge , Common Lisp 提供了 FFI,. 翻了翻文档, 在 Clozure CL 中找到一篇比较简单的,就是一个汇率转换器. 具体就是: 1、先用XCode 的 Interface Builder 完成界面组件的设置, 输出一个名为 correncyconverter.nib 的文件; 2、再用 Common Lisp 创建一个名为 currency-converter.lisp 的源文件, 在这个lisp文件里写代码操作这些界面组件; 3、最后在 CCL 环境里把这两个文件编译成一个独立的 APP。 一切都很完美,唯一的缺憾就是要把 Lisp 的 image 包含进去, 使得最终的 app 文件体积稍微偏大--大概50M. 具体的教程在 Clozure CL 的目录下 "/ccl-1.8-darwinx86/examples/cocoa/currency-converter/howto.html"

common lisp 利用cffi 操作mysql

大憨熊 提交于 2019-12-06 15:05:31
利用clisp的管理工具 quicklisp 安装加载 cffi 和 cl-mysql (ql:quickload :cffi) (ql:quickload :cl-mysql) 连接 (connect :host"127.0.0.1":user"root":password"") (query"use test") 这样就可以进行数据库操作了 (defpackage :lisp-mysql (:use :cl :cl-mysql :cl-mysql-system)) (in-package :lisp-mysql) (defun create-person () (query "create table person ( name varchar(10), age int)")) (defun insert (name age) (let((sql (concatenate 'string "insert into person values ('" name "', " age ")"))) (query sql))) (defun select () (query "select * from person")) 知道如何使用了吧 就是query + sql语句 来源: oschina 链接: https://my.oschina.net/u/1186777/blog

Lisp expression evaluator in Java (using only one stack)

拟墨画扇 提交于 2019-12-06 12:16:23
问题 I'm trying to implement a simple Lisp expression evaluator using Java. There's actually a wealth of information on the subject, but it appears they all use two separate stacks to arrive at the result. I'm wondering if it is possible to implement such a program using only one stack and what some pseudo code might look like for that. Thanks. For more info on what I'm talking about refer to http://www.chegg.com/homework-help/questions-and-answers/outline-given-import-javautil-public-class