Elixir is a dynamic, functional language designed for building scalable and maintainable applications. Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.
programming-language language erlang-vm functional-language scalableOCaml is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML.OCaml comprises two compilers. One generates bytecode which is then interpreted by a C program. This compiler runs quickly, generates compact code with moderate memory requirements, and is portable to essentially any 32 or 64 bit Unix platform. Performance of generated programs is quite good for a bytecoded implementation. This compiler can be used either as a standalone, batch-oriented compiler that produces standalone programs, or as an interactive, toplevel-based system.
ocaml compiler functional-language machine-learningCoconut (coconut-lang.org) is a variant of Python that adds on top of Python syntax new features for simple, elegant, Pythonic functional programming.
functional language functional-programming functional-language programming-language coconutScala is a pure-bred object-oriented language. Conceptually, every value is an object and every operation is a method-call. The language supports advanced component architectures through classes and traits. Even though its syntax is fairly conventional, Scala is also a full-blown functional language. It has everything you would expect, including first-class functions, a library with efficient immutable data structures, and a general preference of immutability over mutation.
programming-language jvm-language functional-language functional object-orientedBuilding a modern functional compiler from first principles. This is a work in progress.
haskel compiler book evaluation lambda-calculus type type-checking type-system pdf-book functional-programming functional-language hindley-milner type-inference type-theory intermediate-representationGroovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at multiplying developers’ 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.
programming-lanugage dynamic-language language jvm-language functional-languageEta is a pure, lazy, strongly typed functional programming language on the JVM. It is a dialect of Haskell on the JVM. It is pure by default which means that calling a function with the same arguments will yield the same results every time. It is lazy by default which means that data stays in unevaluated state until a function needs to peek inside.
programming-language functional-language jvm-language concurrency functional-programmingEla is a modern functional programming language that runs on CLR and Mono. It's developed in C#.
compiler developer-tools dynamic-language functional-language ide interpreterC++ Utilities for GPU Accelerated GUI and Script
async colorizer compiler dock dynamic-language functional-languageNOTE: Tidy is still under development and this repository is not yet ready for public consumption. Most development is going on in the underlying typy repository for now. Tidy aims to address these concerns by embedding a typed functional programming language cleanly into Python, as a library. You can install Tidy by running pip install tidy today.
programming-language functional-language algebraic-data-types pattern-matchingJan is a purely functional programming language with an ultra minimalist syntax. It is named after Jan Ćukasiewicz, a Polish logician and philosopher creator of the Polish notation, also known as Prefix notation, which is a form of notation for logic, arithmetic and algebra. The distinguishing feature of this language is that it places operators to the left of their operands. Given that the arity of the operators and functions in the language is fixed, the result is a syntax lacking parentheses or other brackets that can still be parsed without ambiguity. Although Jan is a general purpose language, it is mostly intended to be used as a tool for learning functional programming. A program written in Jan consists of a set of functions. A function consists of a set of expressions that are evaluated sequentially. An expression is a combination of explicit constants, parameters, operators and functions that are evaluated to return a value (or an empty result). The language follows the off-side rule to define its syntax (i.e., blocks are expressed by indentation marks). A Jan script should have a .jan extension.
language prefix-notation functional-programming functional-language jan polish-notation programming-languageCurv is a programming language for creating art using mathematics. It's a 2D and 3D geometric modelling tool that supports full colour, animation and 3D printing. Two platforms are currently supported: Linux and macOS. I currently test on Ubuntu LTS and macos 10.11. Windows support is planned but not scheduled.
signed-distance-field function-representation solid-modeling functional-language art mathematics language csg 3dDst is a functional and imperative programming language and bytecode interpreter. It is a modern lisp, but lists are replaced by other data structures with better utility and performance (arrays, tables, structs, tuples). The language can also easily bridge to native code written in C, and supports abstract datatypes for interfacing with C. Also support meta programming with macros, and bytecode assembly for the dst abstract machine. The bytecode vm is a register based vm loosely inspired by the LuaJIT bytecode format, but simpler and safer (bytecode can be verified by the assembler). There is a repl for trying out the language, as well as the ability to run script files. This client program is separate from the core runtime, so dst could be embedded into other programs.
language vm lisp macros repl interpreter functional-language imperative-languageJanet is a functional and imperative programming language and bytecode interpreter. It is a modern lisp, but lists are replaced by other data structures with better utility and performance (arrays, tables, structs, tuples). The language can also easily bridge to native code written in C, and supports abstract datatypes for interfacing with C. Also support meta programming with macros, and bytecode assembly for the janet abstract machine. The bytecode vm is a register based vm loosely inspired by the LuaJIT bytecode format, but simpler and safer (bytecode can be verified by the assembler). There is a repl for trying out the language, as well as the ability to run script files. This client program is separate from the core runtime, so janet could be embedded into other programs.
language vm lisp macros repl interpreter functional-language imperative-languageNever is a simple functional programming language. Technically it may be classified as syntactically scoped, strongly typed, call by value, functional programming language. In practise Never offers basic data types, assignment, control flow, arrays, first order functions and some mathematical functions to make it useful to calculate expressions. Also it demonstrates how functions can be compiled, invoked and passed as parameters or results between other functions.
programming-language functional-programming compilers virtual-machine language functional-language scripting-languageLearning Javascript on my own
frontend front-end js functional-programming functional-js functional-languages functional-language
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.