On this page:
phc-toolkit
8.13.0.2

phc-toolkit🔗ℹ

Suzanne Soy <racket@suzanne.soy>

 (require phc-toolkit) package: phc-toolkit

This library contains a small toolkit of utilities used by the https://github.com/jsmaniac/phc project and other helper libraries for that project.

This library exports the following typed modules:

Untyped versions of the above modules are available under phc-toolkit/untyped, which also contains the following additional untyped-only modules:

The Versatile parser and template library document discusses the hypothetical features of a still-unwritten parser and template library. The template part aims to be the pendant of match and syntax/parse, and the parser part should unify match and syntax/parse, to enable parsing of syntax and regular data alike. This library is not implemented yet, and will probably be moved to a separate package when it is.

    1 Aliases for other racket identifiers

      1.1 Untyped versions of the aliases

    2 backtrace

      2.1 Untyped versions of backtrace

    3 Compatibility wrappers

      3.1 Untyped versions of compat

    4 cond-let

      4.1 Untyped versions of cond-let

    5 contract

      5.1 Untyped versions of contract

    6 eval-get-values

      6.1 Untyped versions of eval-get-values

    7 Fixnum operations (fxxor …)

      7.1 Untyped versions of fixnum

    8 generate-indices

      8.1 Untyped versions of generate-indices

    9 Generating identifiers

      9.1 Untyped versions of ids

    10 in

      10.1 Untyped versions of in

    11 list-lang

    12 list

      12.1 Untyped versions of list

    13 logn-id

      13.1 Untyped versions of logn-id

    14 Miscellaneous utilities

      14.1 Typed miscellaneous utilities

        14.1.1 Untyped versions of miscellaneous utilities

      14.2 Untyped versions of misc

    15 multiassoc-syntax

      15.1 Template metafunction for multiassoc-syntax

      15.2 Untyped versions of multiassoc-syntax

        15.2.1 Untyped versions of tmpl-multiassoc-syntax

    16 not-implemented-yet

      16.1 Untyped versions of not-implemented-yet

    17 let-in binding and destructuring form

      17.1 Untyped versions of percent

    18 repeat-stx

      18.1 Untyped versions of repeat-stx

    19 require-provide

      19.1 Untyped versions of require-provide

    20 sequence

      20.1 Untyped versions of sequence

    21 set

      21.1 Untyped versions of set

    22 Syntax object manipulation utilities

      22.1 Transformers utilities

      22.2 Patching source locations

      22.3 Untyped versions of syntax object manipulation utilities

    23 syntax-parse helpers

      23.1 Pattern expanders

      23.2 Untyped versions of syntax-parse helpers

    24 test-framework

      24.1 Untyped versions of test-framework

    25 threading

      25.1 Untyped versions of threading

    26 tmpl

      26.1 Untyped versions of tmpl

    27 Utilities and patches for typed/rackunit

      27.1 Untyped versions of typed-rackunit

    28 Extensions for typed/rackunit

      28.1 Untyped versions of typed-rackunit-extensions

    29 typed-untyped

      29.1 Untyped versions of typed-untyped

    30 type-inference-helpers

      30.1 Untyped versions of type-inference-helpers

    31 values

      31.1 Untyped versions of values

    32 Untyped versions of the modules

    33 for*/list*

    34 meta operations on structs

      34.1 Typed macros and procedures

      34.2 Untyped versions of the meta-struct typed macros

      34.3 Untyped for-syntax utilities

    35 Formatting identifiers so that DrRacket still shows arrows

    36 Versatile parser and template library

      36.1 Ideas for implementation

        36.1.1 Extensibility (expanders)

        36.1.2 Customization

        36.1.3 Unsorted ideas

          36.1.3.1 Global pattern constraints

          36.1.3.2 Generalization of pattern/template kinds

          36.1.3.3 Lenses

          36.1.3.4 Backtracking

          36.1.3.5 Partial application

          36.1.3.6 Partial compilation

          36.1.3.7 QuickCheck test generation

          36.1.3.8 Error messages

        36.1.4 Things to look at