memoize - A method caching macro for elixir using CAS on ETS.

  •        48

A memoization macro. The application available in hex.pm.

https://hex.pm/packages/memoize
https://github.com/melpon/memoize

Tags
Implementation
License
Platform

   




Related Projects

lru-memoize - A utility to provide LRU memoization for any js function

  •    Javascript

lru-memoize is a utility to provide simple memoization for any pure javascript function, using an LRU cache that prioritizes the most recently accessed values, and discards the "least recently used" (LRU) items when the size limit is reached. If your function has side effects or relies on some external state to generate its result, it should not be memoized. Let's look at an example where we want to memoize a function that multiplies three numbers together, and we want to keep the last ten arguments -> value mappings in memory.

memoizee - Complete memoize/cache solution for JavaScript

  •    Javascript

Originally derived from es5-ext package. memoize name was already taken, therefore project is published as memoizee on NPM.

memoize-one - A memoization library which only remembers the latest invocation

  •    Javascript

A memoization library that only caches the result of the most recent arguments. There are only two hard things in Computer Science: cache invalidation and naming things.

moize - The consistently-fast, complete memoization solution for JS

  •    Javascript

moize is a consistently blazing fast memoization library for JavaScript. It handles multiple parameters (including default values) without any additional configuration, and offers a large number of options to satisfy any number of potential use-cases. All parameter types are supported, including circular objects, functions, etc. There are also a number of shortcut methods to memoize for unique use-cases.


elixir-phoenix-realworld-example-app - Exemplary real world application built with Elixir + Phoenix

  •    Elixir

Elixir (Phoenix) codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API. This codebase was created to demonstrate a fully fledged backend application built with Elixir and Phoenix including CRUD operations, authentication, routing, pagination, and more.

elixir-companies - A list of companies currently using Elixir in production.

  •    HTML

A curated list of companies using Elixir in production, organized by industry. Please see CONTRIBUTING for details.

thesis-phoenix - A lightweight, bolt-on, intuitive content editing system for Elixir/Phoenix websites

  •    Elixir

If you are having problems, view README_INSTALL.md for manual instructions. This install script will add Thesis to your config/config.exs and lib/yourapp_web.ex, as well as generate migrations and an authorization module in your lib/thesis_auth.ex.

fast-elixir - :dash: Writing Fast Elixir :heart_eyes: -- Collect Common Elixir idioms.

  •    Elixir

There is a wonderful project in Ruby called fast-ruby, from which I got the inspiration for this repo. The idea is to collect various idioms for writing performant code when there is more than one essentially symantically identical way of computing something. There may be slight differences, so please be sure that when you're changing something that it doesn't change the correctness of your program. Each idiom has a corresponding code example that resides in code.

elixir_style_guide - A community driven style guide for Elixir

  •    Elixir

Liquid architecture. It's like jazz — you improvise, you work together, you play off each other, you make something, they make something. Style matters. Elixir has plenty of style but like all languages it can be stifled. Don't stifle the style.

phoenix-battleship - The Good Old game, built with Elixir, Phoenix, React and Redux

  •    Elixir

The Good Old game built with Elixir, Phoenix Framework, React and Redux. You need to have Elixir v1.2 installed.

elixirschool - Premier destination to learn and master the Elixir programming language

  •    CSS

Elixir School is the premier destination for people looking to learn and master the Elixir programming language. Lessons can now be viewed at ElixirSchool.com.

drab - Remote controlled frontend framework for Phoenix.

  •    Elixir

Drab extends Phoenix Framework to "remote control" UI on the browser, live. The idea is to move all User Interface logic to the server-side, to eliminate Javascript and Ajax calls. First at all, you need to have a Phoenix application, on top of which you will install Drab. If this is a standard app, generated with mix phx.new, you may use Drab Installer to make it running in one, simple step. Otherwise, see Manual Installation section below.

phoenix-trello - Trello tribute done in Elixir, Phoenix Framework, React and Redux.

  •    Javascript

Trello tribute done with Elixir, Phoenix Framework, Webpack, React and Redux. You need to have Elixir v1.3 and PostgreSQL installed.

elixir-koans - Small exercises to discover elixir by testing

  •    Elixir

Discover elixir lang by replacing "__?" and "assert_?" to make tests pass. Note: On Linux you may need to install inotify-tools for test.watch task.

elchemy - Write Elixir code using statically-typed Elm-like syntax (compatible with Elm tooling)

  •    Elm

elchemy will find all *.elm files specified in elchemy_path and compile it into corresponding *.ex files in lib directory. You can override output directory specifying elixirc_paths.

con_cache - ets based key/value cache with row level isolated writes and ttl support

  •    Elixir

A cache can be started using ConCache.start or ConCache.start_link functions. Both functions take two arguments - the first one being a list of ConCache options, and the second one a list of GenServer options for the process being started. For OTP apps, you can generally find this in lib/<myapp>.ex. In the Phoenix web framework, look in the start function and add the worker to the children list.

nodebook - Nodebook - Multi-Lang Web REPL + CLI Code runner

  •    TypeScript

Nodebook is an in-browser REPL supporting many programming languages. Code's on the left, Console's on the right. Click "Run" or press Ctrl+Enter or Cmd+Enter to run your code. Code is automatically persisted on the file system. You can also use Nodebook directly on the command line, running your notebooks upon change.

trust-dns - A Rust based DNS client, server, and resolver

  •    Rust

A Rust based DNS client and server, built to be safe and secure from the ground up. Using the ClientFuture is safe. ClientFuture is a brand new rewrite of the old Client. It has all the same features as the old Client, but is written with the wonderful futures-rs library. Please send feedback! It currently does not cache responses, if this is a feature you'd like earlier rather than later, post a request. The validation of DNSSec is complete including NSEC. As of now NSEC3 is broken, and I may never plan to support it. I have some alternative ideas for private data in the zone. The old Client has been deprecated, so please use the ClientFuture. If this is an inconvenience, I may add a convenience wrapper around ClientFuture that would match the old Client; if this is something you would like to see, please file an issue.