# ClojureScript

> Clojure implementation that compiles to JavaScript

**Wikidata**: [Q21659868](https://www.wikidata.org/wiki/Q21659868)  
**Source**: https://4ort.xyz/entity/clojurescript

## Summary
ClojureScript is a Clojure implementation that compiles to JavaScript, enabling the use of Clojure's functional programming paradigm in web browsers and JavaScript environments. It provides a seamless way to write high-performance web applications using the expressive syntax and features of the Clojure language.

## Key Facts
- ClojureScript is a dialect of the Clojure programming language that compiles to JavaScript code
- It is licensed under the Eclipse Public License 1.0
- The official website is https://clojurescript.org/ and is available in Russian language on Wikipedia
- It has a source code repository at https://github.com/clojure/clojurescript
- Its GitHub topics include "cljs" and "clojurescript"
- ClojureScript is classified as a programming language
- It has a Google Knowledge Graph ID: /g/11bc981lcc

## FAQs
### Q: What programming language is ClojureScript based on?
A: ClojureScript is based on Clojure, which is a dialect of the Lisp programming language that was created in 2007.

### Q: What does ClojureScript compile to?
A: ClojureScript compiles to JavaScript, allowing Clojure code to run in web browsers and other JavaScript environments.

### Q: Is ClojureScript open source?
A: Yes, ClojureScript is open source and licensed under the Eclipse Public License 1.0.

### Q: What are the common use cases for ClojureScript?
A: ClojureScript is commonly used for web application development, providing a functional programming approach to building client-side applications and user interfaces.

## Why It Matters
ClojureScript bridges the gap between functional programming and web development, allowing developers to leverage the robust features of Clojure—including immutability, functional composition, and macros—in JavaScript environments. This approach enables the creation of more maintainable and bug-free front-end applications through functional paradigms that are difficult to implement in traditional JavaScript. The compilation process also provides opportunities for optimization, allowing ClojureScript applications to perform efficiently in browsers while benefiting from the rich ecosystem of JavaScript tools and libraries.

## Notable For
- Being a direct compilation target of Clojure, enabling functional programming in JavaScript environments
- Providing access to JavaScript ecosystem while maintaining Clojure's functional programming advantages
- Supporting modern web development with features like hot-reloading tools such as shadow-cljs
- Being used in notable applications like Logseq and Heraldicon, demonstrating its practical utility in real-world projects
- Maintaining compatibility with the wider Clojure ecosystem while targeting JavaScript execution

## Body
### Technical Foundation
ClojureScript is a compilation target for Clojure, transforming Clojure code into JavaScript that can be executed in web browsers or other JavaScript environments. It maintains the same syntax and core language features as Clojure while adapting to JavaScript's execution model.

### Compilation Process
The compilation process translates ClojureScript code into JavaScript through a sophisticated transformation pipeline. This process preserves the functional nature of Clojure while ensuring compatibility with JavaScript runtime environments. The result is code that can be directly included in web pages or used in Node.js applications.

### Community and Ecosystem
ClojureScript has been adopted by several notable projects including Logseq (an open-source knowledge management application launched in 2020) and Heraldicon (a web application for designing heraldic achievements launched in 2021). It maintains active development with its source code hosted on GitHub, where it also has build tools like shadow-cljs specifically designed for ClojureScript development.

### Relationship to Other Languages
ClojureScript is directly derived from Clojure, inheriting its core language characteristics while being specifically designed to compile to JavaScript. This relationship allows for code sharing between Clojure and ClojureScript projects, creating a unified programming experience across different runtime environments.

### Licensing and Distribution
ClojureScript is distributed under the Eclipse Public License 1.0, making it freely available for both open source and commercial use. The project's source code is actively maintained on GitHub, with regular updates and community contributions driving its development.

## Schema Markup
```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "ClojureScript",
  "description": "A Clojure implementation that compiles to JavaScript",
  "url": "https://clojurescript.org/",
  "sameAs": [
    "https://www.wikidata.org/wiki/Q2005",
    "https://en.wikipedia.org/wiki/ClojureScript"
  ],
  "additionalType": "ProgrammingLanguage",
  "license": "Eclipse Public License 1.0",
  "codeRepository": "https://github.com/clojure/clojurescript"
}

## References

1. [Source](https://api.github.com/repos/clojure/clojurescript)
2. [2025](https://github.com/EvanLi/Github-Ranking/blob/master/Data/github-ranking-2025-07-06.csv)
3. [Source](https://github.com/clojure/clojurescript)