1.14.0 • Published 3 years ago

lucid-programming v1.14.0

Weekly downloads
4
License
ISC
Repository
github
Last release
3 years ago

Lucid Programming

Simple, fast and minimalist programming language for programming via SMS, MUD, IRC, etc.

Lucid Programming is the second programming language in the programming series, see civilized for previous reference implementation and original POC.

About

Lucid Programming aims to be a stateless, variable free, action execution language. Designed for the Aural User Interface with strong IRC/SMS support.

Constraints

All potential input must be pre-generated. No dynamic expression support, all is known ahead of time.

Benefits

Because we are using pre-defined key-names, the following is the matching function in its entirety:

  return input => db.lookup[input];

Usage

  const recognized = lucid.recognition('Order Large New York Cheese with Asiago crust.');
  assert.deepStrictEqual({ pieType: 'Large New York', price: 800, pizzaType: 'Cheese', crustType: 'Asiago' }, recognized);

Response

  {
    "pieType": "Large New York",
    "price": 800,
    "pizzaType": "Cheese",
    "crustType": "Asiago"
  }

Usage

  db = lucid.registration({
    text: 'Goodbye World',
    pattern: [
      { type: 'text', text: 'Launch rocket' },
      [
        { type: 'value', key: 'rocket', text: 'A' },
        { type: 'value', key: 'rocket', text: 'B' },
        { type: 'value', key: 'rocket', text: 'C' },
        { type: 'value', key: 'rocket', text: 'D' },
      ],
      { type: 'text', text: 'from launchpad' },
      [
        { type: 'value', key: 'launchpad', text: '1' },
        { type: 'value', key: 'launchpad', text: '2' },
        { type: 'value', key: 'launchpad', text: '3' },
        { type: 'value', key: 'launchpad', text: '4' },

      ],
      { type: 'text', text: 'against' },
      [
        { type: 'value', key: 'attack', text: 'England' },
        { type: 'value', key: 'attack', text: 'Neverland' },
        { type: 'value', key: 'attack', text: 'Poland' },
        { type: 'value', key: 'attack', text: 'Narnia' },
      ]
    ]
  });

Results

