In computer programming, an S-expression (or symbolic expression, abbreviated as sexpr or sexp) is an expression in a like-named notation for nested list (tree-structured) data. S-expressions were invented for and popularized by the programming language Lisp, which uses them for source code as well as data.
In the usual parenthesized syntax of Lisp, an S-expression is classically defined as

an atom, or
an expression of the form (x . y) where x and y are S-expressions.This definition reflects LISP's representation of a list as a series of "cells", each one an ordered pair. In plain lists, y points to the next cell (if any), thus forming a list. The recursive clause of the definition means that both this representation and the S-expression notation can represent any binary tree. However, the representation can in principle allow circular references, in which cases the structure is not a tree at all, but a cyclic graph, and cannot be represented in S-expression notation
unless a convention for cross-reference is added (analogous to SQL foreign keys, XML IDREFs, etc.).
The definition of an atom varies per context; in the original definition by John McCarthy, it was assumed that there existed "an infinite set of distinguishable atomic symbols" represented as "strings of capital Latin letters and digits with single embedded blanks" (a subset of character string and numeric literals).
Most modern sexpr notations allow more general quoted strings (for example including punctuation or full Unicode), and use an abbreviated notation to represent lists with more than 2 members, so that

(x y z)stands for

(x . (y . (z . NIL)))NIL is the special end-of-list object (alternatively written (), which is the only representation in Scheme).
In the Lisp family of programming languages, S-expressions are used to represent both source code and data. Other uses of S-expressions are in Lisp-derived languages such as DSSSL, and as mark-up in communication protocols like IMAP and John McCarthy's CBCL. It's also used as text representation of WebAssembly. The details of the syntax and supported data types vary in the different languages, but the most common feature among these languages is the use of S-expressions and prefix notation.

You do not have permission to view the full content of this post. Log in or register now.
  1. L

    Help PANO Ihäçk TO MGA BOSS?

    PLDTHOMEFIBR7ABC8 Name nya di umepekto yung hex table mga boss, pahelp lang sana kung kaya nyong ehäçk. Bagong kabit pala yung wifi. Diko alam bakit hindi nagana hex table. Salamat sa tulong😊
  2. B

    Bakit everyday akong disconnect sa Ssh at ssl

    Sun Ctc50 gamit ko.. Pero pag gumawa ako ng ssh at ssl nagagamit ko sya for 1 day pero kinabukasan disconnect na ayaw na gumana kahit sa ssl.. madalas pa pag gumawa ako ayaw gumana kahit kagagawa lang.. Pahelp naman mga bossing
  3. L

    Tutorial Smart/sun free load

    diall *121*1*1*1#
  4. L

    Help Asking about new tricks or bug 2018

    Morning ka PH tanong lang po kung merun ba tayong bagong tricks or bug?
  5. L

    Tutorial Globe/tm 4g lte signal na naging h+

    Guys share ko lang konting info about globe/tm 4g lte signal na naging H+ nalang. First accept free offer globe switch then connect vpn if ayaw magconnect go to. Procedure dial *143# tapos hanapin yong refresh speed internet.yan Lang guys sana gumana sa inyo.
  6. 1

    Closed Closed thread!

    Closed Thread ..
  7. J

    Closed pa help po

    Pano po b mpagana internetfree ng portable hotspot?settings po cno my alam tnx'