All Projects → prolic → Fpp

prolic / Fpp

Licence: bsd-3-clause
Functional PHP Preprocessor - Generate Immutable Data Types

Programming Languages

enum
40 projects

Projects that are alternatives of or similar to Fpp

php-json-schema-model-generator
Creates (immutable) PHP model classes from JSON-Schema files including all validation rules as PHP code
Stars: ✭ 36 (-87.23%)
Mutual labels:  immutable, code-generator, code-generation
nunavut
Generate code from DSDL using PyDSDL and Jinja2
Stars: ✭ 23 (-91.84%)
Mutual labels:  code-generator, code-generation
fastener
Functional Zipper for manipulating JSON
Stars: ✭ 54 (-80.85%)
Mutual labels:  immutable, functional
Typed Immutable
Immutable and structurally typed data
Stars: ✭ 263 (-6.74%)
Mutual labels:  immutable, functional
GraphQL.Tools
GraphQL.Tools is a GraphQL to C# compiler (code-generator) which turns your GraphQL schema into a set of C# classes, interfaces, and enums.
Stars: ✭ 49 (-82.62%)
Mutual labels:  code-generator, code-generation
copygen
Go generator to copy values from type to type and fields from struct to struct (copier without reflection). Generate any code based on types.
Stars: ✭ 121 (-57.09%)
Mutual labels:  code-generator, code-generation
autogenu-jupyter
An automatic code generator for nonlinear model predictive control (NMPC) and the continuation/GMRES method (C/GMRES) based numerical solvers for NMPC
Stars: ✭ 89 (-68.44%)
Mutual labels:  code-generator, code-generation
micro
Functional prooph for microservices
Stars: ✭ 53 (-81.21%)
Mutual labels:  functional, ddd
php-code-generator
PHP code generator library
Stars: ✭ 144 (-48.94%)
Mutual labels:  code-generator, code-generation
finger-tree
🌵 Finger tree data structure for JavaScript
Stars: ✭ 20 (-92.91%)
Mutual labels:  immutable, functional
Switzerland
🇨🇭Switzerland takes a functional approach to Web Components by applying middleware to your components. Supports Redux, attribute mutations, CSS variables, React-esque setState/state, etc… out-of-the-box, along with Shadow DOM for style encapsulation and Custom Elements for interoperability.
Stars: ✭ 261 (-7.45%)
Mutual labels:  immutable, functional
treecko
A collection of functional and immutable helpers for working with tree data structures.
Stars: ✭ 31 (-89.01%)
Mutual labels:  immutable, functional
Xmlschemaclassgenerator
Generate C# classes from XML Schema files
Stars: ✭ 277 (-1.77%)
Mutual labels:  code-generation, code-generator
Kodgen
C++17 parser and code generator
Stars: ✭ 19 (-93.26%)
Mutual labels:  code-generator, code-generation
mr.boilerplate
Online app to generate Scala boilerplate
Stars: ✭ 32 (-88.65%)
Mutual labels:  code-generator, code-generation
molicode
molicode
Stars: ✭ 75 (-73.4%)
Mutual labels:  code-generator, code-generation
peds
Type safe persistent/immutable data structures for Go
Stars: ✭ 57 (-79.79%)
Mutual labels:  immutable, functional
typed-astunparse
Python 3 AST unparser with type comments support.
Stars: ✭ 27 (-90.43%)
Mutual labels:  code-generator, code-generation
qm
QM model-based design tool and code generator based on UML state machines
Stars: ✭ 54 (-80.85%)
Mutual labels:  code-generator, code-generation
venum
Verifiably better, validated Enum for Python
Stars: ✭ 31 (-89.01%)
Mutual labels:  immutable, functional

FPP

Functional PHP Preprocessor - Immutable data type generator

This library can generate immutable data types based on fpp definitions. The syntax is inspired by Haskell.

Build Status Coverage Status

Sponsor

If you want to support my work, become a patron at patreon.com/prolic.

Credits

Marcello Duarte created the ParserCombinators project in 2017. The rewrite of this library is heavily inspired by it and reuses some of its base functions.

Docs

See the docs here

Install

composer require prolic/fpp dev-master

Usage

Disable xdebug or increase xdebug.max_nesting_level in your php.ini file.

php vendor/bin/fpp.php <source dir or file>

Generate configuration

php vendor/bin/fpp.php --gen-config

You can then modify the config file to adjust to your needs.

Changes from 0.1.0 Release

This library has been rewritten from scratch. If you want to use the old version, pin your composer requirement to 0.1.0.

The master branch is not compatible at all.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].