~
Docs
CoursesLanguageSystemUserspaceToolsManualGlossary
AgentAmesAPIAquaArmArvoAtomAuraAural ASCIIAxesAxisAzimuthBatteryBehnBowlBridgeBuntCardCaseCaskCellCensuresClaimsClamClayCold atomCometCommitConsContextCordCoreCueDelegated SendingDeskDillDocument ProposalDojoDoorDouble-bootDry GateDuctEclipticEntropyEvent LogEyreFaceFactFoo Bar BazGalaxyGallGardenGateGeneratorGiftGlobHD WalletHeadHelmHoodHoonInvite TreeIrisJaelJamJetKelvin versioningKernelKeyfileKeywordsKhanKilnLandscapeLarkLegLickListLoobeanLullMarkMetalsMoldMonadMoonMoveNockNoun~OTA UpdatesPath PrefixPath@pPayloadPeekpHPierPillPlanetPokeProxiesScryReplayFactory ResetRollerNaive rollupsRuneRuntimeSailSampleScrySenateShipSlamSpiderSponsorStarStringSubject Oriented ProgrammingSubjectSubscriptionTailTapeTermThreadTrapUdonUpgrade ProposalUserspaceVaneVaseVereVotingWarm atomWet GateWingWireWrapper~zodZuse
Glossary/Jam

Jam

Jam is the primary noun serialization function. It allows any noun to be packed into an atom for tranmission over the network or storage on disk. The jammed noun can be unpacked again with the cue function. Jam and Cue are used extensively by the kernel.

Example in the Dojo:

> (jam [1 2 3])
3.426.417
> (cue 3.426.417)
[1 2 3]

Note that vases shouldn't be jammed as non-trivial types pull in a lot of the standard library and result in an enormous jam file. Instead, they should be cue'd to a raw noun and then molded to the desired type.

Further Reading

  • Standard Library 2p: Serialization
~Urbit Docs
HomeCoursesLanguageSystemUserspaceToolsManualGlossary
GitHubAirlock APIsUrbit BinariesDeveloper Mailing ListIssue TrackerWhitepaper
Privacy Policy
Terms of Service
[email protected]