Skip to content

Commit

Permalink
restructure extending LIPS docs
Browse files Browse the repository at this point in the history
  • Loading branch information
jcubic committed Mar 23, 2024
1 parent d4918a8 commit 7d2faee
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions docs/docs/lips/extension.md
Original file line number Diff line number Diff line change
Expand Up @@ -217,10 +217,9 @@ This will define constant `#nil`. It's different from `nil` variable:
;; ==> #t
```

### Limitations
### Autogensyms

The limitation of syntax extensions is that you can't define variable that starts with the
same characters as syntax extension. This may be a benefit and not a limitation:
With syntax extensions you can define autogensyms expressions:

```scheme
(set-special! "#:" 'keyword lips.specials.LITERAL)
Expand Down Expand Up @@ -275,6 +274,11 @@ The limitation of this solution is that you can't use strings inside `${ ... }`.
Lexer. In the future there may be a way to define such syntax extensions (See [Add full string
interpolation as syntax extension](https://github.com/jcubic/lips/issues/321)).

### Limitations

The limitation of syntax extensions is that you can't define variable that starts with the
same characters as syntax extension. This may be a benefit and not a limitation:

## New Homoiconic data types

With LIPS, you can define representation of custom data types that are the same when printed and read.
Expand Down

0 comments on commit 7d2faee

Please sign in to comment.