summaryrefslogtreecommitdiff
path: root/ipl/packs/loadfuncpp/doc/index.htm
diff options
context:
space:
mode:
Diffstat (limited to 'ipl/packs/loadfuncpp/doc/index.htm')
-rw-r--r--ipl/packs/loadfuncpp/doc/index.htm87
1 files changed, 87 insertions, 0 deletions
diff --git a/ipl/packs/loadfuncpp/doc/index.htm b/ipl/packs/loadfuncpp/doc/index.htm
new file mode 100644
index 0000000..dad9df8
--- /dev/null
+++ b/ipl/packs/loadfuncpp/doc/index.htm
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+
+<HEAD>
+ <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
+ <TITLE>loadfuncpp</TITLE>
+ <LINK REL="stylesheet" TYPE="text/css" HREF="loadfuncpp.css">
+</HEAD>
+
+<BODY>
+
+<CENTER>
+<P>
+<TABLE BORDER="0" WIDTH="700">
+ <TR>
+ <TD WIDTH="100%">
+ <H1 ALIGN="CENTER"><BR>
+ Loadfuncpp</H1>
+ <H2 ALIGN="CENTER">A Dynamic Library used to aid Adding <BR>
+ External Functions written in C++ to<BR>
+ <A HREF="http://www.cs.arizona.edu/icon/lb3.htm" target="_blank">The Icon Programming Language</A></H2>
+ <H3 ALIGN="CENTER">Carl Sturtivant, February 2010, <FONT COLOR="#FF9900">version 0.91alpha</FONT></H3>
+ <BLOCKQUOTE>
+ <H5><FONT COLOR="#FF9900"></FONT></H5>
+ <H3><FONT COLOR="#CC0000">Features</FONT></H3>
+ </BLOCKQUOTE>
+ <UL>
+ <LI><FONT COLOR="#FF9900">Works with the existing Icon runtime system with no modification</FONT>
+ <LI><FONT COLOR="#FF9900">Call Icon with call syntax from C++ and vice-versa, recursively</FONT>
+ <LI><FONT COLOR="#FF9900">Has a simple way to create new Icon datatypes by inheritance</FONT>
+ <LI><FONT COLOR="#FF9900">Write new Icon functions in C++ that suspend a sequence of results</FONT>
+ <LI><FONT COLOR="#FF9900">Iterate in C++ through result sequences generated by Icon</FONT>
+ <LI><FONT COLOR="#FF9900">All Icon functions, keywords and operators made available in C++</FONT>
+ <LI><FONT COLOR="#FF9900">Takes care of garbage collection safety automatically</FONT>
+ <H5></H5>
+ </UL>
+ <BLOCKQUOTE>
+ <BLOCKQUOTE>
+ <BLOCKQUOTE>
+ <BLOCKQUOTE>
+ <BLOCKQUOTE>
+ <H4><A HREF="manual.htm">documentation</A><BR>
+ <A HREF="loadfuncpp.htm">experimental binaries</A><BR>
+ <A HREF="compile.htm">compilation options</A></H4>
+ </BLOCKQUOTE>
+ </BLOCKQUOTE>
+ </BLOCKQUOTE>
+ </BLOCKQUOTE>
+ <H3>News</H3>
+ <BLOCKQUOTE>
+ <P>2010/2/10 (I am releasing this now having moved on to a new implementation of the language entirely.) There
+ are no known bugs, but bugs almost certainly exist. This pack needs systematic in-depth testing for subtle issues
+ connected to garbage collection. Specifically, the mechanism to call Icon from C++ pushes onto the top of the Icon
+ stack a region used by a copy of the interpreter loop that's used to execute the Icon procedure called from C++.
+ I have not investigated how the Icon stack is garbage collected, and this region does not extend the stack the
+ way that Icon does. If this proves unsafe for garbage collection, the stack region for such a call may have to
+ have suitable frames containing pointers to the lower part of the stack (or vice-versa) placed in it to repair
+ this deficiency. Also, the way garbage collection safety of Icon values in C++ variables is ensured is to use the
+ constructor to implicitly link them onto the far end of the main co-expression's safe list, and unlink them from
+ there using the destructor. This is almost certainly safe from the usual call and return mechanism in iconx for
+ protecting local variables, but needs testing and verification.<BR>
+ <BR>
+ 2009/1/20 fixed a bug where a call of any C++ external function that in turn calls Icon and afterIcon returns calls
+ Icon::runerr would not correctly report the name and arguments of said function in the resulting traceback. Upped
+ the version number to 0.91alpha.<BR>
+ <BR>
+ 2009/1/20 loadfuncpp now searches for a shared object on the path defined by the environment variable FPATH with
+ the icon/bin directory appended if you specify no path. FPATH undefined leads loadfuncpp to search the current
+ directory followed by the icon/bin directory.<BR>
+ <BR>
+ 2009/1/12 <FONT COLOR="#FF9900">loadfuncpp has been completely overhauled</FONT>, and the old version is now obsolete.
+ Many small functions have been added to eliminate ambiguities in programs that use loadfuncpp, and the central
+ class has been renamed and a class eliminated. Small pieces of missing functionality have been added. The documentation
+ has been modified accordingly. It is now close to it's final form, and in need of some serious beta testing, and
+ I have someone who has agreed to do that. Once this is done, loadfuncpp will be made available as a pack with the
+ Icon 9.5 source distribution.
+ </BLOCKQUOTE>
+ </BLOCKQUOTE>
+ </TD>
+ </TR>
+</TABLE>
+
+</CENTER>
+
+</BODY>
+
+</HTML>