Skip to content

Commit 7031743

Browse files
committed
More docs
1 parent 12c0c50 commit 7031743

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

docs/overview/faq.md

+2
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ A variant of Lisp was chosen as the initial language for the CVM for a few reaso
9898

9999
Paul Graham's essay [Beating the Averages](http://www.paulgraham.com/avg.html) is an interesting perspective on the advantages of Lisp for building a business. Despite dating from 2001, we feel many of these points still stand today and are very relevant for people wanting to build applications using Convex.
100100

101+
For more information see the tutorial section for [Convex Lisp](/docs/tutorial/convex-lisp/convex-lisp)
102+
101103

102104
## What is Memory Accounting?
103105

docs/tutorial/convex-lisp/index.md

+6-1
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,14 @@ The CVM is designed to be able to support many different languages and paradigms
1616
- **Code is data**: representing code using its own data structures (also known as "homoiconicity") gives Lisp advanced **metaprogramming** capabilities the creation of domain-specific languages (DSLs) tailored to specific concepts, making it easier to reason about and implement complex economic mechanisms.
1717
- **Interactive coding**: Lisp pineered the use of the REPL for highly interactive programming. With Convex, we've taken this a step further with a complete on-chain compiler so that everything on the CVM can be done with simple interactive Lisp commands.
1818

19+
## Inspirations
20+
21+
Lisp was originally created in the 1950s by John McCarthy and has maintained a deep-rooted appeal among hackers for its unique characteristics.
22+
1923
Convex Lisp was heavily inspired by [Clojure](https://clojure.org/), from which it borrows most basic and many core functions, and [Racket Scheme](https://racket-lang.org/) which inspired many of the more advanced metaprograming facilities.
2024

2125
## Interesting technical notes
2226

2327
- Convex Lisp is a **Lisp-1** (i.e. keeps function and data values in the same namespace).This is simpler than a Lisp-2 and seems more appropriate for a functional programming language, where functions are regularly treated as first class values.
24-
- Convex Lisp is designed for **orthogonal persistence**. Developers don't need to care where data or code is stored: it is loaded and cached on demand. This powerful capability means that the CVM can operate code and data data structures much larger than system RAM without imposing any burden on developers.
28+
- Convex Lisp is designed for **orthogonal persistence**. Developers don't need to care where data or code is stored: it is loaded and cached on demand. This powerful capability means that the CVM can operate code and data data structures much larger than system RAM without imposing any burden on developers.
29+
- Convex Lisp data structures (and therefore code) are all represented as **Merkle trees** using strong cryptographic hashes. This has the ineteresting property of making all code and data **content-addressable** and cryptographically **verifiable**. As well as making Convex Lisp ideally suited for running on the lattice technology used by Convex, this opens interesting possibility for new kinds of systems based on immutable and verifiable distributed code bases.

0 commit comments

Comments
 (0)