Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lfex/moneta
An LFE wrapper for mnesia and qlc
https://github.com/lfex/moneta
Last synced: 1 day ago
JSON representation
An LFE wrapper for mnesia and qlc
- Host: GitHub
- URL: https://github.com/lfex/moneta
- Owner: lfex
- License: other
- Created: 2016-03-09T00:24:48.000Z (over 8 years ago)
- Default Branch: release/0.2.x
- Last Pushed: 2024-03-14T02:52:10.000Z (8 months ago)
- Last Synced: 2024-03-14T03:41:54.138Z (8 months ago)
- Language: HTML
- Size: 4.8 MB
- Stars: 4
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# moneta
[![Build Status][gh-actions-badge]][gh-actions]
[![LFE Versions][lfe badge]][lfe]
[![Erlang Versions][erlang badge]][versions]
[![Tags][github tags badge]][github tags]*A Lispy wrapper for Erlang Mnesia and QLC*
[![][logo]][logo-large]
##### Table of Contents
* [Introduction](#introduction-)
* [Documentation](#documentation-)
* [Modules](#modules-)
* [Resources](#resources-)
* [License](#license-)## Introduction [↟](#contents)
This project is mostly a wrapper around the Erlang/OTP ``mnesia`` and ``qlc`` modules. That being said, it does provide the additional following benefits:
* functions and macros for easily creating tables
* additional convenience functions
* Lisp-friendly wrapper functions for Mnesia functions (i.e., hyphens!)## Documentation [↟](#contents)
Documentation for Moneta is available in the following forms:
* [Moneta Tutorial](http://lfex.github.io/moneta/)
## Modules [↟](#contents)
The Erlang namespaces for the modules (ab)used by this project are the following:
* ``mnesia``
* ``qlc``These are accessible via those same module names in LFE, or using this library, from the following:
* ``mnta`` - holds alll the ``mnesia`` functions besides the dirty ones
* ``mnta-drty`` - split dirty functions into their own module ("dirty" operations are short-cuts that bypass much of the processing and increase the speed of the transaction)
* ``mnta-qry`` - ``qlc`` alias; longer to type than ``qlc``, but provides some nice visual context when scanning codeFunction names in the ``mnta*`` modules have the Erlang underscores replaced with LFE hyphens. This work is done via the LFE [kla](https://github.com/lfex/kla) library.
## Resources [↟](#contents)
* [Mnesia in LYSE](http://learnyousomeerlang.com/mnesia) - One of the best learning-Mnesia resources on the web. Or in print -- buy the book!
* The official [Mnesia docs](http://erlang.org/doc/apps/mnesia/Mnesia_chap1.html)
* [mnesia module](http://erlang.org/doc/man/mnesia.html)
* [qlc module](http://erlang.org/doc/man/qlc.html)## License [↟](#contents)
```
Copyright © 2016-2023 Duncan McGreggorDistributed under the Apache License, Version 2.0.
```Original Mnesia documentation upon which the Moneta tutorial is based:
```
Copyright © 1997-2016 Ericsson AB. All Rights Reserved.
```[//]: ---Named-Links---
[gh-actions-badge]: https://github.com/lfex/moneta/workflows/ci%2Fcd/badge.svg
[gh-actions]: https://github.com/lfex/moneta/actions
[logo]: priv/images/mnemosyne-y500.png
[logo-large]: priv/images/mnemosyne-y2000.png
[lfe]: https://github.com/lfe/lfe
[lfe badge]: https://img.shields.io/badge/lfe-2.1-blue.svg
[erlang badge]: https://img.shields.io/badge/erlang-20%20to%2026-blue.svg
[versions]: https://github.com/lfex/moneta/blob/master/.github/workflows/cicd.yml
[github tags]: https://github.com/lfex/moneta/tags
[github tags badge]: https://img.shields.io/github/tag/lfex/moneta.svg