Skip to content

nskeip/sche

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

__   __   _        _                _   _               
\ \ / /__| |_     / \   _ __   ___ | |_| |__   ___ _ __ 
 \ V / _ \ __|   / _ \ | '_ \ / _ \| __| '_ \ / _ \ '__|
  | |  __/ |_   / ___ \| | | | (_) | |_| | | |  __/ |   
  |_|\___|\__| /_/   \_\_| |_|\___/ \__|_| |_|\___|_|   
                                                        
          _           __            __  
 ___  ___| |__   ___ / / __ ___   __\ \ 
/ __|/ __| '_ \ / _ \ | '_ ` _ \ / _ \ |
\__ \ (__| | | |  __/ | | | | | |  __/ |
|___/\___|_| |_|\___| |_| |_| |_|\___| |
                     \_\            /_/ 
 ___       _                           _            
|_ _|_ __ | |_ ___ _ __ _ __  _ __ ___| |_ ___ _ __ 
 | || '_ \| __/ _ \ '__| '_ \| '__/ _ \ __/ _ \ '__|
 | || | | | ||  __/ |  | |_) | | |  __/ ||  __/ |   
|___|_| |_|\__\___|_|  | .__/|_|  \___|\__\___|_|   
                       |_|                          


Roadmap:

[x] All functions are of n variables.
[ ] if
[ ] or, and
[ ] lists
[ ] Running code from a file.
[ ] Pretty-printing for debug.
[ ] User defined functions.
[ ] Useful data types:
  [ ] Strings support.
  [ ] Real numbers support.
  [ ] Big numbers support.


Releases history:

v0.2
[x] ReWrite parser.
  [x] Make it more permissive to variable names - closer to racket.
  [x] Remove 0xdeadbeef and 0777.
  [x] Remove memory_tracker.


v0.1
[x] Write a simple parser (without nesting).
[x] Fix the bug that invalidates pointers in Arena. Introduce ChainedArena.
  [x] Switch from Arena to simple memory tracker (as GNU C Library already has Arenas under the hood).
[x] Make a usable calculator.
[x] Add 0xdeadbeef and 0777 :)
[x] Add nesting to the parser.
[x] Add n-variable functions.

About

Yet another Scheme interpreter in C

Topics

Resources

License

Stars

Watchers

Forks