Content deleted Content added
initial draft of a Coalton page |
add logo and a features section |
||
Line 10:
| name = Coalton
| title =
| logo = Coalton Logo (gray).svg
| logo
| paradigms = [[multi-paradigm programming language|multi-paradigm]]: [[functional programming|functional]], [[Imperative programming|imperative]]
| typing = [[Type inference|inferred]], [[Static typing|static]], [[Strong and weak typing|strong]]
Line 37:
== History ==
Robert Smith created Coalton to confer the benefits of static typing within the interactive, incremental programming environment of Common Lisp. Coalton has since been used for quantum computing research<ref>https://coalton-lang.github.io/20211010-introducing-coalton/</ref>, the implementation of the [[Quil (instruction set architecture)|Quil]] compiler<ref>https://coalton-lang.github.io/20220906-quantum-compiler/</ref>, and defense applications.
Coalton is used<ref>https://meetings.aps.org/Meeting/MAR23/Session/F70.8</ref> at [[HRL Laboratories]] for building software for qubits based on exchange-only [[Silicon quantum dot|silicon dots]].
== Features ==
* Static typing with global type inference.
* Algebraic data types, pattern matching, and compile-time exhaustiveness checking.
* Multi-parameter type classes with functional dependencies.
* Machine code compilation (on Lisp hosts that support it).
* Compiler optimizations including heuristic inlining.
* Separate development and release modes.
* Inline Common Lisp code with the <code>lisp</code> operator.
* Advanced numerical data types including [[dual number|dual numbers]], hyper dual numbers, computable real numbers, and arbitrary precision floating point numbers.
== Examples ==
|