We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Introduction to G-Expressions

00:00

Formal Metadata

Title
Introduction to G-Expressions
Title of Series
Number of Parts
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
This talk will present an overview of G-Expressions and how the GNU Guix project uses them. The GNU Guix project invented G-Expressions to make it easier to "stage" data or code, in the form of S-Expressions, for later manipulation or evaluation. They are similar to S-Expressions, hence the name, but they provide useful code staging features beyond what can be easily accomplished with just "quasiquote" and "unquote". A high-level object (such as a Guix package) can be included in a G-Expression; the transitive dependencies of that high-level object will then be automatically carried along with the G-Expression. When the G-Expression is converted to an S-Expression and stored on disk for later manipulation or evaluation, the high-level object will be automatically "lowered" to an appropriate representation (such as the package's output path) via a "compiler". Compared to direct manipulation of S-Expressions, G-Expressions can provide a simpler and more intuitive way to stage data or code. The Guix project uses G-Expressions to accomplish a wide variety of tasks, including: Building the latest version of Guix via "guix pull" Executing the "liberation" procedure to convert Mozilla Firefox's source code into GNU IceCat's source code Building Docker containers from scratch Executing activation actions during system boot ...and more!
Regulärer Ausdruck <Textverarbeitung>View (database)BuildingBitMultiplication signDampingCASE <Informatik>ExpressionSoftwareCodeLevel (video gaming)Cumulative distribution functionVirtual machineProjective planePresentation of a groupSoftware developerQuicksortFunction (mathematics)Computer animationLecture/Conference
Physical systemService (economics)Decision tree learningElectronic mailing listTouchscreenInterior (topology)Client (computing)Physical systemDatabase transactionEntire functionRevision controlSoftwareInstallation artNumbering schemeField (computer science)Service (economics)Operating systemMechanism designRow (database)Endliche ModelltheorieComputer fileObject (grammar)Formal languageFunction (mathematics)Single-precision floating-point formatOpen setoutputBuildingLecture/Conference
FreewareInstallation artComputer virusEndliche ModelltheorieBuildingoutputFunction (mathematics)Computer virusMathematicsSoftwareComputer programmingNumbering schemeProcess (computing)Source codeProcedural programmingData compressionCompilerCausalityGodRight angleWordConfiguration spaceLecture/Conference
Functional (mathematics)Data modelFunction (mathematics)Different (Kate Ryan album)outputHash functionView (database)Numbering schemeDerivation (linguistics)Data conversionRemote procedure callDemonBuildingWritingRevision controlSet (mathematics)Different (Kate Ryan album)Derivation (linguistics)Film editingBuildingProduct (business)Object (grammar)Process (computing)Library (computing)Data storage deviceFunction (mathematics)Virtual machineoutputHash functionGoodness of fitUniform resource locatorNamespaceComputing platformFile systemFerry CorstenPhysical systemCodeNumbering schemeVariable (mathematics)Scripting languageLevel (video gaming)Integrated development environmentShooting methodDemonWater vaporSoftwareAdditionInstallation artArmRepresentation (politics)Uniqueness quantificationComputer fileComputer animation
Regulärer Ausdruck <Textverarbeitung>CodeFunction (mathematics)outputDerivation (linguistics)FamilyMultiplication signExpressionProcedural programmingElectronic mailing listTranslation (relic)Numbering schemeoutputComputer programmingFunction (mathematics)Complex (psychology)BuildingCategory of beingCellular automatonBoolean algebraCore dumpFormal languageString (computer science)Arithmetic meanPower (physics)Form (programming)InformationContext awarenessDifferent (Kate Ryan album)Keyboard shortcutOrder (biology)SynchronizationMachine visionIntegrated development environmentUtility softwareCodeMenu (computing)Derivation (linguistics)Representation (politics)
AerodynamicsCodeVideo trackingoutputCore dumpDefault (computer science)Complex (psychology)ExpressionElectronic mailing listSurjective functionEmailTrailProgrammer (hardware)Computer animation
Function (mathematics)CodeRegulärer Ausdruck <Textverarbeitung>Scripting languageInformationBuildingModule (mathematics)Error messageModul <Datentyp>Derivation (linguistics)String (computer science)CompilerIntegrated development environmentDerivation (linguistics)ExpressionWritingInclusion mapModule (mathematics)Core dumpUtility softwareIntegrated development environmentElectronic mailing listoutputForm (programming)TrailDifferent (Kate Ryan album)Default (computer science)Object (grammar)CodeSign (mathematics)CASE <Informatik>Hash functionSound effectFunction (mathematics)Library (computing)ExplosionSet (mathematics)Endliche ModelltheorieBuildingLevel (video gaming)Directory serviceBitComputer animation
CodeVideo trackingAerodynamicsFunction (mathematics)Revision controlExpressionCore dumpoutputBitElectronic mailing listUtility softwareDirection (geometry)Projective planeLeakMathematicsComputer animation
Configuration spaceData managementDemonServer (computing)Modul <Datentyp>BootingDirectory serviceModule (mathematics)Scripting languagePhysical systemRevision controlDynamic Host Configuration ProtocolDatabaseString (computer science)Electronic visual displayLambda calculusInterface (computing)Numbering schemeExpressionService (economics)DemonFunction (mathematics)Physical systemCodeComputer fileProjective planeFile systemOrder (biology)Directory serviceBootingTask (computing)Cumulative distribution functionDifferent (Kate Ryan album)Object (grammar)Row (database)Field (computer science)Representation (politics)outputScripting languageProcedural programmingWave packetProcess (computing)Module (mathematics)DialectRight angleVariable (mathematics)Data structureComputer programmingOpen setSoftware testingEndliche ModelltheoriePresentation of a groupForm (programming)Algebraic closureServer (computing)Group actionComputer animation
Physical systemSoftware testingCompilerRegulärer Ausdruck <Textverarbeitung>Derivation (linguistics)Function (mathematics)Representation (politics)Procedural programmingDerivation (linguistics)CompilerInsertion lossExpressionAlgebraic closureObject (grammar)Utility softwareCore dumpSoftware testingLevel (video gaming)String (computer science)Multiplication signWordPersonal area networkLogicComputer animation
Physical systemString (computer science)Computer virusObject (grammar)Computer fileString (computer science)ExpressionContent (media)Computer virusParameter (computer programming)Object (grammar)Hash functionBookmark (World Wide Web)Insertion lossLocal ringData storage deviceFunction (mathematics)Point (geometry)Configuration spaceCodeBinary fileElectronic mailing listCompilerUniform resource locatorForm (programming)Right angleProfil (magazine)Data managementMathematics
Regulärer Ausdruck <Textverarbeitung>SoftwareCodeSource codeInformationBoss CorporationMacro (computer science)Multiplication signExpressionConfiguration spaceComputer architectureInformationCodeRow (database)Level (video gaming)Mechanism designQuicksortDomain nameCASE <Informatik>Physical systemContext awarenessDifferent (Kate Ryan album)Compilation albumProjective planeSpacetimeSoftwareComputer fileComputer programmingPoint (geometry)Computer animation
Right angleSlide ruleComputer animationLecture/Conference
Right angleObject (grammar)Revision controlDerivation (linguistics)CodeExpressionTouchscreenModule (mathematics)Arithmetic meanGraph (mathematics)Level (video gaming)Context awarenessDifferent (Kate Ryan album)BuildingCompilation albumEndliche ModelltheorieLatent heatImplementationRepresentation (politics)Electronic program guideLecture/Conference
CASE <Informatik>Open setElectronic mailing listDirection (geometry)Data storage deviceRepresentation (politics)CodeExpressionRight angleForm (programming)CAN busExpert systemLecture/Conference
Multiplication signRegular graphRight angleExpressionLecture/Conference
Point cloudFacebookOpen source
Transcript: Englisch(auto-generated)