Pyli/Design Reasons

From Jonathan Gardner's Tech Wiki
Jump to: navigation, search

Introduction

I'll try to explain what in the world I was thinking here.

Lisp-like Syntax

Lisp's syntax is the absolute minimum you can get away with. I believe, after using Lisp a bit, that it is more clear to write stuff out in that syntax.

Having special syntax for almost everything you do is confusing, even if it is consistent.

Avoiding Lisp-isms

Lisp has a lot of historical baggage. I am going to leave that all behind, and do something new.

' vs. `: This is terrible. It's hard to read. We need more visible symbols.

names: I never really understood how Lisp does the binding in the lexical phase. I don't think anyone else really does either. I am going to leave names as strings, and maybe, maybe allow you to create references to things that aren't strings.

car, cdr: the word cons, car, and cdr are banned.

cons cells: I see how you can turn cons cells into Vectors. I don't see why it is better to use cons cells over vectors. In today's computing world, I believe it is much more efficient to use vectors.

Avoiding C-isms

Strings: No, you have Text (which is a sequence of letters in unicode) and Bytes (which is a sequence of 8-bit bytes). Both of these will have a length attached so that you can embed NULL in them.