ferrum - Features from the rust language in javascript: Provides Traits/Type classes & an advanced library for working with sequences/iterators in js

  •        6

Features from the rust language in javascript: Provides Traits/Type classes & an advanced library for working with sequences/iterators in js. Ferrum provides a library for transforming lists & iterables; it provides all the functions you would expect like map, filter, foldl and many others. In this regard it is very similar to libraries like wu.js, lodash or underscore. Ferrum has been written to remedy some of the issues in these libraries.

https://github.com/adobe/ferrum#readme

Dependencies:

lodash.isplainobject : 4.0.6

Tags
Implementation
License
Platform

   




Related Projects

mesh.js - utility library for async iterable iterators

  •    Javascript

[![Build Status](https://travis-ci.org/crcn/mesh.js.svg)](https://travis-ci.org/crcn/mesh.js) [![Coverage Status](https://coveralls.io/repos/crcn/mesh.js/badge.svg?branch=master&service=github)](https://coveralls.io/github/crcn/mesh.js?branch=master) [![Join the chat at https://gitter.im/crcn/mesh.js](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/crcn/mesh.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

valentine - JavaScripts Functional Sister

  •    Javascript

JavaScript's Sister, and protector — inspired by Underscore; Valentine provides you with type checking, functional iterators, and common utility helpers such as waterfalls, queues, and parallels; all utilizing native JavaScript methods for optimal speed. As of version 2.0.0 — Valentine no longer supports <= IE8 and <= Safari 4. It's been real, but time to move on. To access this level of support, use the 1.8 tag.

SWFTools - Utilities to work with Adobe Flash files

  •    C

SWFTools is a collection of utilities for working with Adobe Flash files (SWF files). The tool collection includes programs for reading SWF files, combining them, and creating them from other content (like images, sound files, videos or sourcecode).

FunctionalPlus - Functional Programming Library for C++. Write concise and readable C++ code.

  •    C++

helps you write concise and readable C++ code. Great code should mostly be self-documenting, but while using C++ in reality you can find yourself dealing with low-level stuff like iterators or hand-written loops that distract from the actual essence of your code.

source-serif-pro - Serif typeface for setting text. Designed to complement Source Sans Pro

  •    Shell

Source Serif Pro is a set of OpenType fonts to complement the Source Sans Pro family. In addition to functional OpenType fonts, this open source repository provides all of the source files that were used to build them using the Adobe Font Development Kit for OpenType (AFDKO). To build the binary font files from source, you need to have the Adobe Font Development Kit for OpenType (AFDKO) installed. The AFDKO tools are widely used for font development today, and are part of most font editor applications.


transducers

  •    Javascript

A small library for generalized transformation of data. This provides a bunch of transformation functions that can be applied to any data structure. It is a direct port of Clojure's transducers in JavaScript. Read more in this post. The algorithm behind this, explained in the above post, not only allows for it to work with any data structure (arrays, objects, iterators, immutable data structures, you name it) but it also provides better performance than other alternatives such as underscore or lodash. This is because there are no intermediate collections. See this post for benchmarks.

toolz - A functional standard library for Python.

  •    Python

A set of utility functions for iterators, functions, and dictionaries. New BSD. See License File.

Mango - specialized iterators and functions

  •    Java

Mango is a Java library consisting of a number of iterators, algorithms and functions, loosely inspired by the C++ Standard Template Library. It has support of 12 iterators, 16 generic algorithms and variety of function types.

iter - Iteration primitives using generators

  •    PHP

This library implements iteration primitives like map() and filter() using generators. To a large part this serves as a repository for small examples of generator usage, but of course the functions are also practically quite useful. All functions in this library accept arbitrary iterables, i.e. arrays, traversables, iterators and aggregates, which makes it quite different from functions like array_map() (which only accept arrays) and the SPL iterators (which usually only accept iterators, not even aggregates). The operations are of course lazy.

BIGSdb

  •    Perl

Software for storing and analysing bacterial sequence data

BALIGN

  •    

Multi-functional batch sequence aligner incorporating Needleman-Wunsch, Smith-Waterman and Oommen-Kashyap algorithms along with compound alignment of secondary sequences.

recurrentshop - Framework for building complex recurrent neural networks with Keras

  •    Python

Recurrent shop adresses these issues by letting the user write RNNs of arbitrary complexity using Keras's functional API. In other words, the user builds a standard Keras model which defines the logic of the RNN for a single timestep, and RecurrentShop converts this model into a Recurrent instance, which is capable of processing sequences. RecurrentShop comes with 3 built-in RNNCells : SimpleRNNCell, GRUCell, and LSTMCell There are 2 versions of each of these cells. The basic version which is more readable which you can refer to learn how to write custom RNNCells and the customizable and recommended version which has more options like setting regularizers, constraints, activations etc.

Knapsack - Collection pipeline library for PHP

  •    PHP

Knapsack is a collection library for PHP >= 5.6 that implements most of the sequence operations proposed by Clojures sequences plus some additional ones. All its features are available as functions (for functional programming) and as a collection pipeline object methods. The heart of Knapsack is its Collection class. However its every method calls a simple function with the same name that does the actual heavy lifting. These are located in DusanKasan\Knapsack namespace and you can find them here. Collection is a Traversable implementor (via IteratorAggregate) that accepts Traversable object, array or even a callable that produces a Traversable object or array as constructor argument. It provides most of Clojures sequence functionality plus some extra features. It is also immutable - operations preformed on the collection will return new collection (or value) instead of modifying the original collection.

cuprite - Headless Chrome driver for Capybara

  •    Ruby

Cuprite is a pure Ruby driver (read as no Java/Selenium/WebDriver/ChromeDriver requirement) for Capybara. It allows you to run your Capybara tests on a headless Chrome or Chromium by CDP protocol. Under the hood it uses Ferrum which is high-level API to the browser again by CDP protocol. The emphasis was made on raw CDP protocol because Headless Chrome allows you to do so many things that are barely supported by WebDriver because it should have consistent design with other browsers. The design of the driver will be as close to Poltergeist as possible though it's not a goal.

source-code-pro - Monospaced font family for user interface and coding environments

  •    Python

Source Code Pro is a set of OpenType fonts that have been designed to work well in user interface (UI) environments. In addition to a functional OpenType font, this open source project provides all of the source files that were used to build this OpenType font by using the AFDKO makeotf tool. To build the binary font files from source, you need to have installed the Adobe Font Development Kit for OpenType (AFDKO). The AFDKO tools are widely used for font development today, and are part of most font editor applications.

source-sans-pro - Sans serif font family for user interface environments

  •    Shell

Source Sans Pro is a set of OpenType fonts that have been designed to work well in user interface (UI) environments. In addition to a functional OpenType font, this open source project provides all of the source files that were used to build this OpenType font by using the AFDKO makeotf tool. To build the binary font files from source, you need to have installed the Adobe Font Development Kit for OpenType (AFDKO). The AFDKO tools are widely used for font development today, and are part of most font editor applications.

CSTL

  •    CSharp

CSTL is a port of the C++ STL to C# 2.0 and .NET. The library utilizes C# generics, anonymous methods, and enumerable iterators, while alleviating some of C#'s deficiencies (no C++ templates, limited operator overloading, no C++ style iterators, etc).

wu.js - wu.js is a JavaScript library providing higher order functions for ES6 iterators.

  •    Javascript

wu.js is a JavaScript library providing higher order functions (such as map, filter, and reduce) for ECMAScript 6 iterators.

proposal-async-iteration - Asynchronous iteration for JavaScript

  •    HTML

The iterator interface (introduced in ECMAScript 2015) is a sequential data access protocol which enables the development of generic and composable data consumers and transformers. Their primary interface is a next() method which returns a { value, done } tuple, where done is a boolean indicating whether the end of the iterator has been reached, and value is the yielded value in the sequence. Since both the next value in the sequence and the "done" state of the data source must be known at the time that the iterator method returns, iterators are only suitable for representing synchronous data sources. While many data sources encountered by the JavaScript programmer are synchronous (such as in-memory lists and other data structures), many others are not. For instance, any data source which requires I/O access will be typically represented using an event-based or streaming asynchronous API. Unfortunately, iterators cannot be used to represent such data sources.