Giter VIP home page Giter VIP logo

awesome-clojure's Introduction

Awesome Clojure Awesome

Awesome macros usage

Answers why the lisp shines, killer features in action

  • core.async - transforms AST into CSP programs
  • cloroutine - suspends and continuations (coroutines)
  • missionary - a reactive dataflow programming toolkit
  • photon - realtime web, like Meteor, but for Clojure(Script)
  • metaclj - staged compilation
  • meander - transparent data transformation using datastructure pattermatching
  • proteus - introduce mutable variables (don't use, just learn how to map your mind into immutable world)

Advanced datastructures

  • specter: an elegant API for querying and transforming nested and recursive data
  • meander: transparent data transformation (defined as pattern-matching)
  • Persistent AVL trees: persistent sorted maps and sets with log-time rank queries
  • Finger Tree: double-list, counted-double-list, counted-sorted-set
  • Hitchhiker Tree: create fast, snapshottable, massively scalable databases
  • Hierarchical set
  • Ordered: ordered sets and maps
  • Lazy Map: whose values are only calculated when accessed
  • Duratom: persisted atoms
  • Durable Queue: queue persisted on disk
  • bifurcan: linear map/set/list (stores entries contiguously in memory), ;writtern in java, but test suite (read: usage examples) in clojure

Web Framework

Actually don't search rails/django here, but compose them by yourself

Dependency injection

Managed lifecycle of stateful objects

Build Automation and Package management

Libraries for project build automation and package/dependency management.

Version Control Management

Code utilities for interacting with VCS software

Date and Time

Libraries for working with dates and times.

GUI

Audio

HTTP

Libraries for working with HTTP.

  • clj-http : Apache HttpComponents client wrapper
  • http-kit : Simple, high-performance event-driven HTTP client and server
  • ring : HTTP server abstraction
  • kvlt : Uniform, asychronous client interface for HTTP across JVM / Node / browsers
  • aleph : Async client/server based on Netty, with defaults for HTTP, TCP and UDP
  • hato : An HTTP client for Clojure, wrapping JDK 11's HttpClient

Database

Databases and database client libraries

Connection pools

Database connection pools

Structural Migrations

Keeps database and others in sync

Redis

JSON

Protocol Buffers and gRPC

Database Cli

ORM and SQL generation

DSL for SQL generation.

Security

Authentication, authorization and other security related libraries.

RESTful API

Libraries for developing RESTful APIs.

GraphQL API

Libraries for developing GraphQL APIs.

Emails

HTML Manipulation

Libraries for working with HTML.

Data Validation

Libraries for validating data.

Type System

Optional type system for Clojure

Pattern Matching

Async processing

Monads

WebSocket

Testing

Webdriver automation

Code Analysis and Linter

Science and Data Analysis

Libraries, extended REPLs, and other tools for scientific and statistical data anylysis and visualization.

Machine Learning

Computer Vision

Text Processing

Parsing

Exceptions and Error Handling

Rule-based Programming

Editor Plugins

Documentation

Utilities and libraries for (non-LP) code and project documentation

Literate Programming

Archives and Compression

Miscellaneous

Debugging

CI

Project Management

Terminal UI

Graphviz

Game Development

  • jme-clj - A Clojure 3D Game Engine (Wrapper), Powered by jMonkeyEngine
  • play-cljc - A Clojure and ClojureScript game library

Guides

Video tutorials

YouTube

Websites

Twitter

Exercises

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.