How do I call non-Lisp functions from Lisp?
Kantrowitz & Margolin comp.lang.lisp FAQMost Lisp implementations for systems where Lisp is not the most common language provide a "foreign function" interface. As of now there has been no significant standardization effort in this area. They tend to be similar, but there are enough differences that it would be inappropriate to try to describe them all here.
Related QuestionsCan I call Lisp functions from other languages?
Kantrowitz & Margolin comp.lang.lisp FAQIn implementations that provide a foreign function interface as described above, there is also usually a "callback" mechanism. The programmer may associate a foreign language function name with a Lisp function. When a foreign object file or library is loaded into the Lisp address space, it is linked with these callback functions. As with foreign functions, the programmer must supply the argument and result data types so that Lisp may perform conversions at the interface.
Related QuestionsIs Scheme a lisp?
Frequently Asked Questions for comp.lang.lispScheme is a member of the greater family of Lisp languages, assuming that is considered to include others like Dylan and Emacs Lisp. The design of Scheme predates the ANSI Common Lisp standard, and some CL features such as lexical scoping may be considered to have been derived from Scheme. More detailed comparative discussions don't generally prove very productive; those that are interested in discussing Scheme should first consider discussing it in comp.lang.
Related QuestionsHow come that if Lisp is so powerful, you can't overload functions?
Staging Area for the Common Lisp FAQIn some other language that shall stay nameless, you can initially write: int foo (int bar) { return bar + 42 ; } and later come back revisiting it because now you need an extra boolean argument.
Related QuestionsAre there any Masonic functions that I can attend as a non-Mason?
USENET FAQYes. Many Lodges open their installation of officers to the public. Once a year, a new Worshipful Master takes office. The ceremony performed during his inauguration is public. It is not the same ceremony as would be performed in a regular Masonic ritual or degree, but it does have the flavoring of Masonic symbolism and allows the public to "get a feel for Masonry" without being Masons. NOTE: Not all jurisdictions have public installations. Call or write your local lodge for details.
Related QuestionsWhat is Lisp?
Lisp FAQLisp is a family of programming languages descended from a language John McCarthy invented (or more accurately, discovered) in the late 1950s. The two main dialects now are Common Lisp and Scheme. We're working on a new dialect called Arc.
Related QuestionsStaging Area for the Common Lisp FAQBut you now wish to add a special case. Simple: (defun foo (bar &optional (special-case nil)) (if special-case 0 (+ bar 42))) (foo 3) 45 (foo 3 t) 0 Rather than having to write two functions, with the oldest one delegating to the new one, you simply amend the existing one with optional arguments, all of which you give a default value that you can now account for in the new version.Related Questions
How can I call FORTRAN (C++, BASIC, Pascal, Ada, LISP) functions from C?
Frequently Asked Questions: C Language (abridged)The answer is entirely dependent on the machine and the specific calling sequences of the various compilers in use. Several freely distributable programs are available, namely ptoc, p2c, and f2c. See the full list for details.
Related QuestionsWhy are paths sometimes manipulated by member functions and sometimes by non-member functions?
Boost Filesystem FAQThe design rule is that purely lexical operations are supplied as class path member functions, while operations performed by the operating system are provided as free functions.
Related QuestionsWhere can I find free lisp compilers or interpreters?
Frequently Asked Questions for comp.lang.lispA lightweight common lisp interpreter and compiler, which compiles to bytecode, and runs on Windows, AmigaOS, Acorns, OS/2 and most flavours of Unix. CLISP's implementation of CLOS is currently not quite complete. CLISP is licensed under the GNU GPL. CMUCL interpreter and optimizing compiler to native code running on a few flavours of Unix (including x86/FreeBSD, x86/Linux and sparc/Solaris). CMUCL can be difficult to compile; it requires itself to build itself, and bootstrapping is an issue.
Related QuestionsWhere can I buy a professional lisp system?
Frequently Asked Questions for comp.lang.lispFranz Inc's Allegro Common Lisp is a fine lisp development environment. See their website for more detailsLCL Another offering from Xanalys, LispWorks has a different set of extensions above the ANSI specification from LCLMCL A commercial natively multithreaded implementation of Common Lisp for various Unixes.Symbolics Common Lisp
Related QuestionsWhat online resources are there for lisp users?
Frequently Asked Questions for comp.lang.lispA non-normative transferral of the official ANSI standard for Common Lisp to the hypertext medium, by Kent Pitman.Association of Lisp Users
Related QuestionsWhy doesn't Common Lisp have continuations?
Frequently Asked Questions for comp.lang.lispContinuations are a great theoretical tool; if a language has first-class, multiply invocable continuations then one can build threads, exceptions, coroutines, and the kitchen sink on top. However, there is an implementation burden with continuations; supporting first-class, multiply invocable continuations complicates things tremendously for the Lisp implementor.
Related QuestionsHow do I plot two functions in non-overlapping regions?
Gnuplot FAQUse a parametric plot.
Related QuestionsWhy are the operations.hpp non-member functions so low-level?
Boost Filesystem FAQextended attempt to add convenience functions on top of, or as a replacement for, the low-level functionality failed because there is no widely acceptable set of simple semantics for most convenience functions considered. Attempts to provide alternate semantics, via either run-time options or compile-time polices, became overly complicated in relation to the value delivered, or became contentious.
Related QuestionsWhat's the difference between how virtual and non-virtual member functions are called?
Inheritance -- virtual functions Updated! , C++ FAQ LiteNon-virtual member functions are resolved statically. That is, the member function is selected statically (at compile-time) based on the type of the pointer (or reference) to the object. In contrast, virtual member functions are resolved dynamically (at run-time). That is, the member function is selected dynamically (at run-time) based on the type of the object, not the type of the pointer/reference to that object. This is called "dynamic binding.
Related QuestionsHow can I learn Lisp?
Lisp FAQThe way to learn any language is to write programs in it. You have two main dialects to choose between: Scheme and Common Lisp. They each have advantages and disadvantages, but the differences between them are tiny compared to the differences between them and other languages, so if you want to start learning Lisp, it doesn't matter which you choose. There are good books about both dialects, and many good free implementations.
Related QuestionsWhere can I get a copy of On Lisp?
Lisp FAQIt looks as if the book is going to be in print again soon, but if you are determined to have a valuable first edition, you can get a used copy at Amazon.
Related QuestionsWhere can I get a Lisp interpreter?
Staging Area for the Common Lisp FAQYou probably mean an interactive command processor that accepts Lisp expressions, evaluates them and prints their results. If so, you should simply look for a Common Lisp implementation or development environment, without regard to how expressions are processed. Although native machine code Lisp compilers have been available since the early 1960s, many outsiders still tend to refer to Lisp environments as "interpreters", with an implied assumption of poor performance.
Related QuestionsIs Lisp Slow?
Staging Area for the Common Lisp FAQAnswer 2: Some free Common Lisp implementations have native-code compilers that are about half as fast as C. This translates to 2-4 times the speed of Java and 50-80 times the speed of Perl, Python, or Ruby. Refer to http://www.norvig.com/Lisp-retro.html for details.
Related QuestionsWhere can I find more Lisp packages?
FAQ (komplett)The best place to start looking is in the newsgroup gnu.emacs.sources, this can be searched online via Deja.com After that the Emacs Lisp List, which is maintained by Stephen Eglen <stephen@anc.ed.ac.uk> , is another good starting point, this lists several hundred lisp files, and a brief description, and thanks to ell.el can be used from within Emacs. WoMan allows Unix MAN pages to be browsed within Emacs, this lisp package requires no external programs.
Related QuestionsWhat is a LISP Routine and what do they do?
Lanc & Tully AutoCAD FAQLISP is a programming language that AutoCAD can understand. Many people have written LISP routines to perform all kinds tasks for AutoCAD users. You can think of them as scripts, macros, programs, or code. Basically, they are just text files with instructions (in a special language) that AutoCAD uses to automate repetitive or complicated AutoCAD tasks. An.lsp ? An autonumbering routine that creates and spaces a sequence of numbers for paperspace notes. Clo.lsp ? Current Layer Offset.
Related QuestionsWhat are Functions?
FAQ - Frequently Asked Questions | ScriptSpotFunctions are specific pieces of code that can easily be reused between scripts. Functions are NOT self running scripts. As a rule, if you don't know what a function is, then you definately don't need it...Functions are for people who create scripts, not people who use scripts...But, if you want to know - a function is a programming term for a block of code that does something you can reuse.
Related QuestionsSubject: [2-12] Are there any Masonic functions that I can attend as a non-Mason?
Usenet Freemasonry FAQ - Frequently Asked QuestionsYes. Many Lodges open their installation of officers to the public. Once a year, a new Worshipful Master takes office. The ceremony performed during his inauguration is public. It is not the same ceremony as would be performed in a regular Masonic ritual or degree, but it does have the flavoring of Masonic symbolism and allows the public to "get a feel for Masonry" without being Masons. NOTE: Not all jurisdictions have public installations. Call or write your local lodge for details.
Related QuestionsWhere can I get a free Lisp system?
Common Lisp FAQABCL (Armed Bear Common Lisp) is an implementation of ANSI Common Lisp that runs in a Java virtual machine. It provides a runtime system, a compiler that compiles Lisp source to JVM bytecode, and an interactive REPL for program development. It runs on any platform that support Java 1.4 (or later), including Linux, Windows, and Mac OS X. It is, by the author's admission, a relatively young implementation, and has some notable limitations in its CLOS implementation.
Related Questions