<100 subscribers

Jargon: an LLM-based pseudolanguage for prompt engineering
Warning and disclaimer🚨 You are about to enter the realm of LLM pseudolanguages. Pseudolanguages are weird, experimental, and crazy. They don’t work very well yet, even on state-of-the-art LLMs. Use pseudolanguages at your own risk. Do not use them for anything with high stakes or in production.tl;drJargon is a natural language, informally specified, intelligently interpreted, referentially omnipotent, and flow control oriented LLM-based pseudolanguage for prompt engineering, currently runni...

The one-way doors of innovation
In the course of observing an innovation process with its whirring and whistling, periodically we come to a one-way door. Once we walk through that door, we can never go back. The invention of Bitcoin was such a door. Overnight, the power of nation states to monopolize the issuance and distribution of currency dissipated. The democratization of issuance of digital assets logically followed, and as a species we are now in a fundamentally more advanced leg of our technological innovation journe...
Using Jargon CLI in Jargon v0.2.0
The Jargon CLI is a new feature of Jargon: it is a command line shell that works with the OpenAI API and allows you to experiment with Jargon programs quickly. You can try it out in v0.2.0 at the Jargon Github repoInstallationTo install it, simply use pip:$ cd gpt-jargon $ pip install . For the CLI to be able to access your LLM, make sure your OPENAI_API_KEY environment variable is set. The default model used is gpt-4, but you may want to use an alternative model with the --model option (or t...

Jargon: an LLM-based pseudolanguage for prompt engineering
Warning and disclaimer🚨 You are about to enter the realm of LLM pseudolanguages. Pseudolanguages are weird, experimental, and crazy. They don’t work very well yet, even on state-of-the-art LLMs. Use pseudolanguages at your own risk. Do not use them for anything with high stakes or in production.tl;drJargon is a natural language, informally specified, intelligently interpreted, referentially omnipotent, and flow control oriented LLM-based pseudolanguage for prompt engineering, currently runni...

The one-way doors of innovation
In the course of observing an innovation process with its whirring and whistling, periodically we come to a one-way door. Once we walk through that door, we can never go back. The invention of Bitcoin was such a door. Overnight, the power of nation states to monopolize the issuance and distribution of currency dissipated. The democratization of issuance of digital assets logically followed, and as a species we are now in a fundamentally more advanced leg of our technological innovation journe...
Using Jargon CLI in Jargon v0.2.0
The Jargon CLI is a new feature of Jargon: it is a command line shell that works with the OpenAI API and allows you to experiment with Jargon programs quickly. You can try it out in v0.2.0 at the Jargon Github repoInstallationTo install it, simply use pip:$ cd gpt-jargon $ pip install . For the CLI to be able to access your LLM, make sure your OPENAI_API_KEY environment variable is set. The default model used is gpt-4, but you may want to use an alternative model with the --model option (or t...
Share Dialog
Share Dialog
If you are not familiar with Jargon, start at the introductory article and Github.
As of Jargon 0.0.10, the Jargon language is specified self-referentially as a Jargon procedure with Jargon axioms, which goes on to define Jargon procedures and Jargon axioms and the other language constructs.
A type expression is a natural language description of a class of data. For example:
[an even number]
Type expressions can then be used in fuzzy comparisons:
2 == [an even number] # TRUE
🎳 == [an emoji] # TRUE
The following Jargon procedure might trigger GPT-4’s ethics filter.
+++ insult-me
-- Insult me
+++
Now, in this case the Jargon interpreter returns:
%ethics-error
As of Jargon v0.0.11, Jargon has a new procedure that specifies how unit tests work. A basic unit test looks like this:
+++ test-double($n)
- Output twice $n
+++
? This test just doubles its parameter.
% /test-double(2)
! 4
A unit test is just a Jargon procedure whose name starts with test- and which is followed by a few pieces of metadata. Metadata with lines that start with ? is just a description of what the test does, which is helpful for both the humans and the LLM reading the test case.
The line starting with ! is the expected output of the test. This is the output that the unit test runner will compare with the actual output of the procedure’s execution.
In our test above, we also need to specify a parameter, so we use a % line to specify how we run the test.
We can also do this multiple times if we want:
% /test-double(2)
! 4
% /test-double(3)
! 6
% /test-double(12)
! 24
If the test doesn’t require a paramter, we can just omit the %:
+++ test-woof
-- Return 🐶
+++
? Just returns a doggie.
! 🐶
If your test returns multiple lines out output, then we can show that as follows:
+++ test-multiline
- Return three dollar signs on separate lines
+++
! $
$
$
Using type expressions is useful for tests that have some uncertainties about the output:
+++ test-emoji
-- Output a random emoji
+++
? Outputs a random emoji.
! [an emoji]
As of v0.0.12, Jargon comes with its own unit test suite within tests.txt. You can run these tests in the Jargon interpreter, and they should improve performance of the interpreter overall.
If you are not familiar with Jargon, start at the introductory article and Github.
As of Jargon 0.0.10, the Jargon language is specified self-referentially as a Jargon procedure with Jargon axioms, which goes on to define Jargon procedures and Jargon axioms and the other language constructs.
A type expression is a natural language description of a class of data. For example:
[an even number]
Type expressions can then be used in fuzzy comparisons:
2 == [an even number] # TRUE
🎳 == [an emoji] # TRUE
The following Jargon procedure might trigger GPT-4’s ethics filter.
+++ insult-me
-- Insult me
+++
Now, in this case the Jargon interpreter returns:
%ethics-error
As of Jargon v0.0.11, Jargon has a new procedure that specifies how unit tests work. A basic unit test looks like this:
+++ test-double($n)
- Output twice $n
+++
? This test just doubles its parameter.
% /test-double(2)
! 4
A unit test is just a Jargon procedure whose name starts with test- and which is followed by a few pieces of metadata. Metadata with lines that start with ? is just a description of what the test does, which is helpful for both the humans and the LLM reading the test case.
The line starting with ! is the expected output of the test. This is the output that the unit test runner will compare with the actual output of the procedure’s execution.
In our test above, we also need to specify a parameter, so we use a % line to specify how we run the test.
We can also do this multiple times if we want:
% /test-double(2)
! 4
% /test-double(3)
! 6
% /test-double(12)
! 24
If the test doesn’t require a paramter, we can just omit the %:
+++ test-woof
-- Return 🐶
+++
? Just returns a doggie.
! 🐶
If your test returns multiple lines out output, then we can show that as follows:
+++ test-multiline
- Return three dollar signs on separate lines
+++
! $
$
$
Using type expressions is useful for tests that have some uncertainties about the output:
+++ test-emoji
-- Output a random emoji
+++
? Outputs a random emoji.
! [an emoji]
As of v0.0.12, Jargon comes with its own unit test suite within tests.txt. You can run these tests in the Jargon interpreter, and they should improve performance of the interpreter overall.
No comments yet