object DefaultSexpProtocol extends DefaultSexpProtocol
- Alphabetic
- By Inheritance
- DefaultSexpProtocol
- DefaultSexpProtocol
- LegacyProductFormats
- LegacyLowPriorityProductFormats
- CollectionFormats
- StandardFormats
- ThreadLocalSupport
- BasicFormats
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
trait
HListFormat
[L <: HList] extends AnyRef
- Definition Classes
- LegacyLowPriorityProductFormats
-
trait
ViaString
[T] extends AnyRef
- Definition Classes
- StandardFormats
Value Members
-
implicit
object
BooleanFormat
extends SexpFormat[Boolean]
- Definition Classes
- BasicFormats
-
implicit
object
CharFormat
extends SexpFormat[Char]
- Definition Classes
- BasicFormats
-
implicit
object
StringFormat
extends SexpFormat[String]
- Definition Classes
- BasicFormats
-
implicit
object
UnitFormat
extends SexpFormat[Unit]
- Definition Classes
- BasicFormats
-
implicit
object
BitSetFormat
extends SexpFormat[BitSet]
We only support deserialisation via
im.BitSetas the general case requires going through a proxy to convert the bitmask into elements that can be read viaCanBuildFrom.We only support deserialisation via
im.BitSetas the general case requires going through a proxy to convert the bitmask into elements that can be read viaCanBuildFrom. If you have your own (possibly compressed) implementation ofBitSetyou will need to provide your own format.We encode the
BigIntform as a String using emacscalc-evalnotation (radix is part of the string). SeeViaBigDecimalFormatfor a longer discussion about emacs number formats.This can potentially be used in Emacs using the following (which will parse the strings into big ints every time it is queried, so it's not particularly efficient):
(require 'calc) (defmath bitsetAnd (bitset i) (logand (lsh 1 i (+ 1 i)) bitset (+ 1 i))) (defun bitsetContains (bitset i) (not (string= "0" (calc-eval "bitsetAnd($, $$)" 'num bitset i))))
(bitsetContains "10#3" 0) ; 't (bitsetContains "10#3" 1) ; 't (bitsetContains "10#3" 2) ; nil (bitsetContains "32#10000000000000001" 0) ; t (bitsetContains "16#10000000000000001" 64) ; t (bitsetContains "16#10000000000000002" 1) ; t (bitsetContains "16#10000000000000002" 64) ; t (bitsetContains "16#10000000000000002" 0) ; nil
- Definition Classes
- CollectionFormats
-
implicit
object
ImBitSetFormat
extends SexpFormat[BitSet]
- Definition Classes
- CollectionFormats
-
implicit
object
RangeFormat
extends SexpFormat[Range]
- Definition Classes
- CollectionFormats
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
implicit
val
BigDecimalFormat: SexpFormat[BigDecimal]
- Definition Classes
- BasicFormats
-
implicit
val
BigIntFormat: SexpFormat[BigInt]
- Definition Classes
- BasicFormats
-
implicit
val
ByteFormat: SexpFormat[Byte]
- Definition Classes
- BasicFormats
-
implicit
val
DateFormat: SexpFormat[Date]
Uses ISO_8601 which is well supported on the emacs side (we suspend belief about
Date's mutability).Uses ISO_8601 which is well supported on the emacs side (we suspend belief about
Date's mutability). If you want to use UNIX epoch time, override with your own implementation.- Definition Classes
- StandardFormats
-
implicit
val
DoubleFormat: SexpFormat[Double]
- Definition Classes
- BasicFormats
-
implicit
val
FileFormat: SexpFormat[File]
- Definition Classes
- StandardFormats
-
implicit
val
FloatFormat: SexpFormat[Float]
- Definition Classes
- BasicFormats
-
implicit
val
IntFormat: SexpFormat[Int]
- Definition Classes
- BasicFormats
-
implicit
val
LongFormat: SexpFormat[Long]
- Definition Classes
- BasicFormats
-
implicit
val
ShortFormat: SexpFormat[Short]
- Definition Classes
- BasicFormats
-
implicit
val
SymbolFormat: SexpFormat[Symbol]
- Definition Classes
- BasicFormats
-
implicit
val
UriFormat: SexpFormat[URI]
- Definition Classes
- StandardFormats
-
implicit
val
UuidFormat: SexpFormat[UUID]
- Definition Classes
- StandardFormats
-
implicit
def
ViaBigDecimalFormat[T](implicit c: BigDecimalConvertor[T]): SexpFormat[T]
NOTE Emacs will not be able to correctly interpret arbitrary precision numbers because - unlike other lisps - it uses a reduced form of C double/integer precision.
NOTE Emacs will not be able to correctly interpret arbitrary precision numbers because - unlike other lisps - it uses a reduced form of C double/integer precision. A round-trip via Emacs for very large numbers will return
SexpPosInf.The built-in Emacs library
'calchas a few data formats http://www.gnu.org/software/emacs/manual/html_mono/calc.html#Data-Type-Formats but they fall short and require specific interpretation within the'calcframework.If you need Emacs-specific support for arbitrary precision numbers, override this implementation with one that adheres to the arbitrary precision framework of your choice.
- Definition Classes
- BasicFormats
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
implicit
def
eitherFormat[L, R](implicit arg0: SexpFormat[L], arg1: SexpFormat[R]): SexpFormat[Either[L, R]]
- Definition Classes
- StandardFormats
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
implicit
def
genMapFormat[M[_, _], K, V](implicit ev: <:<[M[K, V], GenMap[K, V]], cbf: CanBuildFrom[M[K, V], (K, V), M[K, V]], kf: SexpFormat[K], vf: SexpFormat[V]): SexpFormat[M[K, V]]
- Definition Classes
- CollectionFormats
-
implicit
def
genTraversableFormat[T[_], E](implicit evidence: <:<[T[E], GenTraversable[E]], cbf: CanBuildFrom[T[E], E, T[E]], ef: SexpFormat[E]): SexpFormat[T[E]]
- Definition Classes
- CollectionFormats
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
implicit
def
labelledProductFormat[T, R <: HList, LR <: HList, K <: HList](implicit g: Aux[T, R], lg: Aux[T, LR], k: Aux[LR, K], ltl: ToList[K, Symbol], r: Lazy[HListFormat[R]]): SexpFormat[T]
- Definition Classes
- LegacyLowPriorityProductFormats
-
def
local[T](t: ⇒ T): ThreadLocal[T]
- Attributes
- protected
- Definition Classes
- ThreadLocalSupport
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
implicit
def
numericRangeFormat[E](implicit nf: SexpFormat[E], int: Integral[E]): SexpFormat[NumericRange[E]]
- Definition Classes
- CollectionFormats
-
implicit
def
optionFormat[T](implicit arg0: SexpFormat[T]): SexpFormat[Option[T]]
- Definition Classes
- StandardFormats
-
def
skipNilValues: Boolean
- Definition Classes
- LegacyLowPriorityProductFormats
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
toWireName(field: String): String
- Definition Classes
- LegacyLowPriorityProductFormats
-
implicit
def
tupleProductFormat[T, R <: HList, T2](implicit g: Aux[T, R], t: shapeless.ops.hlist.Tupler.Aux[R, T2], p: =:=[T, T2], r: Lazy[HListFormat[R]]): SexpFormat[T]
- Definition Classes
- LegacyProductFormats
-
def
viaString[T](via: ViaString[T]): SexpFormat[T]
- Definition Classes
- StandardFormats
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
object
HListFormat
- Definition Classes
- LegacyLowPriorityProductFormats