Libraries available for PARLANSE
Modern programming languages are partly about what they can express better than other languages. But much of what makes a modern language usable are libraries that help programmers accomplish seemingly mundane tasks such as file I/O.
PARLANSE (being a parallel language) is available with parallel-execution and parallel-safe libraries for the following:
- Algorithms: generic Binary Search and QuickSort
- Arrays: ArrayLists and various array instances
- Characters: a wide variety of Unicode character set predicates and operations
- DecisionDiagrams: Binary Decision Diagrams and extension (from Binary) to Finite (Domain) Decision diagrams
- Hash/HashTrees: scalable generic hash tables; special support for hashing on strings; special hashing functions FNV and SBox.
- LinearProgramming: Binary Integer Linear programming solvers
- Numbers: full-accuracy floating point conversions to/from strings; infinite precision integers and rationals; extremely random numbers with very long periods
- RegularExpressions: a full regular expression package operating on Unicode with ability to extract matched substrings
- SQL: ODBC access to SQL databases
- Streams: I/O to console and files for a wide variety of character encodings, including ASCII, Unicode, and EBCDIC; printf-style string formatting; HTML and XML output stream generation
- System: CRC, String operations, String Scanning, Bit Vectors, Windows DLL access, Graphics
- SuffixTrees: for strings and abstract syntax trees
- TestSupport: Unit testing facilities
- Utility: Calendar, Environment variable access, Timers
These libraries are more than adequate to enable very large, complex PARLANSE-based applications such as the DMS Software Reengineering Toolkit (several million lines).