diff options
author | Ori Bernstein <ori@eigenstate.org> | 2015-04-17 22:02:07 -0700 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2015-04-17 22:02:07 -0700 |
commit | 1cb2922cb4086434fa0adb6c7a697db14cbdba26 (patch) | |
tree | 6499225dba3a8818c5ab24414fc5293192f3e5fe /README.md | |
parent | 352a62d529461a0aabf4dd65686cebccc4d2b6c6 (diff) | |
download | mc-1cb2922cb4086434fa0adb6c7a697db14cbdba26.tar.gz |
Add README.md for github.
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..8ec8b27 --- /dev/null +++ b/README.md @@ -0,0 +1,67 @@ +A Toy With Delusions of Usefulness +---------------------------------- + + use std + const main = { + var i + for i = 0; i < 100; i++ + std.put("You're still reading?!?\n") + ;; + } + +Myrddin is a language that I put together for fun, but which has developed +delusions of usefulness. It's made by one coder with too little spare time on +his hands. + +It is designed to be a simple programming language that runs close to the +metal, giving the programmer predictable and transparent behavior and mental +model. It also attempts to strong type checking, generics, type inference, and +other features not present in C. + +Myrddin is not a language designed to explore the forefront of type theory or +compiler technology. It is not a language that is focused on guaranteeing +perfect safety. It is satisfied to be a practical, small, fairly well defined, +and easy to understand language for code that needs to be close to the +hardware. + +In order to run, Myrddin currently requires an x86-64 computer running either +Linux or OSX. Porting to other Posix-like OSes should be a matter of writing +syscall wrappers. + +Why Myrddin? +------------ + +Are you tired of your compiler Just Working? Are you tired of having your +standard library having the basic functionality you need? Do you long for the +days when men were men, and debuggers operated on the assembly level? If so, +Myrddin is for you. + + + +More seriously, Myrddin has the goal of replacing C in its niche of OS and +embedded development, but making it harder to shoot yourself in the foot. It's +a language that matches the author's taste in design, and if other people want +to use it, so much the better. + +Major Features +-------------- + +- Type inference. Types are inferred across the whole program. +- Algebraic data types. +- And their friend, pattern matching. +- Generics. +- A package system. +- Low level control. +- (Almost) no runtime library. +- Entirely self contained. +- Simple and easy to understand implementation. + +Try It Online +------------- + +If you want to try before you buy, there is an online playground that you can +use to experiment with code. It's fairly restrictive, and prevents you from +using the vast majority of system calls, but it's enough to get a feel for +things. + +[So, give it a shot.](http://eigenstate.org/myrddin/playground) |