Commit e0dd2856b11ed12b5a98bc51fbfbfc070a1eee57

Thomas de Grivel 2023-04-11T16:42:05

readme

diff --git a/README.md b/README.md
index 8fecc38..23becde 100644
--- a/README.md
+++ b/README.md
@@ -1,40 +1,11 @@
 # C3 v0.1
 
 C3 is a programming language project, inspired by C, Elixir and
-Common Lisp. It could be described as C with Elixir macros, pattern
-matching, and a semantic object system. The idea is to plug macros and
-pattern matching into C99 and use them to implement the graph database.
-
-```
-defmodule C3 do
-  
-  def compile (c3, opts) when is_string(c3) do
-    c3
-    |> C3.parse(opts)
-    |> C3.compile()
-  end
-
-  def eval (c3, env, opts) when is_string(c3) do
-    c3
-    |> C3.parse(opts)
-    |> C3.eval(env)
-  end
-
-  defguard is_c3 (x) do
-    is_tuple(x)
-  end
-
-  def compile (c3, opts) when is_c3(c3) do
-    c3
-    |> C3.to_assembly(opts)
-    |> Assembly.to_elf(opts)
-  end
-
-  def eval (c3, env) when is_c3(c3) do
-    [...]
-  end
-end
-```
+Common Lisp. It could be described as C with Elixir modules,
+pattern matching, and a semantic object system. The idea is to plug
+modules, closures, pattern matching, cl-facts and metaprogramming
+into C99 with a very small set of dependencies.
+
 
 ## Structure
 
@@ -43,7 +14,8 @@ end
 C3 is implemented using libc3 a small C99 library implementing the core
 of the language.
 
-The library includes a parser and an interpreter for C3 code in C structures.
+The library includes a parser and an interpreter for C3 code in C
+structures.
 
 #### Parser
 
@@ -51,7 +23,8 @@ The parser is recursive descent for now.
 
 #### AST
 
-The AST is represented as C3 data structures and can be meta-programmed in C.
+The AST is represented as C3 data structures and can be meta-programmed
+in C.
 
 #### Interpreter