From 3450846a36d9f2f97cd2bdbb4701d2ca6ff03c4d Mon Sep 17 00:00:00 2001 From: Ralph Caraveo III Date: Wed, 22 Apr 2015 21:05:10 -0700 Subject: [PATCH 1/4] Adding the golang-set package which offers thread-safe and non-thread-safe sets for Go. --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 9647587..ad5639d 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno - [CSS Preprocessors](#css-preprocessors) - [Database](#database) - [Database Drivers](#database-drivers) + - [Data Structures](#data-structures) - [Date & Time](#date--time) - [Distributed Systems](#distributed-systems) - [Email](#email) @@ -223,6 +224,11 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno * [elastigo](https://github.com/mattbaird/elastigo) - A Elasticsearch client library. * [goes](https://github.com/belogik/goes) - A library to interact with Elasticsearch. +## Data Structures + +*Libraries that provide general and specialized data structures.* + +* [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go. ## Date & Time From 80678bca38ff8a8d27b66643a20700d55bf9001c Mon Sep 17 00:00:00 2001 From: Ralph Caraveo III Date: Wed, 22 Apr 2015 21:11:01 -0700 Subject: [PATCH 2/4] Fixing build --- .README.md.swp | Bin 0 -> 77824 bytes README.md | 13 ++++++------- 2 files changed, 6 insertions(+), 7 deletions(-) create mode 100644 .README.md.swp diff --git a/.README.md.swp b/.README.md.swp new file mode 100644 index 0000000000000000000000000000000000000000..aa0b3fd8400bc38bcc17f38071f28b31569c816f GIT binary patch literal 77824 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index ad5639d..e5a4305 100644 --- a/README.md +++ b/README.md @@ -21,9 +21,9 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno - [Command Line](#command-line) - [Configuration](#configuration) - [CSS Preprocessors](#css-preprocessors) + - [Data Structures](#data-structures) - [Database](#database) - [Database Drivers](#database-drivers) - - [Data Structures](#data-structures) - [Date & Time](#date--time) - [Distributed Systems](#distributed-systems) - [Email](#email) @@ -147,6 +147,11 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno * [gcss](https://github.com/yosssi/gcss) - Pure Go CSS Preprocessor. +## Data Structures + +*Libraries that provide general and specialized data structures.* + +* [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go. ## Database @@ -224,12 +229,6 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno * [elastigo](https://github.com/mattbaird/elastigo) - A Elasticsearch client library. * [goes](https://github.com/belogik/goes) - A library to interact with Elasticsearch. -## Data Structures - -*Libraries that provide general and specialized data structures.* - -* [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go. - ## Date & Time *Libraries for working with dates and times.* From f3e9f3c0b0076c17ae42d66de6f6cc45061a8f38 Mon Sep 17 00:00:00 2001 From: Ralph Caraveo III Date: Sun, 26 Apr 2015 17:54:33 -0700 Subject: [PATCH 3/4] Moving datastructures and algorithms section into its own group --- .README.md.swp | Bin 77824 -> 0 bytes README.md | 13 ++++++------- 2 files changed, 6 insertions(+), 7 deletions(-) delete mode 100644 .README.md.swp diff --git a/.README.md.swp b/.README.md.swp deleted file mode 100644 index aa0b3fd8400bc38bcc17f38071f28b31569c816f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77824 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 diff --git a/README.md b/README.md index e5a4305..32aa600 100644 --- a/README.md +++ b/README.md @@ -149,21 +149,20 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno ## Data Structures -*Libraries that provide general and specialized data structures.* - -* [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go. - -## Database - -*Generic data structures and algorithms for databases in Go.* +*Generic datastructures and algorithms in Go.* * [bitset](https://github.com/willf/bitset) - Go package implementing bitsets. * [bloom](https://github.com/dataence/bloom) - Bloom filters implemented in Go. * [encoding](https://github.com/dataence/encoding) - Integer Compression Libraries for Go. +* [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go. * [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing * [skiplist](https://github.com/gansidui/skiplist) - Skiplist implementation in Go * [trie](https://github.com/derekparker/trie) - Trie implementation in Go +## Database + +*Generic data structures and algorithms for databases in Go.* + *Databases implemented in Go.* * [bolt](https://github.com/boltdb/bolt) - A low-level key/value database for Go. From 37afa7dcf9ecb8e46f78ac7c7168e6a832d8601b Mon Sep 17 00:00:00 2001 From: Ralph Caraveo III Date: Sun, 26 Apr 2015 17:56:27 -0700 Subject: [PATCH 4/4] Fix double sub-category. --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 32aa600..e2eedf7 100644 --- a/README.md +++ b/README.md @@ -161,8 +161,6 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno ## Database -*Generic data structures and algorithms for databases in Go.* - *Databases implemented in Go.* * [bolt](https://github.com/boltdb/bolt) - A low-level key/value database for Go.