Commit Graph

596 Commits

Author SHA1 Message Date
dependabot[bot] c18171ec95
Bump aml from 0.16.1 to 0.16.2 (#450) 2022-12-10 15:38:24 +00:00
Vincent Ollivier 8670bf0b6e
Improve help (#451)
* Replace goto with dir shortcut

* Update wording

* Add find to help
2022-12-10 16:37:48 +01:00
Vincent Ollivier d2722f85ee
Improve shell autocompletion (#448)
* Fix autocompletion of second arg

* Fix autocompletion after ^C

* Autocomplete dirs on first arg
2022-12-02 00:06:48 +01:00
Vincent Ollivier 3348bb7150
Remove allow other (#447) 2022-12-01 23:06:26 +01:00
Vincent Ollivier be6ca0c744
Replace some rust programs with lisp scripts (#445)
* Replace colors command with colors.lsp

* Replace geotime command with geotime.lsp

* Remove commands from shell

* Add comment
2022-11-30 23:27:15 +01:00
Vincent Ollivier 3b519377c7
Fix panic on commands containing only spaces (#442)
* Fix panic on commands containing only spaces

* Add trim
2022-11-30 23:26:55 +01:00
Vincent Ollivier 6a75ff23a1
Fix panic in chess move parser (#446) 2022-11-30 23:26:35 +01:00
Vincent Ollivier 731ac18640 Update main screenshot 2022-11-29 04:34:14 +01:00
Vincent Ollivier 3be0a0c9a5
Add path to prompt (#444)
* Add path to prompt

* Change tilde position in font

* Update moros.png
2022-11-28 23:21:05 +01:00
dependabot[bot] d156639604
Bump smoltcp from 0.8.1 to 0.8.2 (#443) 2022-11-28 18:22:45 +00:00
dependabot[bot] c5b1241812
Bump object from 0.29.0 to 0.30.0 (#441) 2022-11-28 18:21:48 +00:00
Vincent Ollivier da9fca121b Publish version 0.9.0 2022-11-11 10:49:42 +01:00
Vincent Ollivier b51b060ec1
Add size unit options to commands (#434)
* Add SizeUnit

* Add -b option to list

* Add -b option to disk usage

* Add -b option to memory usage

* Align size to the right

* Update net command

* Add decimal units
2022-11-11 10:41:29 +01:00
Vincent Ollivier d0c8e161e7 Add comment 2022-11-10 09:26:26 +01:00
dependabot[bot] 5a0bcc6481
Bump libm from 0.2.5 to 0.2.6 (#436) 2022-11-09 22:30:45 +00:00
Vincent Ollivier 39fe99216f
Run clippy (#438) 2022-11-09 23:29:56 +01:00
Vincent Ollivier 23d622176c
Use git describe to display version (#437)
* Use git describe to print version at boot

* Add version command
2022-11-09 09:29:06 +01:00
Vincent Ollivier 7ee885200a
Fix process table panic (#435)
* Limit table scope

* Rename pid to id
2022-11-08 22:51:38 +01:00
Vincent Ollivier 778de3cfe0
Add compilation option to set memory size (#433) 2022-11-05 09:40:02 +01:00
Vincent Ollivier cc2377f2e8
Update rust version (#432)
* Update rust version

* Fix compilation warning
2022-11-03 20:39:12 +01:00
Vincent Ollivier d09e2aff30
Reduce filesizes (#430)
* Run strip on binaries

* Run oxipng on image
2022-11-01 18:40:47 +01:00
Vincent Ollivier 8103d8e936
Fix editor delete (#429) 2022-11-01 18:22:00 +01:00
Vincent Ollivier ab9b488a49
Update lisp doc and examples (#428)
* Update documentation

* Add macro?

* Rewrite and and or with macros

* Move string-join

* Update built-in autocompletion

* Use define instead of def in core and examples

* Add changelog to doc

* Move aliases to lib

* Add let macro

* Add caar cadr cdar cddr functions

* Add fixme

* Fix let macro
2022-11-01 11:02:50 +01:00
Vincent Ollivier 0f08b0838e Update changelog 2022-10-28 22:53:02 +02:00
Vincent Ollivier 0037e24961
Add macro to Lisp (#425)
* Add expand to lisp

* Update tests

* Add quasiquote and unquote

* Rename Lambda into Function

* Add macro

* Fix function_env

* Dry code

* Add define-macro shortcut

* Add mac shortcut

* Refactor inner env

* Move expand to a module

* Add unquote-splicing

* Fix test

* Refactor tests

* Add function args symbol

* Fix typo

* Remove old append

* Add dotted pair

* Revert "Add dotted pair"

This reverts commit 10544b56d8.
2022-10-28 18:43:22 +02:00
Vincent Ollivier f7f1bd85f1
Run clippy (#424) 2022-10-28 09:56:04 +02:00
dependabot[bot] c3b0a4986d
Bump base64 from 0.13.0 to 0.13.1 (#422) 2022-10-27 05:06:26 +00:00
Vincent Ollivier 4d0d742ff4
Update pc-keyboard from 0.5.1 to 0.6.1 (#423) 2022-10-27 07:04:50 +02:00
Vincent Ollivier 0a29f533b2
Add TCO to Lisp (#420)
* Add TCO to Lisp

* Add sum.lsp

* Fix tests

* Refactor code

* Run clippy

* Use tmp var

* Refactor tmp

* Replace Lambda Rc by Box Lambda

* Remove exp clone

* Run clippy

* Remove another exp clone

* Reorder matches

* Remove another clone

* Run clippy

* Remove to_vec

* Add comments
2022-10-24 10:44:17 +02:00
Vincent Ollivier f455630b0f Update changelog 2022-10-21 10:10:59 +02:00
Vincent Ollivier fcf3a7e72f
Add if and while to Lisp (#418)
* Change Lisp loop into while

* Rename define to def

* Replace cond by if

* Fix pi computation

* Fix number parsing error

* Fix or function

* Add test to while

* Rewrite test

* Add missing fun

* Add examples to doc
2022-10-21 10:10:14 +02:00
Vincent Ollivier b09f881c64 Update changelog 2022-10-18 22:05:20 +02:00
Vincent Ollivier 1717fe03db
Refactor Lisp (#417)
* Split lisp code

* Move macros

* Reorganize imports

* Move lisp completer

* Fix newlines
2022-10-18 09:26:16 +02:00
Vincent Ollivier 892b697bd3
Add BigInt support to Lisp (#415)
* Add bigint support to Lisp

* Remove Box

* Replace BigInt by i64

* Add back big int

* Work around big int errors

* Print floats with a dot

* Add conversion to f64

* Use Number#parse instead of double

* Add trigo functions to Number

* Add conversion from number to byte

* Add addition to Number

* Add multiplication to Number

* Add negation and substraction to Number

* Add division to Number

* Add reminder to Number

* Add pow to Number

* Fix tests

* Re-enable BigInt

* Add parsing and printing of BigInt

* Add sign

* Add operations on BigInt

* Fix compilation issues

* Add support for add and mul overflow

* Fix bigint conversion to and from str

* Add number-type function

* Add tests

* Add support for pow overflow

* Fix tests

* Add more checks for overflow

* Add check for division by zero

* Fix typo

* Return inf for large exponential operations

* Check for division by zero in modulo

* Add shift operations

* Rewrite comparisons

* Add lazy eval to cond expressions

* Add set fonction

* Add loop function

* Add pi example

* Add builtin pi example to shell

* Update allocation error messages

* Rewrite number conversions

* Remove debug output from pi example

* Move pi command to a dedicated file

* Rewrite bytes->number and number->bytes

* Update doc

* Move op impl to Number

* Add macros to dry code

* Add more macros

* Run clippy
2022-10-17 20:58:08 +02:00
dependabot[bot] cbd8d9b479
Bump linked_list_allocator from 0.10.3 to 0.10.4 (#416) 2022-10-11 18:31:58 +00:00
dependabot[bot] a37e3dddf7
Bump bootloader from 0.9.22 to 0.9.23 (#414) 2022-10-01 08:20:23 +00:00
Vincent Ollivier 4476092f89 Update changelog 2022-09-20 20:13:46 +02:00
Vincent Ollivier ec57ff1540
Extend and refactor Lisp implementation (#412)
* Adopt a syntax closer to scheme

* Add parse and eval

* Replace Exp::Func with Exp::Primitive

* Refactor built in autocompletion

* Replace null by nil

* Fix test

* Update doc

* Bump version
2022-09-20 19:57:55 +02:00
dependabot[bot] 46137e6244
Bump sha2 from 0.10.5 to 0.10.6 (#413) 2022-09-16 06:26:58 +00:00
dependabot[bot] b4e83a5bf4
Bump raw-cpuid from 10.5.0 to 10.6.0 (#411) 2022-09-16 06:20:29 +00:00
Vincent Ollivier 1bafa2271c
Add apply to Lisp (#410)
* Replace mapcar by apply

* Add map and reduce to core lib

* Add pi.lsp example

* Fix tests

* Refactor pi-digits

* Move builtin join to core lib as string-join

* Rename decode-* and encode-* to *-decode and *-encode

* Update doc
2022-09-15 20:50:23 +02:00
Vincent Ollivier 5109608ea3
Add Conway's Game of Life (#409)
* Add the Game of Life

* Add seed interval

* Add option to load seed from file

* Add speed option

* Add a status bar at the bottom of the screen

* Refactor rules computation

* Refactor printing

* Add life to autocomplete list

* Fix autocomplete size

* Refactor file loading

* Add centinal.cells

* Add more cells files

* Add ^C to text editor

* Remove -f option

* Remove two patterns

* Remove extra newlines

* Remove code for comments

* Center cells
2022-09-10 10:57:55 +02:00
Vincent Ollivier 1f54cd5e2f
Improve shell (#405)
* Improve whitespace support in shell

* Add glob variable expansion

* Add panic command

* Add USER env var
2022-09-08 09:43:57 +02:00
dependabot[bot] 0abdeb2633
Bump sha2 from 0.10.3 to 0.10.5 (#407) 2022-09-08 07:29:23 +00:00
dependabot[bot] 54c7419b70
Bump linked_list_allocator from 0.10.1 to 0.10.3 (#408) 2022-09-08 07:28:06 +00:00
dependabot[bot] 8d4b982653
Bump sha2 from 0.10.2 to 0.10.3 (#403) 2022-09-04 16:35:35 +00:00
Vincent Ollivier 7e3c0da53c
Add support for closing connections in request to HTTP server (#406)
* Parse request header

* Add Request#is_persistent

* Close connection when requested
2022-09-04 15:38:10 +02:00
Vincent Ollivier 1e8f9e357d
Exit from alloc errors after page fault in userspace (#404)
* Add debug mode to makefile

* Add page fault exit code

* Fix panic

* Remove warning

* Display error message only in user mode

* Disable debug

* Use alloc conditionally in hello command

* Use standardized style of error message for page fault

* Remove debuginfo from userspace binaries

* Add comment to the page fault issue

* Use default relocation model instead of static

* Refactor import

* Update binaries

* Fix panic info by using debug

* Refactor makefile comment
2022-09-03 15:36:53 +02:00
Vincent Ollivier 55531b9e3d
Improve Lisp forms (#402)
* Use x and y variables instead of a and b

* Rewrite not form

* Move boolean forms to core lib

* Handle special arithmetic cases

* Add range form

* Add pr and prn for print and println

* Add more tests to cond
2022-09-03 15:27:52 +02:00
Vincent Ollivier 7097de350a
Add more bytes to RNG seed when RDRAND is not available (#401)
* Add more bytes to RNG seed

* Reorder seed sources
2022-08-28 20:53:41 +02:00