[
  {
    "text": "Launch rocket A from launchpad 1 against England",
    "data": {
      "rocket": "A",
      "launchpad": "1",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket A from launchpad 1 against Neverland",
    "data": {
      "rocket": "A",
      "launchpad": "1",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket A from launchpad 1 against Poland",
    "data": {
      "rocket": "A",
      "launchpad": "1",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket A from launchpad 1 against Narnia",
    "data": {
      "rocket": "A",
      "launchpad": "1",
      "attack": "Narnia"
    }
  },
  {
    "text": "Launch rocket A from launchpad 2 against England",
    "data": {
      "rocket": "A",
      "launchpad": "2",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket A from launchpad 2 against Neverland",
    "data": {
      "rocket": "A",
      "launchpad": "2",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket A from launchpad 2 against Poland",
    "data": {
      "rocket": "A",
      "launchpad": "2",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket A from launchpad 2 against Narnia",
    "data": {
      "rocket": "A",
      "launchpad": "2",
      "attack": "Narnia"
    }
  },
  {
    "text": "Launch rocket A from launchpad 3 against England",
    "data": {
      "rocket": "A",
      "launchpad": "3",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket A from launchpad 3 against Neverland",
    "data": {
      "rocket": "A",
      "launchpad": "3",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket A from launchpad 3 against Poland",
    "data": {
      "rocket": "A",
      "launchpad": "3",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket A from launchpad 3 against Narnia",
    "data": {
      "rocket": "A",
      "launchpad": "3",
      "attack": "Narnia"
    }
  },
  {
    "text": "Launch rocket A from launchpad 4 against England",
    "data": {
      "rocket": "A",
      "launchpad": "4",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket A from launchpad 4 against Neverland",
    "data": {
      "rocket": "A",
      "launchpad": "4",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket A from launchpad 4 against Poland",
    "data": {
      "rocket": "A",
      "launchpad": "4",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket A from launchpad 4 against Narnia",
    "data": {
      "rocket": "A",
      "launchpad": "4",
      "attack": "Narnia"
    }
  },
  {
    "text": "Launch rocket B from launchpad 1 against England",
    "data": {
      "rocket": "B",
      "launchpad": "1",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket B from launchpad 1 against Neverland",
    "data": {
      "rocket": "B",
      "launchpad": "1",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket B from launchpad 1 against Poland",
    "data": {
      "rocket": "B",
      "launchpad": "1",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket B from launchpad 1 against Narnia",
    "data": {
      "rocket": "B",
      "launchpad": "1",
      "attack": "Narnia"
    }
  },
  {
    "text": "Launch rocket B from launchpad 2 against England",
    "data": {
      "rocket": "B",
      "launchpad": "2",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket B from launchpad 2 against Neverland",
    "data": {
      "rocket": "B",
      "launchpad": "2",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket B from launchpad 2 against Poland",
    "data": {
      "rocket": "B",
      "launchpad": "2",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket B from launchpad 2 against Narnia",
    "data": {
      "rocket": "B",
      "launchpad": "2",
      "attack": "Narnia"
    }
  },
  {
    "text": "Launch rocket B from launchpad 3 against England",
    "data": {
      "rocket": "B",
      "launchpad": "3",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket B from launchpad 3 against Neverland",
    "data": {
      "rocket": "B",
      "launchpad": "3",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket B from launchpad 3 against Poland",
    "data": {
      "rocket": "B",
      "launchpad": "3",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket B from launchpad 3 against Narnia",
    "data": {
      "rocket": "B",
      "launchpad": "3",
      "attack": "Narnia"
    }
  },
  {
    "text": "Launch rocket B from launchpad 4 against England",
    "data": {
      "rocket": "B",
      "launchpad": "4",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket B from launchpad 4 against Neverland",
    "data": {
      "rocket": "B",
      "launchpad": "4",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket B from launchpad 4 against Poland",
    "data": {
      "rocket": "B",
      "launchpad": "4",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket B from launchpad 4 against Narnia",
    "data": {
      "rocket": "B",
      "launchpad": "4",
      "attack": "Narnia"
    }
  },
  {
    "text": "Launch rocket C from launchpad 1 against England",
    "data": {
      "rocket": "C",
      "launchpad": "1",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket C from launchpad 1 against Neverland",
    "data": {
      "rocket": "C",
      "launchpad": "1",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket C from launchpad 1 against Poland",
    "data": {
      "rocket": "C",
      "launchpad": "1",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket C from launchpad 1 against Narnia",
    "data": {
      "rocket": "C",
      "launchpad": "1",
      "attack": "Narnia"
    }
  },
  {
    "text": "Launch rocket C from launchpad 2 against England",
    "data": {
      "rocket": "C",
      "launchpad": "2",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket C from launchpad 2 against Neverland",
    "data": {
      "rocket": "C",
      "launchpad": "2",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket C from launchpad 2 against Poland",
    "data": {
      "rocket": "C",
      "launchpad": "2",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket C from launchpad 2 against Narnia",
    "data": {
      "rocket": "C",
      "launchpad": "2",
      "attack": "Narnia"
    }
  },
  {
    "text": "Launch rocket C from launchpad 3 against England",
    "data": {
      "rocket": "C",
      "launchpad": "3",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket C from launchpad 3 against Neverland",
    "data": {
      "rocket": "C",
      "launchpad": "3",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket C from launchpad 3 against Poland",
    "data": {
      "rocket": "C",
      "launchpad": "3",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket C from launchpad 3 against Narnia",
    "data": {
      "rocket": "C",
      "launchpad": "3",
      "attack": "Narnia"
    }
  },
  {
    "text": "Launch rocket C from launchpad 4 against England",
    "data": {
      "rocket": "C",
      "launchpad": "4",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket C from launchpad 4 against Neverland",
    "data": {
      "rocket": "C",
      "launchpad": "4",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket C from launchpad 4 against Poland",
    "data": {
      "rocket": "C",
      "launchpad": "4",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket C from launchpad 4 against Narnia",
    "data": {
      "rocket": "C",
      "launchpad": "4",
      "attack": "Narnia"
    }
  },
  {
    "text": "Launch rocket D from launchpad 1 against England",
    "data": {
      "rocket": "D",
      "launchpad": "1",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket D from launchpad 1 against Neverland",
    "data": {
      "rocket": "D",
      "launchpad": "1",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket D from launchpad 1 against Poland",
    "data": {
      "rocket": "D",
      "launchpad": "1",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket D from launchpad 1 against Narnia",
    "data": {
      "rocket": "D",
      "launchpad": "1",
      "attack": "Narnia"
    }
  },
  {
    "text": "Launch rocket D from launchpad 2 against England",
    "data": {
      "rocket": "D",
      "launchpad": "2",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket D from launchpad 2 against Neverland",
    "data": {
      "rocket": "D",
      "launchpad": "2",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket D from launchpad 2 against Poland",
    "data": {
      "rocket": "D",
      "launchpad": "2",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket D from launchpad 2 against Narnia",
    "data": {
      "rocket": "D",
      "launchpad": "2",
      "attack": "Narnia"
    }
  },
  {
    "text": "Launch rocket D from launchpad 3 against England",
    "data": {
      "rocket": "D",
      "launchpad": "3",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket D from launchpad 3 against Neverland",
    "data": {
      "rocket": "D",
      "launchpad": "3",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket D from launchpad 3 against Poland",
    "data": {
      "rocket": "D",
      "launchpad": "3",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket D from launchpad 3 against Narnia",
    "data": {
      "rocket": "D",
      "launchpad": "3",
      "attack": "Narnia"
    }
  },
  {
    "text": "Launch rocket D from launchpad 4 against England",
    "data": {
      "rocket": "D",
      "launchpad": "4",
      "attack": "England"
    }
  },
  {
    "text": "Launch rocket D from launchpad 4 against Neverland",
    "data": {
      "rocket": "D",
      "launchpad": "4",
      "attack": "Neverland"
    }
  },
  {
    "text": "Launch rocket D from launchpad 4 against Poland",
    "data": {
      "rocket": "D",
      "launchpad": "4",
      "attack": "Poland"
    }
  },
  {
    "text": "Launch rocket D from launchpad 4 against Narnia",
    "data": {
      "rocket": "D",
      "launchpad": "4",
      "attack": "Narnia"
    }
  }
]
1.14.0

3 years ago

1.13.0

5 years ago

1.12.0

5 years ago

1.11.0

6 years ago

1.10.0

6 years ago

1.9.0

6 years ago

1.8.0

6 years ago

1.7.0

6 years ago

1.6.0

6 years ago

1.5.0

6 years ago

1.4.0

6 years ago

1.3.0

6 years ago