Commit graph

35 commits

Author SHA1 Message Date
Richard Newman 3dc68bcd38 Combine NamespacedKeyword and Keyword. (#689) r=nalexander
* Make properties on NamespacedKeyword/NamespacedSymbol private

* Use only a single String for NamespacedKeyword/NamespacedSymbol

* Review comments.

* Remove unsafe code in namespaced_name.

Benchmarking shows approximately zero change.

* Allow the types of ns and name to differ when constructing a NamespacedName.

* Make symbol namespaces optional.

* Normalize names of keyword/symbol constructors.

This will make the subsequent refactor much less painful.

* Use expect not unwrap.

* Merge Keyword and NamespacedKeyword.
2018-05-11 09:52:17 -07:00
Nick Alexander cbffe5e545 Use rust-peg for tx parsing.
There are few reasons to do this:

- it's difficult to add symbol interning to combine-based parsers like
  tx-parser -- literally every type changes to reflect the interner,
  and that means every convenience macro we've built needs to chagne.
  It's trivial to add interning to rust-peg-based parsers.

- combine has rolled forward to 3.2, and I spent a similar amount of
  time investigating how to upgrade tx-parser (to take advantage of
  the new parser! macros in combine that I think are necessary for
  adapting to changing types) as I did just converting to rust-peg.

- it's easy to improve the error messages in rust-peg, where-as I have
  tried twice to improve the nested error messages in combine and am
  stumped.

- it's roughly 4x faster to parse strings directly as opposed to
  edn::ValueAndSpan, and it'll be even better when we intern directly.
2018-05-10 10:24:05 -07:00
Richard Newman f71b2b207e Expand the README to give a guide to the crates in the repo. 2018-03-19 14:35:18 -07:00
Richard Newman ea52e214af
Small README tweaks. 2018-03-13 04:01:19 +00:00
Richard Newman 2ac7a1b1de Add a feature flag to control the use of rusqlite's bundled SQLite. r=emily
You can use this in conjunction with setting SQLITE3_LIB_DIR to control which SQLite is used.

See https://github.com/jgallagher/rusqlite for more.

Also add recent contributors to the authors array.
2018-02-13 08:25:58 -08:00
Fernando Jiménez Moreno 50a9e0c21f Add link to CQRS resources. (#534) r=rnewman
Not everyone knows what CQRS is (I had to Google it) :)
2018-01-23 09:49:49 -06:00
Richard Newman ab5b67ecf7
Tweak README to address some feedback from zbraniecki. 2018-01-22 17:35:36 +00:00
Thom 9740cafdbd Automatically remove trailing whitespace from text files. (#527) r=rnewman
This was done using the following shell script:

```
find . -type f -not -path "*target*" \
       '(' -name '*.rs' -o -name '*.md' -o -name '*.toml' ')' -print0 | \
    xargs -0 sed -i '' -E 's/[[:space:]]*$//'
```

Which is admittedly imperfect, but manages to hit everything that was a problem in this repo.
2018-01-19 21:21:04 -06:00
Richard Newman 7fc0848cb0 Fix typo in README. 2017-06-06 19:01:27 +00:00
Richard Newman a88375fc15 Update README for master switchover. 2017-06-06 11:10:49 -07:00
Richard Newman 953f9f7734 Remove server instructions from README. 2017-05-15 13:05:24 +00:00
Richard Newman 77f7fab525 Tweak testing commands. 2017-03-09 09:00:46 -08:00
Richard Newman ecf56395b9 Add discussion of storage difficulties. r=nalexander (#344)
* Add discussion of storage difficulties.

* Replace mention of MVP with discussion of initial requirements.
2017-02-27 16:19:23 -08:00
Brian Grinstead 6d10774fc8 Move the bin to src and take on clap dependency for command line arg parsing. Fixes #150. r=rnewman 2017-01-10 10:53:34 -08:00
Richard Newman b9c439bd00 Use underscores for crate names. 2017-01-06 17:31:26 -08:00
Richard Newman 7f3347981c Rename to Project Mentat (docs). 2017-01-06 17:20:20 -08:00
Richard Newman fa3c99f550 Add a back-pointer to master, because GitHub shows the rust branch by default. 2016-12-21 16:59:26 -08:00
Brian Grinstead 4700eace15 Update README with extra details about using cargo 2016-12-16 18:45:44 -08:00
Brian Grinstead 5ac47fd6ff Add a stub CLI tool and run tests on it. Fixes #136. r=rnewman 2016-12-16 14:26:10 -08:00
Brian Grinstead 4bebb3cbe4 Include instructions for building and testing with cargo 2016-12-16 11:57:18 -08:00
Richard Newman 44d50c9005 Update README for oxidation. 2016-12-16 10:31:06 -08:00
Richard Newman b79f7d3dac Note license in README. 2016-11-22 11:43:05 -08:00
Richard Newman 97911d86b2 Update README. 2016-11-21 08:51:36 -08:00
Richard Newman 15b0f63d99 Update README for local cljs install. 2016-10-11 11:46:13 -07:00
Richard Newman e7add97a67 Minor README tweaks. 2016-10-06 15:26:37 -07:00
Richard Newman 32cd08ba13 Add more build instructions to the README. 2016-09-22 16:50:59 -07:00
Richard Newman 8dd15244fa Update README. 2016-09-22 16:45:52 -07:00
Richard Newman 77fb997785 Fix source paths. 2016-09-22 12:43:35 -07:00
Richard Newman 2c1745fa3b Add notes about necessary SQLite options. 2016-08-04 13:45:38 -07:00
Nick Alexander 08f7084d92 Add lein-doo to run ClojureScript tests. 2016-07-06 16:42:40 -07:00
Nick Alexander f2365646d2 Add lein-cljsbuild and adapt datascript's release-js vehicle. 2016-07-06 16:42:37 -07:00
Richard Newman 55baa1685d More README tweaks.
Signed-off-by: Richard Newman <rnewman@twinql.com>
2016-07-06 12:14:24 -07:00
Richard Newman 6db476d265 Document the process of starting a REPL or connecting from Vim.
Signed-off-by: Richard Newman <rnewman@twinql.com>
2016-07-06 11:19:52 -07:00
Richard Newman adee532770 Add notes comparing to raw SQLite.
Signed-off-by: Richard Newman <rnewman@twinql.com>
2016-07-05 17:43:47 -07:00
Richard Newman 3a56c159fa Add initial README.md and CONTRIBUTING.md.
Signed-off-by: Richard Newman <rnewman@twinql.com>
2016-07-05 12:36:37 -07:00