Îõ³h$0]¶      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ(c) Philip Cunningham, 2015MIThello@filib.io experimentalportable Safe-Inferred B ruby-marshal.ADT representing all supported Ruby encodings.k ruby-marshal)Lifts encoding strings into encoding ADT.l ruby-marshal,Lowers encoding ADT into an encoding string.è  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklèlk  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij(c) Philip Cunningham, 2015MIThello@filib.io experimentalportableNone›p ruby-marshal Read an Int8.q ruby-marshalRead an Int16.r ruby-marshalÛRead a Word24 in little endian format. Since Word24 unavailable in Data.Int we use Word32.s ruby-marshalÀRead an Int24. Since Int24 unavailable in Data.Int we use Int32.t ruby-marshalRead an Int32. pqrst pqstr(c) Philip Cunningham, 2015MIThello@filib.io experimentalportableNone>Àà ãu ruby-marshal7Transform plain Haskell values to RubyObjects and back.v ruby-marshal5Takes a plain Haskell value and lifts into RubyObjectw ruby-marshalÃTakes a RubyObject transforms it into a more general Haskell value.x ruby-marshal Representation of a Ruby object.y ruby-marshal represents nilz ruby-marshal represents true or false{ ruby-marshal represents a Fixnum| ruby-marshalrepresents an Array} ruby-marshalrepresents an Hash~ ruby-marshalrepresents an IVar ruby-marshal represents a String€ ruby-marshal represents a Float ruby-marshal represents a Symbol‚ ruby-marshalrepresents an invalid objectuvwx‚€~}|{zyx‚€~}|{zyuvw(c) Philip Cunningham, 2015MIThello@filib.io experimentalportableNoneÎ • “ ruby-marshal7State that we must carry around during deserialisation.• ruby-marshal object cache.– ruby-marshal symbol cache.— ruby-marshal9Marshal monad endows the underlying Get monad with State.š ruby-marshal"Lift Get monad into Marshal monad.› ruby-marshal7Constructs an empty cache to store symbols and objects.œ ruby-marshalLook up value in cache. ruby-marshalLook up object in object cache.ž ruby-marshal!Look up a symbol in symbol cache.Ÿ ruby-marshal)Write an object to the appropriate cache. “”–•—˜™š›œžŸ —˜™š“”–•›œžŸ(c) Philip Cunningham, 2015MIThello@filib.io experimentalportableNoneèµ ¦ ruby-marshal"Character that represents Symlink.§ ruby-marshal!Character that represents Symbol.¨ ruby-marshal!Character that represents String.© ruby-marshal&Character that represents Object link.ª ruby-marshalCharacter that represents IVar.« ruby-marshalCharacter that represents Hash.¬ ruby-marshal Character that represents Float.­ ruby-marshal!Character that represents Fixnum.® ruby-marshal Character that represents Array.¯ ruby-marshal$Character that represents TrueClass.° ruby-marshal%Character that represents FalseClass.± ruby-marshal&Character that represents NilCharlass.ÿ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijxyz{|}~€‚“—¦§¨©ª«¬­®¯°±ÿ—“  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijxyz{|}~€‚±°¯®­¬«ª©¨§¦(c) Philip Cunningham, 2015MIThello@filib.io experimentalportableNone àá蟲 ruby-marshalParses Marshal version.³ ruby-marshal Parses a subset of Ruby objects.²³²³(c) Philip Cunningham, 2015MIThello@filib.io experimentalportableNone¼´ ruby-marshalæParses a subset of Ruby objects serialised with Marshal, Ruby's built-in binary serialisation format.µ ruby-marshalæParses a subset of Ruby objects serialised with Marshal, Ruby's built-in binary serialisation format.´ ruby-marshalSerialised Ruby object ruby-marshalDe-serialisation resultµ ruby-marshalSerialised Ruby object ruby-marshal(Error message or de-serialisation resultƒjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!  wvx‚€~}|{yz“—¦§¨©ª«¬­®¯°±´µ´µwv¶       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ  ¡¢££¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁ)ruby-marshal-0.2.1-Bj33WV3519BGw2qjTPFacaData.Ruby.Marshal.IntData.Ruby.Marshal.EncodingData.Ruby.Marshal.RubyObjectData.Ruby.Marshal.MonadData.Ruby.Marshal.TypesData.Ruby.Marshal.GetData.Ruby.MarshalbaseGHC.IntInt16GHC.WordWord8%cereal-0.5.8.2-5UJXaPWD8cs9Tpo4Yvc2XhData.Serialize.Get getWord32le getWord16legetWord8RubyStringEncoding ASCII_8BITBig5 Big5_HKSCSBig5_UAOCP50220CP50221CP51932CP850CP852CP855CP949CP950CP951EUC_JP EUC_JP_2004EUC_KREUC_TW Emacs_MuleEucJP_msGB12345GB18030GB1988GB2312GBKIBM437IBM737IBM775IBM852IBM855IBM857IBM860IBM861IBM862IBM863IBM864IBM865IBM866IBM869 ISO_2022_JP ISO_2022_JP_2ISO_2022_JP_KDDI ISO_8859_1 ISO_8859_10 ISO_8859_11 ISO_8859_13 ISO_8859_14 ISO_8859_15 ISO_8859_16 ISO_8859_2 ISO_8859_3 ISO_8859_4 ISO_8859_5 ISO_8859_6 ISO_8859_7 ISO_8859_8 ISO_8859_9KOI8_RKOI8_U MacCentEuro MacCroatian MacCyrillicMacGreek MacIceland MacJapaneseMacRoman MacRomaniaMacThai MacTurkish MacUkraine SJIS_DoCoMo SJIS_KDDI SJIS_SoftBank Shift_JISStateless_ISO_2022_JPStateless_ISO_2022_JP_KDDITIS_620US_ASCII UTF8_DoCoMo UTF8_KDDIUTF8_MAC UTF8_SoftBankUTF_16UTF_16BEUTF_16LEUTF_32UTF_32BEUTF_32LEUTF_7UTF_8 Windows_1250 Windows_1251 Windows_1252 Windows_1253 Windows_1254 Windows_1255 Windows_1256 Windows_1257 Windows_1258 Windows_31J Windows_874UnsupportedEncodingtoEncfromEnc$fEqRubyStringEncoding$fOrdRubyStringEncoding$fShowRubyStringEncodinggetInt8 getInt16le getWord24le getInt24le getInt32leRubyabletoRubyfromRuby RubyObjectRNilRBoolRFixnumRArrayRHashRIVarRStringRFloatRSymbol Unsupported $fRubyableMap $fRubyable[] $fRubyable[]0$fRubyableMaybe $fRubyable(,)$fRubyableFloat$fRubyableByteString$fRubyableVector$fRubyableVector0 $fRubyableInt$fRubyableBool $fRubyable()$fRubyableRubyObject$fEqRubyObject$fOrdRubyObject$fShowRubyObjectCacheobjectssymbolsMarshal runMarshal liftMarshal emptyCache readCache readObject readSymbol writeCache$fMonadFailMarshal$fMonadMarshal$fFunctorMarshal$fApplicativeMarshal$fMonadStateCacheMarshal $fShowCache SymlinkChar SymbolChar StringCharObjectLinkCharIVarCharHashChar FloatChar FixnumChar ArrayCharTrueChar FalseCharNilChargetMarshalVersion getRubyObjectdecode decodeEither