package yuujinchou

  1. Overview
  2. Docs
A domain-specific language for manipulating hierarchical names

Install

Dune Dependency

Authors

Maintainers

Sources

3.1.0.tar.gz
md5=2164fed8f82ed1a6b63547b5f2ed0a57
sha512=f4e574b450f3cbf1803d1591678ea6ed26bd9f7d86ff92f76a53a0f91a107ae065b109a609f13359a587d0abe1d10b15ee4f0284bd4488b4f7dcd1f1481cfc82

doc/rosetta.html

Rosetta of Imports

Haskell

  • Haskell syntax:

    import Mod -- x is available an both x and Mod.x

    Corresponding Yuujinchou modifier:

      Language.(union [any; renaming [] ["Mod"]])
  • Haskell syntax:

    import Mod (x,y)

    Corresponding Yuujinchou modifier:

      Language.(union [only ["x"]; only ["y"]])
  • Haskell syntax:

    import qualified Mod

    Corresponding Yuujinchou modifier:

      Language.(renaming [] ["Mod"])
  • Haskell syntax:

    import qualified Mod hiding (x,y)

    Corresponding Yuujinchou modifier:

      Language.(seq [except ["x"]; except ["y"]; renaming [] ["Mod"]])

Racket

  • Racket syntax:

    (require (only-in ... id0 [old-id1 new-id1]))

    Corresponding Yuujinchou modifier:

      Language.(seq [...; union [only ["id0"]; seq [only ["old-id1"]; renaming ["old-id1"] ["new-id1"]]]])
  • Racket syntax:

    (require (except-in ... id0 id1]))

    Corresponding Yuujinchou modifier:

      Language.(seq [...; except ["id0"]; except ["id1"]])
  • Racket syntax:

    (require (prefix-in p: ...))

    Corresponding Yuujinchou modifier:

      Language.(seq [...; renaming [] ["p"]])

    Note: Racket does not support hierarchical names, so the prefixing operator in Racket is directly prepending the prefix to the affected names.

  • Racket syntax:

    (require (rename-in ... [old-id0 new-id0] [old-id1 new-id1]))

    Corresponding Yuujinchou modifier:

      Language.(seq [...; renaming ["old-id0"] ["new-id0"]; renaming ["old-id1"] ["new-id1"]])
  • Racket syntax:

    (require (combine-in require-spec0 require-spec1 ...))

    Corresponding Yuujinchou modifier:

      Language.(union [require-spec0; require-spec1; ...])
OCaml

Innovation. Community. Security.

On This Page
  1. Haskell
  2. Racket