[X] The "/vmpk/vmpk-0.2.5-setup.exe" file could not be found or is not available. Please select another file.

Al2 is a language, close to C++ and Java, designed for use in mathematics and science, but is procedural unlike Mathematica and Maple. Like C++, class operators can be defined. Like Java, there is no need for header files. Aled is an interface to AL2.


http://aled.sourceforge.net





Separate each tag with a space.

Release Date:

2008-01-16

Topics:

License:

Ratings and Reviews

Be the first to post a text review of The AL2 Language. Rate and review a project by clicking thumbs up or thumbs down in the right column.

Project Feed

  • Ver 2.52 released with one major fix and some enhancements.

    One major fix in the installation plus several enhancements and minor fixes. * Rational arithmetic package added. * Improvements to the BigInt internal class. * A new /DEPRECATE command for AL2 classes. * and more (See ReleaseNotes.txt)

    posted by awynjones 660 days ago

  • File released: /aled/Aled Version 2.52/Aled_v252.zip

    posted 663 days ago

  • aled Aled Version 2.52 file released: Aled_v252.zip

    posted 663 days ago

  • File released: /aled/Aled 2.51/aled_v251.zip

    posted 964 days ago

  • aled Aled 2.51 file released: aled_v251.zip

    Release Notes for Aled v 2.51 ----------------------------- This is a minor bug-fix release. F12 (compiler start) and F11 (execution) keys are now disabled in the results screen. "EXEC" now shows in the Aled screen title from when the compiler starts until the compiler is stopped. Previously, it would disappear after any file editing. The Aled editor Edit menu items "Define a flag-point Alt-F.." and "Go to a flag-point Alt-N.." were inactive. They are now active. The DPlot_SetTitles function would hang unless the argument list was terminated by a zero. Fixed. integral.al2 would allow less than 4 iterations contrary to documemtation. Fixed. stdout_tabToCol(int n) would hang in Aled and Alcon if n > 256. Fixed. Files affected in this release: Aled\wedit.rc Aled\weditmx.cpp Aled\wedit_al2.h Aled\weditx.h Aled\AL2\al.h Aled\AL2\alcontrol.cpp Aled\AL2\aldir.h Aled\AL2\allocs.cpp Aled\AL2\almainide.cpp Aled\AL2\command.cpp Aled\AL2\command.h Aled\AL2\crous.cpp Aled\AL2\directory.cpp Aled\AL2\exec.cpp Aled\AL2\runstack.h Aled\AL2\version.cpp Aled\src\Integral.al2 WEdit\wedit.cpp WEdit\weditf.cpp WEdit\weditk.cpp WEdit\weditm.cpp Aled\AledManual.doc, Aled\AledManual.htm Release Notes for Aled v 2.50 22 Feb 2007 ----------------------------- This is a major release: Intrinsic array operators have been added. BACKWARD INCOMPATIBILITY. ------------------------- Several internal functions were renamed to reduce the chances of conflicts with user variables. (This problem was reported in a commercial application which was unable to name a variable "products") The following Number Theory functions have been renamed: Old Name New Name --------------- --------------------- factor NT_factor factors NT_factors divisors NT_divisors products NT_products chinese NT_chinese Affected files: crous.cpp Changes and Enhancements ------------------------ Array operators have been added to the compiler. For example, if A and B are arrays having an arbitrary number of dimensions, then the following expressions are defined and do reasonable things (provided the dimensions are compatible): A + B A - B A += B A -= B A = B * 3.45 A = B / 1.23e3 A = B % 43 A *= 3.45 A /= 1.23e3 A %= 43 (all entries reduced modulo 43) A * B (inner product) A :x: B (outer product) sum: A sumsq: A avg: A A^5 (power of a square matrix) For more details, see the new chapter, "ARRAY OPERATORS" in the Aled manual. New files: AL2\OpArrays.cpp AL2\OpArrays.h Affected files: AL2\Allocs.cpp (for preGCCallBack alerts) AL2\Allocs.h ( " ) AL2\Array.cpp AL2\Array.h AL2\Matrix.cpp AL2\Matrix.h AL2\Op.h AL2\OpFunGen.cpp AL2\Opgen.cpp AL2\Ops.cpp AL2\Ops.h AL2\Reserved.cpp AL2\Reserved.h src\Group.al2 (because the /+ operator is now intrinsic) Eliminated the built-in functions randomSeed and shuffle, and created a new internal class called Rand which is an interface to a new C++ class called Rand32. Then re- implemented the #-operator as an internal instantiation of Rand32. The new internal class Rand allows you to instantiate your own pseudo-random number generators (PRN generators) each of which will generate an independent sequence. As part of this change, the #-operator was broadened to be a binary operator as well as post-unary. As a binary operator with all-numeric operands, it returns a vector of random numbers. With an instance of Rand as a left operand, the #-operator generates a sequence using the given instance. Also as part of this change, the pseudo-random number generator (PRNG) has been rewritten. The new PRNG uses three counters modulo three different primes and copies these into three areas of 10, 11, and 11 bits making up a 32-bit word. This word is then rotated by an amount equal to the iteration number (mod 32) to prevent any pattern of arithmetic mod one of the three primes being manifested in the same position. Finally, the result is XOR'd with a fourth, 32-bit counter of periodicity 2^30. This probably results in a total periodicity for the PRNG of about 10^24. The new PRNG is about 5% slower than the old one when p-code execution overhead is taken into account. Removed files: num\urand.cpp New files: num\Rand32.cpp num\Rand32.hpp AL2\Rand.cpp Affected files: AL2\AlControl.cpp instantiates Rand32 for the #-operator. AL2\OpRous.cpp and AL2\OpRous.h implement the new binary #-operator. AL2\ops.cpp and AL2\ops.h define the new binary #-operator. AL2\OpGen.cpp and AL2\OpGen.h compile the new binary #-operator. AL2\Reserved.cpp and AL2\Reserved.h declare the new binary #-operator. AL2\crous.cpp and AL2\crous.h implement the SYS_getPRNG function. AL2\CClass.cpp loads the class definition of Rand. The "more>>" text continuation message will now abort the current process if the user cancels. The user cancels by typing the Escape key in Aled and Alcon, or by depressing the 'X' or 'Q' keys in Alcon. Affected files: AL2\AlMainConsole.cpp, AL2\AlMainIDE.cpp Precedence of the set/multiset operators explained. A new paragraph was added to the manual explaining that the precedence of the set/multiset operators <-, ->, ->>, >-> are below that of the arithmetic operators. Thus, arithmetic operators are evaluated first, and then the set operators are applied. Affected files: AledManual.doc, AledManual.htm The Poly.fromString method can now take string polynomials of arbitary degree. Thus, the example below is now acceptable (provided there is enough memory to hold the polynomial): Poly f = "x^1000000 - 1" The code which creates Group operators now tests for an existing operator (code=3) and ignores this code. This was necessitated when the new array operators conflicted with the Group operators, but since the operators are still valid Group operators, there was no need to error this condition. Bug Fixes (roughly in decreasing order of severity) --------------------------------------------------- Error log file bug. A REALLY BAD BUG. Aled 1.45 would try to open an error log file using a hard- coded path. The path was a leftover from a debugging session which unfortunatley I forgot to remove from the source code. When Aled failed to create the log file (as it usually did), the compiler would refuse to start. The fix was to remove the logging facility and the related Tracing option in the F12 menu. Affected files: AL2\AlMainIDE.cpp AL2\AlControl.cpp wedit.rc WEditmX.cpp WEditX.h A bug introduced in 2.45: the /SHOW command no longer worked. For example, /SHOW class Poly would show an empty class. This has been fixed. Affected file: AL2\command.cpp The following trivial program was errored when loaded by Alcon but not when run interactively: local: x = 0; The error condition was caused an an imprecise check in the assgen function. Affected file: AL2\OpGen.cpp. The array copy routines did not protect the array to be copied from GC. Affected file: AL2\OpRous.cpp A collection of bugs whereby string pointers were not checked for null pointers before being used have all been fixed. Affected files: AL2\OpRous.cpp, AL2\RunStack.h The following bug has been fixed p = 11n; /mod on // Get warning message -- no modulus set setModulus(p*p); // Aled hangs attempting to calculate p*p in modular arithmetic. Affected file: AL2\Modular.cpp factors (now called NT_factors) returned a static array. The number theory function factors(num n) returned a 2-dimensional static array. Thus, called a second time, the original result would be overwritten. The function now returns a regular array allocated through allocs (and is therefore subject to GC). Affected file: AL2\crous.cpp The result of the following statement was a byte variable. x = 1234 / 'A' It is now an int variable. Affected file: AL2\OpGen.cpp (the ar2gen routine) Innocuous bug in routines supporting string methods. The inline routine getStringPtr did not contain a return statement. However, the compiler left the required value in the EAX register. So the string methods actually worked. Affected file: OpRous.cpp Comment after load command errored. Aled 2.45 allowed multiple commands per line. This feature is no longer supported since it was never used (and undocumented). Affected file: AL2\Command.cpp Bug in src\Poly.al2 fixed. Polynomial strings ending in "... - 123 + x^321" (where 123 and 321 are arbitrary numbers) resulted in the wrong sign on x^321. Affected file: src\Poly.al2

    posted 964 days ago

  • File released: /aled/Demo files for 2.50/Demo250.zip

    posted 990 days ago

  • aled Demo files for 2.50 file released: Demo250.zip

    posted 991 days ago

  • File released: /aled/Version 2.50/Aled250BinaryOnly.zip

    posted 991 days ago

  • File released: /aled/Version 2.50/Aled250.zip

    posted 991 days ago

  • New release with major enhancement and fix.

    Aled version 2.50 contains a major enhancement: many arithmetic operators have been extended to arrays. The release also contains a major fix: the compiler would sometimes refuse to start; this was fixed.

    posted by awynjones 991 days ago

Rate and Review

Be the first person to add a text review.

Would you recommend this project?






<

Related Projects

The AL2 Language Actions

Thanks for your rating!

Would you also like to write a review?





Skip Review