Skip to content

Commit d4d3085

Browse files
committed
Adds include to spec, removes xor from list of required ops
1 parent 0fb3ac9 commit d4d3085

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

ports/spec.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Lang
44

5-
PorTS is a Scheme implementation that is compatible with R7RS-small, but does not implement all of R7RS-small by design.
5+
PorTS is a Scheme implementation that is compatible with R7RS-small, but does not, by design, implement all of R7RS-small.
66

77
### (TODO) Syntax
88

@@ -18,6 +18,7 @@ A PorTS language implementation should implement the following special forms:
1818
- lambda
1919
- begin
2020
- define-macro
21+
- include (loads file relative to CWD)
2122

2223
### Macro Features
2324
PorTS does not support hygenic macros, as we expect macros to be almost exclusively used in standard library definitions.
@@ -46,6 +47,7 @@ PorTS does not support hygenic macros, as we expect macros to be almost exclusiv
4647
- >, <, >=, <=, =
4748
- abs
4849
- length
50+
<!-- - apply? -->
4951

5052
<!--
5153
Should be ported to PorTS
@@ -56,7 +58,6 @@ Should be ported to PorTS
5658
- string-downcase
5759
- string-index, string-replace, string-trim
5860
- char-whitespace?
59-
- xor
6061
-->
6162

6263
### Core Procedures
@@ -67,5 +68,12 @@ A PorTS interpreter implementation should load the core procedures in the follow
6768
2. PorTS versions of core procedures
6869
3. primitive versions of core procedures
6970

71+
### Data Types
72+
- Numeric: Integer, Fraction
73+
- String (Chars are single item Strings) (full Unicode)
74+
- Symbol
75+
- List
76+
- Pair
77+
- Boolean
7078

7179
## Library Backend

0 commit comments

Comments
 (0)