2024-09-07: | Overhaul of the LOOP compilation mechanism, for better error handling without any change of the user-visible syntax. Addition of a new integer subrange type accessible to the LO and HI functions, to ALL looping, and asserted by rtchecks. — Current version now is 2024-11-14. |
2024-07-18: | rtchecks now also checks for integer overflow, through the gcc option -fsanitize=signed-integer-overflow . — Current version now is 2024-09-04. |
2024-05-15: | Remote-editing capability added to the editor, including Tab-completion of remote filenames; in addition Shift-Tab now displays available completions (or filenames) in list form. — Current version now is 2024-07-17. |
2024-02-15: | Transparent handling of variables contained in #pragma directives. Allows the use of CPL variables and arrays in OpenMP and OpenACC directives, with automatic inclusion of array size and offset. — Current version now is 2024-05-05. |
2023-12-27: | Complete overhaul of the editor's undo subsystem. Now binary-file compatible and with new unified semantics. — Current version now is 2024-02-14. |
2023-06-15: | Compiler and linker options added to Makefile for compatibility with gcc-12. — Current version now is 2023-11-28. |
2023-03-26: | UTF-8 support added to both the language and the editor: literal STRINGs and INLINE or Deferred-assignment descriptors can contain international Unicode characters, and the editor can manage and align both single- and double-width UTF-8 characters displayed by the underlying console. New hex editor mode introduced. Direct assignment of compound types containing STRING fields is now handled correctly. ".." and "TO" are now synonyms and can both be used in ARRAYs and LOOPs just as well. The fri code is now free of nested functions and can be installed on systems that lack this feature. — Current version now is 2023-06-08. |
2023-01-06: | Added multiple selection buffer and mixed corrections to the editor. Added capability of the compiler and interpreter to redefine keywords, with some related improvements. New multilingual package: now your CPL program can be written in your own localization, with an example provided using the Neapolitan dialect. — Current version now is 2023-02-13. |
2022-11-20: | New Compiler and programming Language FAQ page. |
2022-10-16: | New OPERATOR overloading statement. Editor now offers to reload file that was modified by other programs. — Current version now is 2022-12-29. |
2022-09-17: | Spectral-CD-DNS added to Applications. A classic spectral, compact-difference direct numerical simulation of turbulent channel flow in 300 lines of CPL. |
2022-09-04: | Memory-allocation strategy made thread-safe. CPL can now transparently use OpenMP directives. Other minor corrections. — Current version now is 2022-10-06. |
2022-07-29: | No-line-wrap option added to the editor. Various minor corrections. — Current version now is 2022-08-30. |
2022-06-12: | Floating-point exception handling for Apple ARM. Corrected rare crash in the editor's undo command. mpicpl driver added to the cpl script. — Current version now is 2022-07-15. |
2022-05-23: | Redenomination of a)ttr (editor menu) to o)ption and of l(o)ad to lo(a)d. New OPENMOVIE instruction in gnuplot.cpl records a graphic animation as a movie. Tutorials increased to 15. — Current version now is 2022-06-10. |
2022-05-04: | rbmatmod added to Applications. Distributed-memory extension of the rbmat.cpl library that solves a banded linear system by distributing the work across multiple nodes. |
2022-05-02: | Multigrid added to Applications. CPL library that solves the 2D and 3D constant-coefficient Poisson equation using a multigrid iteration. |
2022-03-28: | Quaternions added to Applications. CPL library providing a QUATERNION type and operations upon it in a straightforward algebraic syntax. |
2022-03-24: | Restyling of compilation commands. makecpl becomes cpl make , makecpl -a becomes cpl remake , makecpl -r becomes cpl run , icpl becomes cpl i , icpl -edit becomes cpl edit , infocpl becomes cpl info . Previous command names remain available for backward compatibility. — Current version now is 2022-05-22. |
2022-02-28: | Re-introduction of the INLINE FUNCTION declaration in symbolic.cpl. Misc. corrections. — Current version now is 2022-03-20. |
2022-01-22: | BoostConv added to Applications. Improves (or even enables) the convergence of a pre-existing, linear or nonlinear, iterative algorithm. |
2021-12-18: | Thomas53 added to Applications. Reproduction of the historical (Thomas, 1953) compact-difference computation of eigenfunctions and eigenvalues of the Orr-Sommerfeld equation. |
2021-12-12: | New Share CPL page. Article CPL codes added to Applications. Tutorials increased to 12. |
2021-11-23: | Revised strategy of parenthesis autocompletion and richer word autocompletion in the editor; added new features of autocompletion hints and repeat last command; use of for rather than while in generated C code for easier post-processing, modified tar options in unpack-cpl.sh , and various mixed corrections. — Current version now is 2021-11-23. |
2021-10-16: | Compilation now restarts automatically in all cases where modifications to an inner module require an outer one to be re-compiled; manual makecpl -a should be largely unnecessary, unless file dates are incorrect. FRI info and online manual expanded, SINGLE type added to interactive cpl, and miscellaneous corrections. — Current version now is 2021-10-16. |
2021-09-16: | -r (run) option added to makecpl provides just-when-needed compilation and unix interpreter directive; corrections to the editor and additions to the documentation. — Current version now is 2021-09-16. |
2021-07-15: | Extended capabilities of plot instruction and other minor corrections — Current version now is 2021-07-15. |
2021-07-10: | TurbMeanFlow added to Applications. Toolbox offering a mean turbulent velocity profile as a CPL FUNCTION that can be used for plotting or as a component of your own program. |
2021-05-30: | Click-to-copy functionality added to Download and howto pages. |
2021-04-30: | OSE added to Applications. Evaluates the eigenvalues of the Orr-Sommerfeld equation with a spectral collocation method. |
2021-04-29: | Corrected ERROR malfunction, ASK instruction, various editor and generic corrections. gnuplot.cpl now continues with no graphics if gnuplot absent (previous behaviour was to halt the program) — Current version now is 2021-04-29. |
2021-04-12: | Added CPL-on-Macintosh howto. |
2021-03-04: | Changed DIV truncation to floor , as it already was for MOD. Faster SPLOT. Faster BINARY array reads and writes — Current version now is 2021-03-04. |
2021-02-15: | MeanandVar added to Applications. Estimates the mean of a statistically stationary time series simultaneously with a variance of the estimate itself. |
2021-02-15: | Removed incorrect use of C extern that created incompatibility with gcc 10, incorrect precedence of operators in symbolic.cpl, stuck READ at end of file, and fixed minor bugs — Current version now is 2021-02-15. |
2021-01-14: | Bugs fixed in both interactive cpl and the editor, including one that caused occasional editor crashes. Re-included lapack-eigenvalues library in the distribution archive; interactive cpl is now able to execute it. FUNCTION declaration extended with result type dimensions possibly depending on previous parameters — Current version now is 2021-01-14. |
2021-01-01: | Step-by-step instructions to use CPL with Microsoft Windows: CPL-on-Debian-on-Windows howto. |
2020-12-23: | Introducing CPL appears in arXiv:2012.12143. |
2020-12-18: | New page of scientific application references. |
2020-12-16: | Several bugs fixed, mostly but not only in the editor; mixed corrections and addition of search boxes to the documentation menus; new Questions&Answers section (both offline and online); new introduction of automatic check for updates through makecpl — Current version now is 2020-12-16. |
2020-12-01: | — CPLcode.net website is launched! — Current CPL version now is 2020-12-01. |
2020-02: | The cpl editor makes its first appearance. |
2018-05: | symbolic.cpl undergoes a complete makeover. |
2006-12: | The logo is designed. |
2002-02: | CPL begins to be packaged as a self-extracting archive. |
2000-12: | symbolic.cpl makes its appearance. |
2000-05: | The interactive CPL interpreter cpli is introduced. |
1999: | parallel.cpl is introduced. |
1997: | The makecpl driver script and the fft.cpl library appear. |
1996: | CPL has become powerful enough to compile fri . The FRI interpreter fri has been rewritten in CPL, and in CPL will be from now on, and the CPL compiler cpl.fri was and will always be written in FRI. The matrix-operations, graphics and runtime-checks libraries are by now a functional and stable part of the package. |
1993: | Oldest preserved version of the FRI formal-rule language and its fri interpreter, then written in Modula-2 , equipped with a fortran.fri partial FORTRAN-to-C compiler and its modification modfor.fri , which would gradually become an independent language soon to be named CPL. |