Giter Site home page Giter Site 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

awesome-clojure's People

Contributors

0xtmphey avatar avgerin0s avatar barkanido avatar baumandm avatar camsaul avatar darkleaf avatar ertugrulcetin avatar gnl avatar hamido-san avatar hantuzun avatar ikitommi avatar j-cr avatar jcaromiq avatar komarserjio avatar liuchong avatar madcapjake avatar mkaschenko avatar mugcake avatar piotr-yuxuan avatar platonoff-dev avatar propan avatar razum2um avatar readmecritic avatar shellbro avatar spekulatius avatar steffan-westcott avatar the-alchemist avatar toolkit avatar turbopape avatar vaelatern avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-clojure's Issues

AwesomeOpenSource

We are creating a github org for all awesome open source repos. I am working with a few individuals who are also managing their own awesome repos, and I think to gain more traction we need to work together. What are your thoughts about collectively moving your awesome repos to https://github.com/AwesomeOpenSource

The idea is that visibility for these repos would be increased due to more traffic to the org. What are your thoughts? Let me know if there is anything you'd like to discuss!

Validate pull requests with Travis

Hello, I wrote a tool that can validate README links (valid URLs, not duplicate). It can be run when someone submits a pull request.

It is currently being used by

Examples

If you are interested, connect this repo to https://travis-ci.org/ and add a .travis.yml file to the project.

See https://github.com/dkhamsing/awesome_bot for options, more information
Feel free to leave a comment ๐Ÿ˜„

clojure.jdbc is unmaintained; recommend next.jdbc instead

clojure.jdbc started life by copying code from clojure.java.jdbc without credit until I called the author out on the Clojure mailing list. Although he rewrote it, added a credit to the existing library, and then evolved the library for a while, it hasn't been updated in about four years now (and was never the most popular JDBC library anyway).

The Clojure Contrib library java.jdbc -- https://github.com/clojure/java.jdbc -- is still the most widely used JDBC library so you should probably mention it, but it is no longer getting updates. next.jdbc is where all the active development is happening these days and I consider it to be the 1.0 release that clojure.java.jdbc could never have: https://github.com/seancorfield/next-jdbc

Thanks.

add cMQL

Hello, i made a Clojure(Script) library called cMQL, for quering MongoDB.
It feels almost as if Clojure was the query language of MongoDB, and reduces code up to 3x.

cMQL example (playground has 150+ examples) :

(q (= :bedrooms 1)
   (= :country.code "GR")
   (group {:_id :stars}
          {:average-price (avg :price)})
   (sort :stars)
   (limit 3))

Docs : https://cmql.org/
Playground : https://cmql.org/play/
Github : https://github.com/tkaryadis/cmql-core
Slack : https://app.slack.com/client/T03RZGPFR/C02P0821VJA
Discord : https://discord.gg/zWDzp4B7Bf

If you can add it on the list, thank you : )

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.