You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+18-16Lines changed: 18 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -32,21 +32,21 @@
32
32
33
33
**<ahref="#toc3-414">The Shell</a>**
34
34
35
-
**<ahref="#toc3-419">Arguments</a>**
35
+
**<ahref="#toc3-421">Arguments</a>**
36
36
37
-
**<ahref="#toc3-428">Other Goals</a>**
37
+
**<ahref="#toc3-430">Other Goals</a>**
38
38
39
-
**<ahref="#toc2-447">Design Notes</a>**
39
+
**<ahref="#toc2-449">Design Notes</a>**
40
40
41
-
**<ahref="#toc2-455">Bibliography</a>**
41
+
**<ahref="#toc2-457">Bibliography</a>**
42
42
43
-
**<ahref="#toc2-464">Technicalities</a>**
43
+
**<ahref="#toc2-466">Technicalities</a>**
44
44
45
-
**<ahref="#toc3-467">Ownership and License</a>**
45
+
**<ahref="#toc3-469">Ownership and License</a>**
46
46
47
-
**<ahref="#toc3-478">Building and Installing</a>**
47
+
**<ahref="#toc3-480">Building and Installing</a>**
48
48
49
-
**<ahref="#toc3-511">This Document</a>**
49
+
**<ahref="#toc3-513">This Document</a>**
50
50
51
51
Seriously, this is renewing my hope in technology. Thanks @hintjens -- Jason J. Gullickson @jasonbot2000
52
52
@@ -455,7 +455,9 @@ We use GSL code generation to build the core language pieces. There are two case
455
455
456
456
The zs shell provides command history, editing, and tab completion using the Tab key or '?' (as I'm trying to not use special characters in the language, the question mark should remain free for the CLI) (We'll see). We use the editline library for this; it is a clone of the FSF readline function, though much smaller and without extra dependencies. One neat feature is that as you define commands, these become available in the shell.
457
457
458
-
<Aname="toc3-419"title="Arguments" />
458
+
To animate the state machines for the lexer and parser, run "zs -v".
459
+
460
+
<Aname="toc3-421"title="Arguments" />
459
461
### Arguments
460
462
461
463
The nice thing about languages is the Internet Comments per Kiloline of Code (IC/KLOC) factor, easily 10-1,000 times higher than for things like protocols, security mechanisms, or library functions. Make a messy API and no-one gives a damn. Ah, but a language! Everyone has an opinion. I kind of like this, the long troll.
@@ -464,7 +466,7 @@ If you want to talk about minor details like my use of < and > for strings, be m
464
466
465
467
When doing an experiment, "everyone else does it this way, so you should too" is not valid science. Unless, the alternatives are known to be painful, toxic, or deadly. In fact doing stuff no-one expects is kind of exactly the point.
466
468
467
-
<Aname="toc3-428"title="Other Goals" />
469
+
<Aname="toc3-430"title="Other Goals" />
468
470
### Other Goals
469
471
470
472
Disclaimer: the "vision" thing is way overrated. I only add this section because it's fun.
@@ -483,15 +485,15 @@ Since each box will have an arbitrary set of atomics, bytecode is not portable.
483
485
484
486
Perhaps the most compelling reason for a new language project is to give the ZeroMQ community an opportunity to work together. We are often fragmented across platforms and operating systems, yet we are solving the same kinds of problems over and over. A shared language would bring together valuable experience. This is the thing which excites me the most, which we managed to almost do using C (as it can be wrapped in anything, so ties together many cultural threads).
485
487
486
-
<Aname="toc2-447"title="Design Notes" />
488
+
<Aname="toc2-449"title="Design Notes" />
487
489
## Design Notes
488
490
489
491
* Any language aspect that takes more than 10 minutes to understand is too complex.
490
492
* Function names are case-sensitive because the real world is case sensitive (1 M vs. 1 m).
491
493
* Special characters are annoying and I want to reduce or eliminate the need on them. Some punctuation is OK.
492
494
* Real numbers and whole numbers are not the same set in reality. How much is 2 + 2? Anything from 3 to 5, if you are counting real things.
Copy file name to clipboardExpand all lines: README.txt
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -403,6 +403,8 @@ We use GSL code generation to build the core language pieces. There are two case
403
403
404
404
The zs shell provides command history, editing, and tab completion using the Tab key or '?' (as I'm trying to not use special characters in the language, the question mark should remain free for the CLI) (We'll see). We use the editline library for this; it is a clone of the FSF readline function, though much smaller and without extra dependencies. One neat feature is that as you define commands, these become available in the shell.
405
405
406
+
To animate the state machines for the lexer and parser, run "zs -v".
407
+
406
408
### Arguments
407
409
408
410
The nice thing about languages is the Internet Comments per Kiloline of Code (IC/KLOC) factor, easily 10-1,000 times higher than for things like protocols, security mechanisms, or library functions. Make a messy API and no-one gives a damn. Ah, but a language! Everyone has an opinion. I kind of like this, the long troll.
0 commit comments