Vincent Ollivier
0724b5a07b
Move /ini/lisp to /lib/lisp ( #398 )
2022-08-27 13:07:32 +02:00
Vincent Ollivier
b11f0aeb96
Add new forms to lisp ( #385 )
...
* Add decode-float and encode-float forms
* Add uptime form
* Add write-bytes form
* Add list form
* Add new forms to move print to core lib
* Rename file io forms
* Update doc
* Merge cat into string
* Rename *code-float to *code-number
* Add write-file and append-file forms
* Add doc about the core library
* Add regex-find
* Add not
* Add regex-match
* Update doc
* Bump lisp version
* Add realtime
* Update doc
2022-08-25 08:48:19 +02:00
Vincent Ollivier
3789a10df6
Improve lisp ( #362 )
...
* Parse empty strings
* Add append to core
* Add reverse to core
* Add read-line to core
* Remove prompt from read-line
* Change print return value
* Fix read-line
* Add trigonometric functions
* Update documentation
* Setup autocompletion semi-automatically
2022-07-02 15:24:30 +02:00
Vincent Ollivier
82882ec355
Add shell aliases ( #357 )
...
* Add shell aliases
* Fix env output error
* Fix sort
* Read aliases from config file
* Simplify arguments parsing
* Fix test
* Clone params to spawn syscall
* Run clippy
* Revert "Clone params to spawn syscall"
This reverts commit 4c91bea196
.
* Disable binary stripping
* Remove exit alias
* Update doc
2022-06-26 10:00:54 +02:00
Vincent Ollivier
b2da75189f
Improve Lisp ( #344 )
...
* Add println
* Rewrite fib
* Refactor parse
* Update lisp completer
* Store args in env
* Add 'or' and 'and' builtins
* Add factorial.lsp
* Update docs
* Add cat operation
* Add join operation
* Add system command
* Add time command (#346 )
* Add time command
* Fix merge artefact
* Fix call to realtime
* Replace clock syscalls with device files (#345 )
* Replace clock syscalls with device files
* Add missing newline to read
* Update time command
* Use Rc<RefCell<Env>>
* Add first TCO
* Remove Box
* Change result of env_for_lambda
* Run clippy
* Remove env clone
* Remove TCO
* Change return type of env_for_lambda
2022-06-06 16:02:34 +02:00
Vincent Ollivier
313f90ee73
Extend lisp language ( #278 )
...
* Add map builtin
* Rename ensure_length macro
* Update documentation
* Update map function
* Rename map to mapcar
* Add modulo to calculator
* Add division, modulo, and exponential to lisp
* Add type to built in functions
* Add string comparisons
* Update atom function
* Add basic load function
* Update load to parse multiple expressions
* Escape quote in string display
* Move print definition
* Rename read-file to read
* Simplify mapcar implementation
* Update tests
* Add comment and test
* Add standard library
* Add lib to install
* Refactor eval
* Refactor eq
* Refactor eval with ensure macros
* Add more tests
* Redefine primitives
* Move primitives to /ini/lisp/core.lsp
* Update install file
* Refactor eval
* Create /ini/lisp
2021-12-12 11:43:57 +01:00
Vincent Ollivier
e5a7b63bc2
Add chess game ( #230 )
...
* Add chess game
* Add missing file
* Add moves parsing
* Add autocompletion
* Add perft command to chess
* Update Cargo.lock
* Add undo and time commands
* Improve output of commands
* Add endgame support
* Split main into multiple methods of a Chess struct
* Update littlewing
* Use chess prelude
* Add show board command
* Add help
* Update docs
* Fix url syntax in doc
* Add commands to doc index
* Update doc/index.md
* Fix typos
2021-08-12 23:15:28 +02:00
Vincent Ollivier
8af428beab
Add Lisp interpreter ( #207 )
...
* Add lisp interpreter
* Refactor lisp code
* Add copyright notice
* Add multiplication
* Shorten type names
* Remove print import
* Add tests
* Add tests for def and fn
* Add print builtin
* Add file eval
* Add fib.ls
* Use define and lambda instead of def and fn
* Rewrite the primitive operators
* Update fibonacci example
* Add syntactic sugar for quote
* Rename console::abort to console::end_of_text
* Add console::end_of_transmission
* Remove auto parenthesis
* Fix parsing quotes
* Refactor quote primitive
* Add empty list comparison to eq primitive
* Add defun primitive
* Rename example
* Fix install path
* Add doc
* Add eq? and atom? aliases
2021-07-21 09:40:40 +02:00