Soulver X Series (X1, X2…)
The quest for a more perfect Soulver
What is the Soulver X Series?
We're considering embarking on a multi-year R&D project whose mission is to:
Explore cool new ideas for Soulver
Seek out new forms & new workflows
Boldly go where no notepad calculator has gone before 🖖
Soulver X1
We've already published a new document-based Mac app called Soulver X1 on GitHub.
X1 includes some very cool implementations of our top #3 feature requests, including:
Custom function support (including natural language functions)
Sharing variables across sheets (via the new "header" sheet)
Connecting to Web APIs (with just a paste and a couple of clicks)
X Series Features
1. Tabs
Documents in Soulver X1 start with a single tab, and you can add more by clicking the + button in the right of the tab bar.
Renaming tabs
Double click on the title of a tab to give it an alternative name. Alternatively, control-click on the tab and choose "Rename".
Deleting tabs
When you hover over a tab, click the x button to delete. Alternatively, control-click on the tab and choose "Delete"
Tabs are a work in progress feature.
You cannot rearrange tabs (yet), and adding too many tabs in a single document does not work correctly.
2. The header
The header is a dedicated sheet for defining variables, units, functions, and web values that can be used across all tabs in your document.
3. Cross-tab variables
Declare variables for your document in the header the same way you would declare local variables.
For example:
my variable
will be available across all your sheets
Your tabs can only reference variables, but cannot modify their definition such that it will apply to other sheets in the document.
4. Equivalence units
An equivalence unit is defined in terms of an existing unit.
Define a new equivalence unit in the header using (for example):
The watermelon
can now be used as a unit of mass across your tabs.
Soulver X1 automaticaly pluralises your new unit for you (in English).
So in this example, both "watermelons" will be recognized as a valid unit name, even though the definition was "watermelon".
5. Generic units
An equivalence unit is an entirely new unit type, not defined in terms of an existing unit.
Define a new generic unit in the header using (for example):
The operation
unit can now be used across your tabs (including in rates):
6. Custom functions
Introduction
A function is a handy phrase that takes an input and returns an output. In Soulver X1, you can use (almost) any syntax for a function, including:
C-style: doSomething(123)
Swift-style: doSomething(with: 123)
Natural language: do something with 123
To create a new custom function (in the header)
Click
Define New
>Function
Choosing a function name:
Define your function using an example of how you might use the function in practice.
Choose any parameters (so long as they match the "type" of parameter that you expect for your implementation, like money, time, plain decimal numbers, etc).
Implementing your function:
Implement the function in a dedicated Soulver sheet. Any parameters will be injected as yellow tokens.
Hover over a parameter token to see what parameter it refers to in the declaration.
The last line of the implementation sheet will be returned as the function's final value.
Using your function
Use your function with other input values across all of your sheets
7. Web values (connecting to JSON APIs)
To create a new web value (in the header)
Click
Define New
>Web Value
To connect to a particular data point in a JSON data feed
Paste in a URL to a JSON data feed, and then simply click on the data point you wish to connect to
Using a web value
Your web value will be assigned a variable name (by default, matching its description in the JSON feed)
You're welcome to change the variable name to something else
Updating a web value
Your web value will be automatically updated in the background with the frequency that you specified during setup
Editing a web value
Double-click the yellow web value token in the header to specify a different data point, or change the update frequency
Soulver X Series File Type
Soulver X series apps use a different document type (.slvrx) from Soulver.
This is to support the new features we're building and experimenting with.
Soulvex X (.slvx) files cannot be edited by Soulver 3 for Mac, iOS & iPad.
Soulver X Series Sponsorship
If you're a long time user (or Soulver mega-fan), and are excited by this work, you might consider sponsoring our mission on GitHub.
Also, as a sponsor, you'll get access to the latest X series prototype (X2, X3, etc) with more never-before-seen features in the notepad calculator domain.
Our (very) small team would appreciate the support, and we'll be able to dedicate more resources to this kind of advanced notepad calculator R&D.
Last updated