package sexp

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. sexp
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class DeserializationException extends RuntimeException
  2. implicit final class EnrichedAny[T] extends AnyVal
  3. implicit final class EnrichedString extends AnyVal
  4. class SerializationException extends RuntimeException
  5. sealed abstract class Sexp extends AnyRef

    An S-Expression is either

    An S-Expression is either

    1. an atom (i.e. symbol, string, number) 2. of the form (x . y) where x and y are S-Expressions (i.e. cons)

    Everything else is just sugar.

  6. sealed trait SexpAtom extends Sexp
  7. final case class SexpChar(value: Char) extends Sexp with SexpAtom with Product with Serializable
  8. final case class SexpCons(x: Sexp, y: Sexp) extends Sexp with Product with Serializable
  9. type SexpData = ListMap[SexpSymbol, Sexp]
  10. trait SexpFormat[T] extends SexpReader[T] with SexpWriter[T]

    Provides the S-Exp deserialization and serialization for type T.

    Provides the S-Exp deserialization and serialization for type T.

    Annotations
    @implicitNotFound( "Cannot find SexpFormat for ${T}" )
  11. final case class SexpNumber(value: BigDecimal) extends Sexp with SexpAtom with Product with Serializable
  12. trait SexpPrettyPrinter extends SexpPrinter

    The output is a non-standard interpretation of "pretty lisp" --- emacs style formatting requires counting the length of the text on the current line and indenting off that, which is not so easy when all you have is a StringBuilder.

  13. trait SexpPrinter extends (Sexp) ⇒ String

    Emacs flavoured lisp printer.

  14. trait SexpReader[T] extends AnyRef

    Provides the S-Exp deserialization for type T.

    Provides the S-Exp deserialization for type T.

    Annotations
    @implicitNotFound( ... )
  15. final case class SexpString(value: String) extends Sexp with SexpAtom with Product with Serializable
  16. final case class SexpSymbol(value: String) extends Sexp with SexpAtom with Product with Serializable
  17. trait SexpWriter[T] extends AnyRef

    Provides the S-Exp serialization for type T.

    Provides the S-Exp serialization for type T.

    Annotations
    @implicitNotFound( ... )

Value Members

  1. object SexpCompactPrinter extends SexpPrinter
  2. object SexpData

    Sugar for (:k1 v1 :k2 v2) [keyword symbols](https://www.gnu.org/software/emacs/manual/html_node/elisp/Symbol-Type.html):

    Sugar for (:k1 v1 :k2 v2) [keyword symbols](https://www.gnu.org/software/emacs/manual/html_node/elisp/Symbol-Type.html):

    SexpData is defined as a type alias in package.scala

  3. object SexpList

    Sugar for ("a" .

    Sugar for ("a" . ("b" . ("c" . nil)))

  4. object SexpNaN extends Sexp with SexpAtom with Product with Serializable
  5. object SexpNegInf extends Sexp with SexpAtom with Product with Serializable
  6. object SexpNil extends Sexp with SexpAtom with Product with Serializable
  7. object SexpNumber extends Serializable
  8. object SexpParser

    Parse Emacs Lisp into an Sexp.

    Parse Emacs Lisp into an Sexp. Other lisp variants may require tweaking, e.g. Scheme's nil, infinity, NaN, etc.

  9. object SexpPosInf extends Sexp with SexpAtom with Product with Serializable
  10. object SexpPrettyPrinter extends SexpPrettyPrinter
  11. object SexpReader
  12. object SexpWriter

Inherited from AnyRef

Inherited from Any

Ungrouped