[pure-lang-svn] SF.net SVN: pure-lang: [192] pure/trunk
Status: Beta
Brought to you by:
agraef
From: <ag...@us...> - 2008-06-07 23:42:01
|
Revision: 192 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=192&view=rev Author: agraef Date: 2008-06-07 16:42:04 -0700 (Sat, 07 Jun 2008) Log Message: ----------- Final touches for 0.3 release. Modified Paths: -------------- pure/trunk/ChangeLog pure/trunk/INSTALL pure/trunk/README pure/trunk/pure.1 Modified: pure/trunk/ChangeLog =================================================================== --- pure/trunk/ChangeLog 2008-06-07 06:36:38 UTC (rev 191) +++ pure/trunk/ChangeLog 2008-06-07 23:42:04 UTC (rev 192) @@ -1,5 +1,7 @@ 2008-06-06 Albert Graef <Dr....@t-...> + * 0.3 release. + * configure.ac, etc.: Added autoconf support. Various fixes for 64 bit and Windows compatibility. See the INSTALL file for updated installation instructions. Modified: pure/trunk/INSTALL =================================================================== --- pure/trunk/INSTALL 2008-06-07 06:36:38 UTC (rev 191) +++ pure/trunk/INSTALL 2008-06-07 23:42:04 UTC (rev 192) @@ -61,8 +61,8 @@ Note the configure flags; these are for an optimized (non-debug) build and disable all compilation targets but the one for your system. (You might wish to omit the --enable-targets=host-only if you want to use other LLVM -applications and offering cross-compilation capabilities.) To do a debug build -of LLVM, simply leave away all the extra configure parameters (except possibly +applications offering cross-compilation capabilities.) To do a debug build of +LLVM, simply leave away all the extra configure parameters (except possibly --enable-targets=host-only). Note, however, that this will have an impact on the speed of the Pure compiler. @@ -99,7 +99,7 @@ Run Pure interactively as: $ pure -Pure 0.3 Copyright (c) 2008 by Albert Graef +Pure 0.3 (i686-pc-linux-gnu) Copyright (c) 2008 by Albert Graef This program is free software distributed under the GNU Public License (GPL V3 or later). Please see the COPYING file for details. Loaded prelude from /usr/local/lib/pure/prelude.pure. @@ -147,7 +147,8 @@ $ svn co http://pure-lang.svn.sourceforge.net/svnroot/pure-lang pure-lang This step needs to be done only once; once you've checked out your working -copy, you can update it to the latest revision by running 'svn up'. +copy, you can update it to the latest revision at any time by running +'svn up'. STEP 5': Configure, build and install Pure: @@ -325,10 +326,10 @@ ====== ===== Pure is known to work on recent Linux and Mac OSX versions under x86, x86-64 -and ppc, as well as on MS Windows XP, but there are a few system-specific -quirks which are discussed below. (Please also see the CAVEATS AND NOTES -section of the manual page for information on other known limitations of the -current implementation.) +and ppc, as well as on MS Windows, but there are a few system-specific quirks +which are discussed below. (Please also see the CAVEATS AND NOTES section of +the manual page for information on other known limitations of the current +implementation.) ALL PLATFORMS --- --------- @@ -392,14 +393,19 @@ Thanks to Jiri Spitz' perseverance, tireless testing and bug reports, the latest sources compile and run fine on Windows, using the Mingw port of the -GNU C++ compiler and the MSys environment from http://www.mingw.org/. (Cygwin -from http://www.cygwin.com/ probably works as well, but this has not been -tested.) Just do the usual './configure && make && make install'. You'll need -LLVM, of course (which builds with Mingw just fine), and a few additional -libraries for which headers and precompiled binaries are available from the -Pure website (http://pure-lang.sf.net/). +GNU C++ compiler and the MSYS environment from http://www.mingw.org/. Just do +the usual './configure && make && make install'. You'll need LLVM, of course +(which builds with Mingw just fine), and a few additional libraries for which +headers and precompiled binaries are available from the Pure website +(http://pure-lang.sf.net/). +A binary package in msi format is available as well (see "Downloads" on the +Pure website), which includes all required libraries. The package also +includes some shortcuts which will be installed in your Program menu, allowing +you to run the Pure interpreter either in a normal Windows command window or +the MSYS shell available from http://www.mingw.org/. + June 2008 Albert Graef <Dr.Graef at t-online.de> Eddie Rucker <erucker at bmc.edu> Modified: pure/trunk/README =================================================================== --- pure/trunk/README 2008-06-07 06:36:38 UTC (rev 191) +++ pure/trunk/README 2008-06-07 23:42:04 UTC (rev 192) @@ -15,7 +15,8 @@ WHERE TO GET IT -You can find tarballs and the svn repository at http://pure-lang.sf.net. +You can find tarballs, binary packages and the svn repository at +http://pure-lang.sf.net. LICENSE Modified: pure/trunk/pure.1 =================================================================== --- pure/trunk/pure.1 2008-06-07 06:36:38 UTC (rev 191) +++ pure/trunk/pure.1 2008-06-07 23:42:04 UTC (rev 192) @@ -198,7 +198,7 @@ .PP Expressions consist of the following elements: .TP -.B Constants: \fR4711, 4711G, 1.2e-3, \(dqHello,\ world!\en\(dq +.B Constants: \fR4711, 4711L, 1.2e-3, \(dqHello,\ world!\en\(dq The usual C'ish notations for integers (decimal, hexadecimal, octal), floating point values and double-quoted strings are all provided, although the Pure syntax differs in some minor ways, as discussed in the following. First, there @@ -491,7 +491,7 @@ to handle these kinds of exceptions just like any other. For instance: .sp .nf -> fact n = if n>0 then n*fact(n-1) else 1; +> fact n = \fBif\fP n>0 \fBthen\fP n*fact(n-1) \fBelse\fP 1; > catch error (fact foo); error failed_cond > catch error (fact 100000); @@ -604,7 +604,7 @@ declaration into a script): .sp .nf -> extern double sin(double); +> \fBextern\fP double sin(double); > sin 0.3; 0.29552020666134 .fi @@ -613,7 +613,7 @@ e.g.: .sp .nf -extern double sin(double x); +\fBextern\fP double sin(double x); .fi .sp Parameter names in prototypes only serve informational purposes and are for @@ -678,7 +678,7 @@ declaration with a clause of the form ``= \fIalias\fP''. For instance: .sp .nf -> extern double sin(double) = c_sin; +> \fBextern\fP double sin(double) = c_sin; > sin x::double = c_sin x; > sin x::int = c_sin (double x); > sin 0.3; sin 0; @@ -687,12 +687,12 @@ .fi .PP External C functions are resolved by the LLVM runtime, which first looks for -the symbol in the interpreter executable. Since the interpreter links in its -own runtime support as well as all of the standard C library, these functions -are ready to be used in Pure programs. Other functions can be made available -by including them in the runtime, or by linking the interpreter against the -corresponding modules. Or, better yet, you can just ``dlopen'' shared -libraries at runtime with a special form of the +the symbol in the C library and Pure's runtime library (or the interpreter +executable, if the interpreter was linked statically). Thus all C library and +Pure runtime functions are readily available in Pure programs. Other functions +can be provided by including them in the runtime, or by linking the +interpreter against the corresponding modules. Or, better yet, you can just +``dlopen'' shared libraries at runtime with a special form of the .B using clause: .sp @@ -713,9 +713,9 @@ .PP Shared libraries opened with \fBusing\fP clauses are searched for on the usual system linker path (\fBLD_LIBRARY_PATH\fP on Linux). The necessary filename -suffix (\fB.so\fP on Linux) will also be supplied automatically. You can also -specify a full pathname for the library if you prefer that. If a library file -cannot be found, or if an +suffix (e.g., \fB.so\fP on Linux or \fB.dll\fP on Windows) will also be +supplied automatically. You can also specify a full pathname for the library +if you prefer that. If a library file cannot be found, or if an .B extern declaration names a function symbol which cannot be resolved, an appropriate error message is printed. @@ -886,7 +886,9 @@ Output is piped through the .BR more (1) program to make it easier to read, as some of the options (in particular, -.BR -c and -d ) +.B -c +and +.BR -d ) may produce excessive amounts of information. .PP For instance, to list all definitions in all loaded scripts (including the @@ -1009,8 +1011,8 @@ rules, but \fIbelow\fP our previous `foo (x:xs) = x*foo xs;' equation entered at the same level. As you can see, we have now effectively replaced our original definition of `foo' with a version that calculates list products -instead of sums, but of course we can easily go back to the previous level to -restore the previous definition: +instead of sums, but of course we can easily go back one level to restore the +previous definition: .sp .nf > \fBclear\fP This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |