Apache Groovy
Apache Groovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax. It integrates smoothly with any Java program, and immediately delivers to your application powerful features, including scripting capabilities, Domain-Specific Language authoring, runtime and compile-time meta-programming and functional programming. Concise, readable and expressive syntax, easy to learn for Java developers. Closures, builders, runtime & compile-time meta-programming, functional programming, type inference, and static compilation. Flexible & malleable syntax, advanced integration & customization mechanisms, to integrate readable business rules in your applications. Great for writing concise and maintainable tests, and for all your build and automation tasks.
Learn more
Haskell
Every expression in Haskell has a type that is determined at compile time. All the types composed together by function application have to match up. If they don't, the program will be rejected by the compiler. Types become not only a form of guarantee, but a language for expressing the construction of programs. Every function in Haskell is a function in the mathematical sense (i.e., "pure"). Even side-effecting IO operations are but a description of what to do, produced by pure code. There are no statements or instructions, only expressions that cannot mutate variables (local or global) nor access state like time or random numbers. You don't have to explicitly write out every type in a Haskell program. Types will be inferred by unifying every type bidirectionally. However, you can write out types if you choose, or ask the compiler to write them for you for handy documentation.
Learn more
PDF-LIB
Create and modify PDF documents in any JavaScript environment. Create PDF documents from scratch, or modify existing PDF documents. Draw text, images, and vector graphics. Embed your own fonts. Even embed and draw pages from other PDFs. Written in TypeScript and compiled to pure JavaScript with no native dependencies. Works in any JavaScript runtime, including browsers, Node, Deno, and even React Native. Add, insert, and remove pages. Split a single PDF into separate ones. Or merge multiple PDFs into a single document. Create new forms or fill and read existing fields. Checkboxes, buttons, radio groups, dropdowns, option lists, and text fields are all supported. If you aren't using a package manager, UMD modules are available on the unpkg and jsDelivr CDNs. Note that only some PDF readers can view attachments. This includes Adobe Reader, Foxit Reader, and Firefox. If you are using the CDN scripts in production, you should include a specific version number in the URL.
Learn more
Roy
Roy is an experimental programming language that targets JavaScript. It tries to meld JavaScript semantics with some features common in static functional languages.
Learn more