• View
  • Changes
  • Options
  • Related
  • Edit

  • {"name": "Lewis Hoffman"}  
    Lewis Hoffman

    {"type": "Fruit"}       
    <Fruit>

    {"content": "Kiwi"}     
    :Kiwi

    {"type":"Fruit", "content": "Kiwi"}
    <Fruit>:Kiwi 

    {"content": ["eq", "Kiwi"] }
    :eq Kiwi

    {"content": ["=", "Kiwi"] }
    := Kiwi

    {"type": ["in", "Release", "Point Releases"] }
    (type:[in Release, Point Release])
    <[Release, Point Releases]>

    {"content": ["match", "Matt"] }
    :~Matt

    {"refer_to": "John Abbe"}
    (refer_to:"John Abbe")
    -> John Abbe

    {"referred_to_by": "John Abbe"}
    <- John Abbe

    {"link_to": "John Abbe"}
    _> John Abbe

    # link, include, reference:  _>, =>, ->   
    # (reference includes both, thus double line)


    {"part": "website"}
    part:website
    # haven't used this one much, it don't need no shortcut

    {"right": "email"}
    *+email

    {"left": "email"}
    email+*

    # this (condition)+(condition) syntax implies you must always specify left and right together in a pair.  use the wildcard to say "no conditions", otherwise it will assume _self.

    {"right_plus": "email"}
    ;+email

    {"left_plus": "email"}
    ;email+

    {"plus":"email"}
    ;+email || ;email+

    # ';' creates a special context where the '+' operator may only specify one side, and the other side is assumed to refer to card that would be returned by the condition. if we use '_this' to stand in for the "other" side, a fully explicit version might be like this:
    {"right_plus": "email"}
    ;(name:_this+email)

    {"left_plus": "email"}
    ;(name:email+_this)

    # having to specify the condition twice and join with || to do plus is admittedly a bit of a pain.  however I actually 'want' the language to reflect that we're doing twice as much work on the backend in this case.

    {"type":"Ticket","right_plus":["status",{"content":"closed"}]}
    <Ticket>;+status:closed

    {"type": "User", "not": {"plus": "nerdy nickname"}}
    <User>;!+nerdy nickname;!nerdy nickname+

    # here ;!  needs to be a special operator.
    # if it were a generic !, then it would have to be:
    <User>!;+nerdy nickname,!;nerdy nickname+


    {"type": "User", "sort": "name", "dir": "desc", "limit": 8}
    <User>↓name≤8

    # ha!  if only I could figure out the keyboard shortcuts for unicode this would be cool.

    {"left":{"found_by":"_self+pattern for action"},"right":"also send to"}
    (↵+pattern for action)+also sent to

    # the unicode is the pretty way to do this but we might want an easier to type substitute
    (<..self+pattern for action)+also sent to

    {"type":"committee", "plus":["chair",{"refer_to":"_self"}]}
    <comittee>;+chair->_self


    {"or":
      {
        "found_by":"_self+action email committee members",
         "and":{"found_by":"_self+action email legislators"}
      }
    }
    ↵+action email committee members || ↵+action email legislators




    {"referred_to_by":
      {"left":{"found_by":"_self+pattern_for_action"},
       "right":"send to"}
    }
    <- (↵+pattern_for_action)+sent to     

    # parens omitted as '+' has higher precedence/binding than '<-'


    {"referred_to_by":{"left":"_self", "right":"Action Pattern"}}
    <- +Action Pattern


    {"type":"Stakeholder",
     "referred_to_by":
      {"included_by":
        {"referred_to_by":
          {"left":
            { "referred_to_by":
              {"left":
                {"referred_to_by":
                  {"left":"_self",
                   "right":"action pattern"
                  },
                  "right_plus":["action type",{"refer_to":"testimony"}]
                },
               "right":"bill"
              }
            },
          "right":"committee"
          }
        }
      }
    }


    <Stakeholder> <- ( <= ( <- ((<- (( <-
      ((+action pattern;+action type->testimony)+bill))+committee)))))


    # hmm...   So, in this giant case I'm not sure I can claim this is a lot more understandable.
    # but it is a *lot* shorter!  haha

    Download Docs Sandbox Hosting Support

  • View
  • Changes
  • Options
  • Related
  • Edit
  •  

    Wagn News

    1 to 5 of 24Next-page 1 to 5 of 24Next-page

     

    Ideas

     

     

    Support Tickets



    Wagn at github

    Wheeled by Wagn v. 1.7.2