You are in charge of developing a new programming language. You are not the one who has to implement it, you just have to tell the codemonkies what you want.
Some things to think about:
- syntax style
- paradigm
- garbage collection or not
- vm or compiled
- type system
- special features of the compiler or language
Name:
Anonymous2008-11-05 14:50
- syntax style
Haskell. Two-dimensional layout is the logical progression of the off-side rule.
- paradigm
Emphasize functional and pure, but allow imperative and impure to help get shit done.
- garbage collection or not
Yes, but allow the programmer to give hints on when a variable should leave memory.
- vm or compiled
Compiled.
- type system
Strong static with type inference.
- special features of the compiler or language
Optimize recursion. Type classes for pure data structures, regular OO classes for impure.
* It combines from all programming language, including C, Basic, InterCal, Brainfuck, JavaScript, Lisp, PHP, Perl, SQL,etc. (including ABSTAIN,REINSTATE,FORGET in InterCal)
* It has force variable data types, but you don't have to use those; it also works without them.
* Both structure and un-structure commands
* Macros that you can do replacement with, for example: Macro(nlist a_ b_ = List.Ad1,a_,b_ qlist replace List in nlist)
* Values also have properties that don't do anything, but strings will be arrays of characters, so a property(type=string) will be one of them
* New types of numbers and everything can be made up using combinators and lambdas
* All kind of data types, arrays, strings(arrays), lists(arrays), numbers, bit, bitseq(arrays), functions, objects, functions-of-objects, sets, structured types, puding, references, pointers, etc.
* Short syntax for everything, like @(counts>256?{#pr.3(counts);call}) for a if command
* Communicate outside the program will be a separate object that will be call from outside to inside the program
>>66,67
Wow, and yet I very strongly prefer Intel syntax to AT&T. Well, I guess I should quit bitching about FIOC now, because it doesn't have syntax either.
How about just reimplementing Haskell Prelude from scratch this time according to the Category Theory? As a language Haskell is nearly perfect, we just need better libraries.
How about just reimplementing Common LISP standard libraries from scratch this time using Scheme's naming convention? As a language Common LISP is nearly perfect, we just need consistency.
Name:
Anonymous2010-12-07 11:15
>>71
We don't need names that aren't even pronounceable in theory without turning spoken Lisp into a tonal language. Not to mention the semantic issues with using “?” to mark predicates. A predicate is an assertion, not a question. “?” functions had better be returning #y or #n, not #t or #f, or you've just compounded your Lisp fail with a natlang fail. Common Lisp could use some regularization, but there's no need to import Schemeish brain damage.
How about just reimplementing C++ standard libraries from scratch this time using Java's API? As a language C++ is nearly perfect, we just need ENTERPRISE.