/*
Goals : The most minimal set of primitives, clearly defined, easily understandable, easily learnable, provably correct, written in c/c++/d/java/c#,etc. , and producing highly optimized native code upon which all else can be built - a minimal vm.	An optimal Turing machine for today, designed to be extended, with a small internal ide, readily portable to any platform, especially cell phones. Simple powerful syntax - concatenation (LA grammar), completely understandable -> (easily verified), easily
learnable. Fast, small,	simple syntx -> simple interpreter, compiler -> easy to understand and verify (-> correct, error free), and a maximally minimal set of primitives, or operators which interact with the cpu, memory and computer operating system. Based on categorical combinator theory but don't let that name scare you.
  2. With this minimal vm, set of primitives, reimplement the system. 3. With this new vm implement cooperative backends and vms for eg. java, joy, gcc, smalltalk, lisp, factor, .net, haskell, prolog, etc. More cooperatively, smaller and/or faster, if possible, than existing implementations. Implement a compiler compiler for (all) other languages. 4. Bridge between and extend these environments, through a low level, reasonable, cooperative integration. A low level Integral OS. 4. Natural Language Processing (NLP), Automated Reasoning, Expert Systems, Cyc, AI, Virtual Reality, Science, Computer Art, ..., a platform for a tolerant, reasonable, co-operating, communicating, global, sustainable, enlightened society, planet, universe, ..., ie. solving our problems as the Art of Living. 5. Education, Science, Art, etc, eg. sustainable green energy and nano-technology applications, ..., ... 6. Cooperate and colaborate with others who share these goals. 7. Live peacefully, abundantly and happily in a global, multicultural society. 8. Extend awareness, appreciation, communcation, art, science, philosophy, cultural and religious studies, anthropology, philology, sociology, philanthropy, ... essentially deLight - Sharing and service as the basis for love. 9. Programming as a sacred Art. 10. evolve better goals as learning by doing takes place 11. ... 12 . not necessarily in this order

  A project with a goal to evolve existing language/vm design and implementation and its relation with a (minimal or RISC like) threaded interpretive language (TIL). The idea is that vm technology as exhibited in the clr or jvm is interesting for several reasons in language design and needs to be evolved. openvmtil is an attempt to implement this technology in the simplest, most understandable, logical, mathematical, extensible way with machine code - a forth like, turing machine TIL - as an exercise that, as i currently see it, may have significant applications in the vm of other languages such as lisp, smalltalk, javaScript, mono, java, ruby, python, perl, secondLife, etc - a kind of "trickle up" effect. A good vm is extensible and an optimizable backend to any compiler using optimization techniques such as exhibited in gcc's rtl; and even at the cpu micro-instruction level, etc. This technique could bring the compiled speed of all other languages upto the level of compiled C/C++ for starters. So openvmtil is meant to be a vm upon which can be built an object layer, a lisp layer, garbage collection, combinators, etc. It is a bridge between, machine code, C/C++ and a forth-like til and from there to anything else, eg. Natuaral Language Processing, AI. (Some of my more general interests are cosmology, depth psychology, sacred geometry, ancient languages (Sanskrit, Hebrew, ...), civilizations (Egypt, India, Sumeria, ...)) ... smalltalk, c/c++/c#, factor, joy, reva, retro, flk, lisp, haskell, ocaml, ...  (amongst many others) have been especially useful for ideas.

  Current status : very experimental, often somewhat broken - (no QA dept.), old stuff not always removed, ... a sort of virtual research and exercise space. Recent work has mainly been on the compiler - vm. The primitives are largely tested. The above statements are goals and ideals NOT to be taken as the current state of the project. Hoping to be useful and achieve these goals at some point. But currently, evaluate it for yourself.

Developed with Eclipse C/C++ and Kdevelop on Kubuntu 9.04 using make, gcc, cproto, (ctags). CfrTil is a name chosen for a C based first implementation.
--------------------------------------------------------------------------------------
Goals : The most minimal set of primitives, clearly defined, easily understandable, 
easily learnable, provably correct, written in c/c++/d/java/c#,etc. , and producing 
highly optimized native code upon which all else can be built - a minimal vm.	An 
optimal Turing machine for today, designed to be extended, with a small internal ide, 
readily portable to any platform, especially cell phones. Simple powerful syntax - 
concatenation (LA grammar), completely understandable -> (easily verified), easily
learnable. Fast, small,	simple syntx -> simple interpreter, compiler -> easy to 
understand and verify (-> correct, error free), and a maximally minimal set of 
primitives, or operators which interact with the cpu, memory and computer operating 
system. 
  2. With this minimal vm, set of primitives, reimplement the system. 3. With this new vm 
  implement cooperative backends and vms for eg. java, joy, gcc, smalltalk, lisp, factor, 
  .net, haskell, prolog, etc. More cooperatively, smaller and/or faster, if possible, than 
  existing implementations. Implement a compiler compiler for (all) other languages. 4. 
  Bridge between and extend these environments, through a low level, reasonable, cooperative 
  integration. A low level Integral OS. 4. Natural Language Processing (NLP), Automated 
  Reasoning, Expert Systems, Cyc, AI, Virtual Reality, Science, Computer Art, ..., a platform 
  for a tolerant, reasonable, co-operating, communicating, global, sustainable, enlightened 
  society, planet, universe, ..., ie. solving our problems as the Art of Living. 5. Education, 
  Science, Art, etc, eg. sustainable green energy and nano-technology applications, ..., ... 
  6. Cooperate and colaborate with others who share these goals. 7. Live peacefully, abundantly 
  and happily in a global, multicultural society. 8. Extend awareness, appreciation, communcation, 
  art, science, philosophy, cultural and religious studies, anthropology, philology, sociology, 
  philanthropy, ... essentially Love and Light, divine Will, however that maybe defined (or not). 
  9. Programming as a sacred art. 10. evolve better goals as learning by doing takes place 11. ... 
  12 . not necessarily in this order

  A project with a goal to evolve existing language/vm design and implementation and its relation 
  with a (minimal or RISC like) threaded interpretive language (TIL). The idea is that vm technology 
  as exhibited in the CLR or JVM is interesting for several reasons in language design and needs to 
  be evolved. openvmtil is an attempt to implement this technology in the simplest, most understandable, 
  logical, mathematical, extensible way with machine code - a forth like, turing machine TIL - as 
  an exercise that, as i currently see it, may have significant applications in the vm of other 
  languages such as lisp, smalltalk, javaScript, mono, java, ruby, python, perl, secondLife, etc - 
  a kind of "trickle up" effect. A good vm is extensible and an optimizable backend to any compiler 
  using optimization techniques such as exhibited in gcc's rtl; and even at the cpu micro-instruction 
  level, etc. This technique could bring the compiled speed of all other languages upto the level of 
  compiled C/C++ for starters. So openvmtil is meant to be a vm upon which can be built an object layer, 
  a lisp layer, garbage collection, combinators, etc. It is a bridge between, machine code, C/C++ and 
  a forth-like til and from there to anything else, eg. Natuaral Language Processing, AI. (Some of my 
  more general interests are cosmology, depth psychology, sacred geometry, ancient languages (Sanskrit, 
  Hebrew, Persian...), civilizations (Egypt, India, Sumeria, ...)) ... smalltalk, c/c++/c#, factor, joy, 
  reva, retro, flk, lisp, haskell, ocaml, ...  (amongst many others) have been especially useful for 
  ideas. 

  Current status : very experimental, often somewhat broken - (no QA dept.), old stuff not always 
  removed, ... a sort of virtual research and exercise space. Recent work has mainly been on the 
  internal vm. The primitives are largely tested. The above statements are goals and ideals NOT to be 
  taken as the current state of the project. Hoping to be useful and achieve these goals at some point. 
  But currently evaluate it for yourself and USE AT YOUR OWN RISK!

Developed with Eclipse C/C++ and Kdevelop on Kubuntu 9.04 using make, gcc, cproto, (ctags). CfrTil is 
a name chosen for a C based first implementation.Developed with Eclipse C/C++ and Kdevelop on Kubuntu 
9.04 using make, gcc, cproto, (ctags). 
 
	1. The most minimal set of primitives, clearly defined, easily understandable, easily learnable, provably correct, written in c/c++/d/java/c#,etc. , 
			and producing highly optimized native code upon which all else can be built - a minimal vm.	An optimal Turing machine for today, designed to be 
			extended, with a small internal ide, and readily portable to any platform, especially cell phones.
	2. With this minimal vm, set of primitives, reimplement the system. 
	3. With this new vm implement cooperative backends and vms for eg. java, joy, gcc, smalltalk, lisp, factor, .net, etc. 
			Smaller and/or faster, if possible, than existing implementations. Implement a compiler compiler for all other languages.
	4. Bridge between and extend these environments, through a low level, cooperative integration.
	4. Natural Language Processing (NLP), Expert Systems, Cyc, AI, Virtual Reality, Science, Computer Art, ..., ...
			a platform for a Tolerant, Reasonable, Co-operating, Communicating, Global, Sustainable, Enlightened Society, Planet, Universe, ...
	5. Education, Science, Art, etc, eg. green energy and nano-technology applications, ..., ...
	6. Cooperate and colaborate with others who share these goals.
	7. Live peacefully, simply, yet abundantly, and happily in a global, multicultural society.
	8. Extend Awareness, Appreciation, Communcation, Art, Science, Philosophy, Cultural and Religious Studies, Philanthropy, ... 
	9. evolve better goals as learning by doing takes place
 10. not necessarily in this order

Internal Conventions :
--	':' (colon) is the traditional forth word for defining a word. 
			All words that define a word begin with ':', ie. :namespace.
--	Words that require a ';' (semicolon) at the end either begin with a ':' or have a ':' at the end, ie. in:

// Design goal : Clear free reason threaded interpretive language - a hybrid language
// cfr - c(5)f(2)r(2) til - Clear Creative Contatenative Combinator Categorical Free (forth)
// 		Reasonable (as in mathematical logic) (Risc) Threaded Interpretive Language
// CfrTil : Creative Combinator Contatenative Categorical Threaded Interpretive Language
// Design goals : the simplest language and the most powerful language
// a minimal number of built in primitives in C such that all others and the system itself can be built optimally out of these in forth
// lowest level virtual machine for software including compilers
// Primitive Compiler and Interpreter, forth like, primitives are loaded
// Clear (Primitive) Forth - cpf : a small highly optimized clearly understandable set of programming tools - concise
// Flammingoo : Forth LAnguage Minimal Meta Next Generation, Object-orientd, (Oh!)
// Design Goal - universal next generation metaforth ngmf
// cfrtil- a minimal or meta next generation forth - ngmf
// ngfsil : next generation boot forth - the core language (vm) basis of next generation forth - ngf
// sil : system integration language - merging what is between hardware and software

// oocel : object oriented combinator extensible language
// sfecl : SiMPLe - Simplest Possible Most Powerful Language - at least that's the design goal
// sfcecfl : simplest, fastest, completely extensible, context free language

// tfecl - transparent (easy to understand), fast, semantically complete univeral virtual primitives (as close to assembly language as is useful without being
// assembler - like an ideal cpu) with extensible syntax such that it can interpret and compile any other language such as
// factor, reva, smalltalk, c/c++/c#, java, etc. -
// the perfect language, simple and easy to learn - as a research design goal

// feel - fast extensible, easy language - a neo-forth system written in C, (C++,Java, C#), with combinatory rpn logic, and an inner, lowest level vm,
// including assembly, a high level macro assembler (for an ideal CPU).

// primitives : Turing Machine - move, conditional branch ; PDA push pop
// write in a macro assembly like style in C, get assembly from gcc, use fasm to optimize

// Not intended to be a standard (ans) forth but to be able to be a language glue, bridge, utilize, etc. any and all other languages, software and hardware.
// A Low level to High Level language.
// to be as efficient as (or approaching the efficiency of) hand optimized assembly language but fully supporting high level constructs
// to be easily learnable by having as few basic constructs as possible
// forth joy smalltalk lisp prolog


A vm is category of objects that translates all languages into one language, machine code. A language is a machine.
*/
