Skip to content
Varlig Guide
Varlig home

Errors, diagnostics and limits

When Varlig can’t work out a line, it shows an error in place of the answer. Look up the message below to see what usually causes it. The page also lists notation that Varlig recognises but doesn’t support, and the limits that stop a calculation from growing too large. An error on one line doesn’t stop the rest of the note from working.

A name you’re still typing doesn’t show an error yet: 5 + pri, on the way to price, waits until you pause for about a second and a half or move the cursor away. A name that stays undefined, such as rent2 in 5 + rent2, is then an error, never read as the number in it.

Error messages

Message What it means Example
Error: divide by zero Division by exactly zero 10 / 0, split £90 among 0
Error: division without divisor An assignment whose value looks like a web address or dotted name followed by / link = example.com/docs
Error: imaginary number. For a complex answer, write … A real square root or logarithm of a negative number, or an inverse function outside its range. The message shows the complex form to write, such as sqrt(-4 + 0i) sqrt(-4), ln(-1), asin(2)
Error: incompatible units: can't add km and kg The units don’t match, or a value doesn’t suit the operation, such as comparing dates or slicing with [a:b]. The message names both units, and says can't convert for a conversion 2 m + 3 kg, 5 kg in L, [1, 2, 3][0:2]
Error: unsupported multiplicative unit A root of money or a mass, a root that would leave an uneven unit, or multiplying a temperature sqrt(£4), sqrt(4 m^3), 2 celsius * 3 m
Error: unsupported exponent operation A power the unit system can’t express 2 m ^ 0.5
Error: unsupported unit in rate An exchange rate whose units don’t fit the conversion £100 in EUR at 1.17 EUR/USD
No answer Nothing to show: an unfinished calculation, a name that isn’t defined, or a definition line x =, tip(bill, pct) = bill * pct
Error: ∞ A result too large or too small for the number format, a loan with a term of zero, or a historical exchange rate that isn’t available 10^1000, monthly repayment on £12000 over 0 years at 4%
Error: missing rate: XXX No exchange rate for that currency, for example before rates have loaded 100 USD in EUR
Error: imprecision due to magnitude A small number would be lost next to a very large one 1e100 + 1
Error: overflow A date or number outside the range Varlig can represent 1 January 2024 + 100000000 years
Error: calculation limit One of the limits was reached; also shown for the reversed form 5 combinations of 2 range(1, 2000), factorial(100000)
Unsupported: Unknown name: … A name without a value inside sum, product, solve, integrate or a derivative at a point integrate(a*x, x, 0, 1)
Error: no real solution A quadratic with no real root. Varlig says so rather than giving a complex root solve(x^2 + 1 = 0)
Unsupported: Expected a square matrix det, inverse or trace of a matrix that doesn’t have as many rows as columns det([[1,2,3],[4,5,6]])
Unsupported: Singular matrix has no inverse The determinant is zero, so the rows aren’t independent and there is no inverse inverse([[1,2],[2,4]])
Unsupported: Matrix entries must be plain numbers; … A unit, an amount of money or a complex value in a matrix. No matrix operation would preserve them det([[1 kg,2],[3,4]])
Unsupported: No value repeats, so this list has no mode; … mode where nothing repeats, or where several values tie. The message names modes, median and average mode([1,2,3])
Unsupported: A variance squares its observations, so it takes plain numbers; … A variance of amounts with a unit, whose answer would be in squared units. Use stddev instead variance([1 kg, 2 kg])
Unsupported: A percentile is between 0 and 100 A percentile rank outside its range percentile([1,2,3,4],101)
Unsupported: A quartile is 0, 1, 2, 3 or 4 A quartile outside its range quartile([1,2,3,4],5)
Unsupported: unrecognized calculation … Varlig can’t read part of the line: a number whose commas don’t group thousands in threes (a comma is never a decimal point), or a word standing where a value should be, named in the message with the closest name you’ve defined. A name with digits or underscores counts as a word, and so does one in brackets, in a function call or before a conversion 12,50, rnt + £200, rent2 * 12
Unsupported: money times money … Multiplying two amounts of money, which has no everyday meaning. Multiply by a count or a percentage instead $4 * $4
Unsupported: a percentage and an amount do not add up … A percentage with nothing to take it from. Say what it applies to, as in 1.4% + 20p on £2,255 or £31.50 * 4% + 20p 4% + 20p
Unsupported: at needs a price, a rate or a percentage after an amount at between two amounts of the same money, which says nothing on its own £500 at £20
Unsupported: no amounts above to add up A total, sum, average, max or min line with nothing above it in its section, usually because of a heading or a --- divider total under a # Groceries heading with no amounts
Unsupported: conversion to … A conversion target that starts with one of your names, so it could be a scale or a unit 15.2 m in scale miles with scale = 76.2
Unsupported: an amount and an amount per … do not add up … A bare amount added to an amount per period. Give the bare amount the same period £100 + £50/month
Unsupported: weeks or days of an amount need its period … Weeks or days of a named amount that has no period of its own 5 weeks rent with rent = £1,850
Unsupported: a distance or weight times … has no everyday meaning A measurement multiplied by a length of time. Write the amount per period, as in 2,500 miles a year * 3 years 2,500 miles * 3 years
Unsupported: ambiguous commas in … Commas inside brackets that could either group thousands or separate values. The message shows both ways to write it max(1,000,2,000), sum(10,100)
Unsupported: unknown time zone: … A place or zone in a time-zone conversion that Varlig doesn’t recognise 3:00 pm London in Narnia
Error: undefined variable: … A name used before it holds an amount, for example because its own line failed 2 * cost with cost = hello
Error: line2 refers to a deleted line A line reference whose row was deleted. Undo brings it back line2 * 2 after deleting line 2
Unsupported: line1 has no answer A reference to a line that shows nothing, such as a heading line1 + line2 under a heading
Unsupported: no lines tagged #food above A tag total with no tagged line above it in its section total of #food with nothing tagged
Unsupported: #4A is no tag: a tag name starts with a letter A tag total whose name starts with a digit total of #4A
Unsupported: no amounts on the checklist above A checklist total whose items hold no prices planned over items with no amounts
Error: No note named “…” A use line naming a note that doesn’t exist. Protected, trashed and circular sources have their own messages use [[Assumptions]] with no such note
Unsupported: an inflation projection needs this year or a later one An inflation projection aimed at a past year value of $500 in 2020 at 3% inflation
Unsupported: unknown unit: … A word after a number that isn’t a unit, when you convert it or add it to a date; check the spelling in the unit catalogue 3 bananas in kg, today + 2 sprints
Unsupported: unknown ingredient: … An ingredient without a known density in a cup-to-gram conversion; pick a close match from the ingredient list 1 cup rice in g
Unsupported: … needs a rate A tax named without a percentage. Add the rate, as in with 20% VAT, or set your sales tax in Settings £10.50 plus VAT
Unsupported: dates can't be added Two dates joined with +. Subtract them for the time between, or add a duration today + 25 December 2026
Unsupported: Function names can't contain spaces A function named with several words. The message suggests the same name with underscores area of circle(r) = pi * r^2
Unsupported: … has no … A weekday or day that the month doesn’t have, so no date is guessed fifth monday of February 2025, February 30 2025
Unsupported: recurring dates: … A repeating schedule rather than one date. Ask for the date you need, such as next monday every monday, every 2 weeks from 1 October 2026, one a week from 5 October 2026
Unsupported: … Something Varlig recognised but can’t do, such as extra words after a phrase; the message says what went wrong split £90 among 2.5

