Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 29.985.333 Times

InteLib 0.5.77

  Date Added: October 03, 2010  |  Visits: 704

InteLib

Report Broken Link
Printer Friendly Version


Product Homepage
Download (74 downloads)

InteLib is a library of C++ classes which lets you do Lisp programming within your C++ program even without any additional preprocessing, without all those calling conventions etc. You can write a C++ code (that is, a code which is accepted by your C++ compiler) thinking in a "Lisp mode" and the code you write will look much like Lisp code altough it will be pure C++. To give you the essential feeling, the following example is provided. (defun isomorphic (tree1 tree2) (cond ((atom tree1) (atom tree2)) ((atom tree2) NIL) (t (and (isomorphic (car tree1) (car tree2)) (isomorphic (cdr tree1) (cdr tree2)) )))) Just a Lisp function, isnt it? Now look at the following code: (L|DEFUN, ISOMORPHIC, (L|TREE1, TREE2), (L|COND, (L|(L|ATOM, TREE1), (L|ATOM, TREE2)), (L|(L|ATOM, TREE2), NIL), (L|T, (L|AND, (L|ISOMORPHIC, (L|CAR, TREE1), (L|CAR, TREE2)), (L|ISOMORPHIC, (L|CDR, TREE1), (L|CDR, TREE2)) )))) Obviously the code is just the same, the syntax changed a bit, but its still the same. Well, do I surprise you if I say it is C++ code? If you dont believe, look at the following: // File isomorph.cpp #include "lisp/lisp.hpp" #include "lisp/lsymbol.hpp" #include "lfun_std.hpp" LSymbol ISOMORPHIC("ISOMORPHIC"); static LFunctionalSymbol< LFunctionDefun > DEFUN("DEFUN"); static LFunctionalSymbol< LFunctionCond > COND("COND"); static LFunctionalSymbol< LFunctionAtom > ATOM("ATOM"); static LFunctionalSymbol< LFunctionAnd > AND("AND"); static LFunctionalSymbol< LFunctionCar > CAR("CAR"); static LFunctionalSymbol< LFunctionCdr > CDR("CDR"); LListConstructor L; void LispInit_isomorphic() { static LSymbol TREE1("TREE1"); static LSymbol TREE2("TREE2"); //////////////////////////////////////////////// // (L|DEFUN, ISOMORPHIC, (L|TREE1, TREE2), (L|COND, (L|(L|ATOM, TREE1), (L|ATOM, TREE2)), (L|(L|ATOM, TREE2), NIL), (L|T, (L|AND, (L|ISOMORPHIC, (L|CAR, TREE1), (L|CAR, TREE2)), (L|ISOMORPHIC, (L|CDR, TREE1), (L|CDR, TREE2)) )))).Evaluate(); // //////////////////////////////////////////////// } // end of file Well, this code is a complete C++ module and it does compile pretty well. No joke, its real. By the way, dont try to find any use I made out of the macroprocessor. No macros have ever been used by InteLib (except those for conditional compile directives). Instead, just recall that comma is an operator in C++ and can be overloaded for user-invented data types. Whats New in This Release: - Some new package-related features are implemented, and the GNU readline autodetection has been fixed.. InteLib home

Requirements: No special requirements
Platforms: Linux
Keyword: Atom C++ Car Cdr Cond Intelib Isomorphic Lfunctionalsymbol Libraries Lisp Programming Programming Static
Users rating: 0/10

License: Freeware Size: 174.08 KB
INTELIB RELATED
Arcade Style Games  -  Splput rc.0.9
Splput is a funny little game of rat killing with a R/C car that uses FMOD and SDL.
680.53 KB  
Development Tools  -  Model-Based Design for Electrical Automobile Chassis Control 1.0
These files are MBD environment for Bluetooth based LEGO R/C car (NXT GT-Hi).[Features]* NXT GT-Hi is four-wheel car with rear wheel motor drive.* NXT GT-Hi has gyro sensor and acceleration sensor of HiTechnic.* NXT GT-Hi has some chassis...
5.47 MB  
Libraries  -  libbsl 0.9.1
libbsl (Basic System Library) is a powerful, easy to use and fully thread safe C++ template class library for frequently recurring (machine/OS oriented) programming problems. All fundamental objects in libbsl are freely copyable and shareable...
1.04 MB  
Libraries  -  macstl 0.3.1
macstl is a C++ header library designed to bring the world of generic programming to the Macintosh, and deliver the surprising speed of SIMD in an intuitive cross-platform package. For example, a simple loop calculating a trigonometric function...
174.08 KB  
Programming  -  Slisp 2.2
Slisp project is written in C, and I recently added a header file lisp.h that contains an array of common-used lisp functions, so if you want to extend SLISP programming in Lisp you are allowed too. Whats New in This Release: - Added Bignums...
133.12 KB  
Puzzles  -  X-pired 1.22
X-pired is an action-puzzle game written in C using SDL, SDL_mixer, SDL_image and SDL_gfx libraries distributed under the terms of GNU GPL. The goal of the game in each level is to reach the exit square, avoiding exploding barrels and other...
2.1 MB  
Programming  -  libbsl 0.9.1
libbsl (Basic System Library) is a powerful, easy to use and fully thread safe C++ template class library for frequently recurring (machine/OS oriented) programming problems. All fundamental objects in libbsl are freely copyable and shareable...
2.6 MB  
Games  -  BomberLAN 0.0.2
BomberLAN is a GPLed 2d game with planned network support written in C++ with the aid of the SDL libraries. BomberLAN is easy to pick up and play, but still extremely fun, similar to the classic Bomberman games on NES and SNES.
942.08 KB  
Games  -  Zhockon 0.3.1
Zhockon is a Game Platform written in C/C++ and Python with a set of libraries (SDL, OpenGL, OpenAL, Qt and others). Intended to be a more powerful and flexible alternative than the proprietary DirectX and the high-level framework XNA.
2.93 MB  
Development Editors  -  ProLisp 0.1.0
ProLisp is a little Lisp-interpreter, written in C++, using object oriented design as much as possible without harming efficiency of the code. You could also call it ProtoLisp, because it has - upto now - very few builtin functions. But...
102.4 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.12.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
2.73 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB