-
Notifications
You must be signed in to change notification settings - Fork 1
/
development_stages
37 lines (33 loc) · 998 Bytes
/
development_stages
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Stages of Growth
================
There are requirements to calling a language 'usable' or 'practical', or whatever. Here's a quick breakdown of the major points for Octopus specifically. This is open to change, but the spirit should remain pretty constant.
Any feature may be worked on before "its stage" comes. Simply that I won't call Octopus featureful if it doesn't have letrec, even if it has floating point and literate files and a REPL and...
Turing-complete
vau, eval, match, extends
parser
Usable
I/O, exceptions
import files
Tasty
letrec
small standard libraries
distfixes, anonymous points
all data primitives
Stable
first-class control
remove leaks that Haskell is the host
export statement, import pattern
decide on indentation (implement if needed)
Practical
reference guide
floating point
custom builtins
REPL
Growth
literate files, docstrings
package management
locations for community (IRC, mailinglist, package repo)
tooling
Mature
lots of libraries
ffi