Unsupported notation

Some notation looks like maths but isn’t supported. Rather than work out part of the line and give a misleading answer, Varlig shows a specific message that quotes the symbol where the problem starts, such as at "±".

Notation Message Instead
10 ± 0.5, 10 +/- 0.5 Unsupported: Uncertainty notation is not supported at "±" Work out each end separately: 10 - 0.5, 10 + 0.5
2d6 Unsupported: Dice notation is not supported at "d" random(1, 6) + random(1, 6)
5 < 4 < 10 Unsupported: Comparison chains are not supported at "<"; combine separate comparisons with && 4 < 5 && 5 < 10

Limits

What Limit
Line and note size 64 KiB per line; 1 MiB and 10,000 lines per note
Exact fractions Numerator and denominator up to 4,096 bits each
Decimal numbers Coefficient up to 2^128−1, with an exponent from −128 to 127
Lists, including range 1,024 items
Matrices 1 to 32 rows and columns
Nested list or matrix brackets 16 levels
Summation or product over a counter 10,000 terms
Advanced operations (matrices, solving, calculus) A shared budget of 100,000 steps
Parameters of your own function 32
Nested function calls 16, with at most 16,384 calls for each top-level call
Functions defined in a note 1,024
Derivative as a formula 8,192 characters
Equation solver 128 iterations
Integration 2,048 refinements, to a depth of 20

Reaching a limit shows Error: calculation limit on that line. No partial answer is shown, and the rest of the note keeps working. See Your own functions for the function limits in context.