Publish release 0.10.0 (#507)
* Regenerate www for lisp doc * Update example email address * Fix changelog * Rewrite old changelog as list * Update changelog * Update version * Add links to changelog * Fix links * Add date to lisp changelog * Fix banner for longer version number * Update screenshot * Regenerate www * Remove boot.png * Update lisp version to 0.5.0 * Update chess version to 0.2.0 * Add screenshot script
97
CHANGELOG.md
|
@ -1,52 +1,57 @@
|
|||
# Changelog
|
||||
|
||||
## Unreleased
|
||||
- Run clippy (502)
|
||||
- Bump object from 0.30.3 to 0.31.1 (#497)
|
||||
- Bump libm from 0.2.6 to 0.2.7 (#498)
|
||||
- Bump raw-cpuid from 10.7.0 to 11.0.1 (#499)
|
||||
- Bump vte from 0.11.0 to 0.11.1 (#496)
|
||||
- Fix lisp cond expand (#501)
|
||||
- Update rust version (#495)
|
||||
- Fix lisp range params (#494)
|
||||
- Fix lisp comments (#493)
|
||||
- Add docstring to lisp (#490)
|
||||
- Add full support for comments in lisp (#489)
|
||||
- Add parenthesis matching to editor (#488)
|
||||
- Upgrade smoltcp from 0.8.2 to 0.9.1 (#484)
|
||||
- Update rust to nightly-2022-12-21 (#485)
|
||||
- Fix RTL8139 driver issues (#483)
|
||||
- Improve help system (#481)
|
||||
- Refactor lisp functions (#478)
|
||||
- Improve asm binaries (#482)
|
||||
- Add light palette (#480)
|
||||
- Fix invalid bytes from serial (#479)
|
||||
- Use pbkdf2_hmac to fix compilation warnings (#477)
|
||||
- Bump spin from 0.9.5 to 0.9.6 (#474)
|
||||
- Bump pbkdf2 from 0.11.0 to 0.12.1 (#470)
|
||||
- Bump aml from 0.16.2 to 0.16.3 (#471)
|
||||
- Bump linked_list_allocator from 0.10.4 to 0.10.5 (#472)
|
||||
- Bump pic8259 from 0.10.2 to 0.10.3 (#473)
|
||||
- Bump spin from 0.9.4 to 0.9.5 (#465)
|
||||
- Bump nom from 7.1.2 to 7.1.3 (#461)
|
||||
- Bump object from 0.30.0 to 0.30.3 (#462)
|
||||
- Bump bit_field from 0.10.1 to 0.10.2 (#468)
|
||||
- Bump raw-cpuid from 10.6.0 to 10.7.0 (#469)
|
||||
- Bump nom from 7.1.1 to 7.1.2 (#457)
|
||||
- Refactor keyboard interrupt handler (#453)
|
||||
- Add cut/copy/paste to editor (#456)
|
||||
- Improve lisp (#455)
|
||||
- Improve lisp (#449)
|
||||
- Bump aml from 0.16.1 to 0.16.2 (#450)
|
||||
- Improve help (#451)
|
||||
- Improve shell autocompletion (#448)
|
||||
- Remove allow other (#447)
|
||||
- Replace some rust programs with lisp scripts (#445)
|
||||
- Fix panic on commands containing only spaces (#442)
|
||||
- Fix panic in chess move parser (#446)
|
||||
- Add path to prompt (#444)
|
||||
- Bump smoltcp from 0.8.1 to 0.8.2 (#443)
|
||||
- Bump object from 0.29.0 to 0.30.0 (#441)
|
||||
|
||||
## 0.10.0 (2023-06-21)
|
||||
- Add cut/copy/paste to editor ([#456](https://github.com/vinc/moros/pull/456))
|
||||
- Add docstring to lisp ([#490](https://github.com/vinc/moros/pull/490))
|
||||
- Add full support for comments in lisp ([#489](https://github.com/vinc/moros/pull/489))
|
||||
- Add light palette ([#480](https://github.com/vinc/moros/pull/480))
|
||||
- Add parenthesis matching to editor ([#488](https://github.com/vinc/moros/pull/488))
|
||||
- Add path to prompt ([#444](https://github.com/vinc/moros/pull/444))
|
||||
- Fix RTL8139 driver issues ([#483](https://github.com/vinc/moros/pull/483))
|
||||
- Fix invalid bytes from serial ([#479](https://github.com/vinc/moros/pull/479))
|
||||
- Fix lisp comments ([#493](https://github.com/vinc/moros/pull/493))
|
||||
- Fix lisp cond expand ([#501](https://github.com/vinc/moros/pull/501))
|
||||
- Fix lisp range params ([#494](https://github.com/vinc/moros/pull/494))
|
||||
- Fix panic in chess move parser ([#446](https://github.com/vinc/moros/pull/446))
|
||||
- Fix panic on commands containing only spaces ([#442](https://github.com/vinc/moros/pull/442))
|
||||
- Fix setup instructions in readme ([#504](https://github.com/vinc/moros/pull/504))
|
||||
- Improve asm binaries ([#482](https://github.com/vinc/moros/pull/482))
|
||||
- Improve chess game ([#506](https://github.com/vinc/moros/pull/506))
|
||||
- Improve help ([#451](https://github.com/vinc/moros/pull/451))
|
||||
- Improve help system ([#481](https://github.com/vinc/moros/pull/481))
|
||||
- Improve lisp ([#449](https://github.com/vinc/moros/pull/449))
|
||||
- Improve lisp ([#455](https://github.com/vinc/moros/pull/455))
|
||||
- Improve shell autocompletion ([#448](https://github.com/vinc/moros/pull/448))
|
||||
- Refactor keyboard interrupt handler ([#453](https://github.com/vinc/moros/pull/453))
|
||||
- Refactor lisp functions ([#478](https://github.com/vinc/moros/pull/478))
|
||||
- Remove allow other ([#447](https://github.com/vinc/moros/pull/447))
|
||||
- Replace some rust programs with lisp scripts ([#445](https://github.com/vinc/moros/pull/445))
|
||||
- Run clippy ([#502](https://github.com/vinc/moros/pull/502))
|
||||
- Update rust to nightly-2022-12-21 ([#485](https://github.com/vinc/moros/pull/485))
|
||||
- Update rust version ([#495](https://github.com/vinc/moros/pull/495))
|
||||
- Upgrade smoltcp from 0.8.2 to 0.9.1 ([#484](https://github.com/vinc/moros/pull/484))
|
||||
- Use pbkdf2_hmac to fix compilation warnings ([#477](https://github.com/vinc/moros/pull/477))
|
||||
- Bump aml from 0.16.1 to 0.16.2 ([#450](https://github.com/vinc/moros/pull/450))
|
||||
- Bump aml from 0.16.2 to 0.16.3 ([#471](https://github.com/vinc/moros/pull/471))
|
||||
- Bump bit_field from 0.10.1 to 0.10.2 ([#468](https://github.com/vinc/moros/pull/468))
|
||||
- Bump libm from 0.2.6 to 0.2.7 ([#498](https://github.com/vinc/moros/pull/498))
|
||||
- Bump linked_list_allocator from 0.10.4 to 0.10.5 ([#472](https://github.com/vinc/moros/pull/472))
|
||||
- Bump nom from 7.1.1 to 7.1.2 ([#457](https://github.com/vinc/moros/pull/457))
|
||||
- Bump nom from 7.1.2 to 7.1.3 ([#461](https://github.com/vinc/moros/pull/461))
|
||||
- Bump object from 0.29.0 to 0.30.0 ([#441](https://github.com/vinc/moros/pull/441))
|
||||
- Bump object from 0.30.0 to 0.30.3 ([#462](https://github.com/vinc/moros/pull/462))
|
||||
- Bump object from 0.30.3 to 0.31.1 ([#497](https://github.com/vinc/moros/pull/497))
|
||||
- Bump pbkdf2 from 0.11.0 to 0.12.1 ([#470](https://github.com/vinc/moros/pull/470))
|
||||
- Bump pic8259 from 0.10.2 to 0.10.3 ([#473](https://github.com/vinc/moros/pull/473))
|
||||
- Bump raw-cpuid from 10.6.0 to 10.7.0 ([#469](https://github.com/vinc/moros/pull/469))
|
||||
- Bump raw-cpuid from 10.7.0 to 11.0.1 ([#499](https://github.com/vinc/moros/pull/499))
|
||||
- Bump sha2 from 0.10.6 to 0.10.7 ([#505](https://github.com/vinc/moros/pull/505))
|
||||
- Bump smoltcp from 0.8.1 to 0.8.2 ([#443](https://github.com/vinc/moros/pull/443))
|
||||
- Bump spin from 0.9.4 to 0.9.5 ([#465](https://github.com/vinc/moros/pull/465))
|
||||
- Bump spin from 0.9.5 to 0.9.6 ([#474](https://github.com/vinc/moros/pull/474))
|
||||
- Bump vte from 0.11.0 to 0.11.1 ([#496](https://github.com/vinc/moros/pull/496))
|
||||
|
||||
## 0.9.0 (2022-11-11)
|
||||
- Add BigInt support to Lisp ([#415](https://github.com/vinc/moros/pull/415))
|
||||
|
|
|
@ -312,7 +312,7 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
|
|||
|
||||
[[package]]
|
||||
name = "moros"
|
||||
version = "0.9.0"
|
||||
version = "0.10.0"
|
||||
dependencies = [
|
||||
"acpi",
|
||||
"aml",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
[package]
|
||||
name = "moros"
|
||||
description = "MOROS: Obscure Rust Operating System"
|
||||
version = "0.9.0"
|
||||
version = "0.10.0"
|
||||
authors = ["Vincent Ollivier <v@vinc.cc>"]
|
||||
edition = "2018"
|
||||
license = "MIT"
|
||||
|
|
BIN
doc/boot.png
Before Width: | Height: | Size: 4.9 KiB |
BIN
doc/chess.png
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.5 KiB |
14
doc/lisp.md
|
@ -82,7 +82,7 @@ The interpreter can be invoked from the shell:
|
|||
|
||||
```
|
||||
> lisp
|
||||
MOROS Lisp v0.4.0
|
||||
MOROS Lisp v0.5.0
|
||||
|
||||
> (+ 1 2 3)
|
||||
6
|
||||
|
@ -172,24 +172,24 @@ The whole implementation was refactored and the parser was rewritten to use
|
|||
language and reading from the filesystem.
|
||||
|
||||
### 0.3.0 (2022-12-12)
|
||||
Rewrite the evaluation code, add new functions and a core library.
|
||||
- Rewrite the evaluation code
|
||||
- Add new functions
|
||||
- Add a core library
|
||||
|
||||
### 0.3.1 (2022-06-06)
|
||||
Rewrite parts of the code and add new functions and examples.
|
||||
- Rewrite parts of the code
|
||||
- Add new functions and examples
|
||||
|
||||
### 0.3.2 (2022-07-02)
|
||||
- Add new functions
|
||||
|
||||
### 0.3.2 (2022-08-25)
|
||||
- Add new functions
|
||||
|
||||
### 0.4.0 (2022-08-25)
|
||||
- Rewrite a lot of the code
|
||||
- Add integer and big integer support
|
||||
- Add tail call optimization (TCO)
|
||||
- Add macro support
|
||||
|
||||
### 0.5.0 (unpublished)
|
||||
### 0.5.0 (2023-06-21)
|
||||
- Rename or add aliases to many functions
|
||||
- Add full support for line and inline comments
|
||||
- Add params to function representations
|
||||
|
|
BIN
doc/lisp.png
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
@ -5,7 +5,7 @@
|
|||
During boot MOROS will display its version followed by the memory layout,
|
||||
memory size, processor, devices, network cards, disks, and the real time clock.
|
||||
|
||||
[0.250962] MOROS v0.9.0
|
||||
[0.250962] MOROS v0.10.0
|
||||
[0.250962] MEM [0x00000000000000-0x00000000000FFF] FrameZero
|
||||
[0.250962] MEM [0x00000000001000-0x00000000004FFF] PageTable
|
||||
[0.250962] MEM [0x00000000005000-0x00000000015FFF] Bootloader
|
||||
|
@ -47,7 +47,7 @@ commands to test the system or `install` to setup the
|
|||
|
||||
/
|
||||
> install
|
||||
Welcome to MOROS v0.9.0 installation program!
|
||||
Welcome to MOROS v0.10.0 installation program!
|
||||
|
||||
Proceed? [y/N] y
|
||||
|
||||
|
|
BIN
doc/moros.png
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
@ -144,7 +144,7 @@ Here's a connexion to a SMTP server to send a mail:
|
|||
250-Ok EventMachine SMTP Server
|
||||
250-NO-SOLICITING
|
||||
250 SIZE 20000000
|
||||
> MAIL FROM:<v@moros.cc>
|
||||
> MAIL FROM:<vinc@moros.cc>
|
||||
> RCPT TO:<alice@example.com>
|
||||
250 Ok
|
||||
250 Ok
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
| |
|
||||
| [92mMOROS[0m: [92mO[96mbscure [92mR[96must [92mO[96mperating [92mS[96mystem[0m |
|
||||
| |
|
||||
| (v{x.x.x}) |
|
||||
| (v{x.x.x}) |
|
||||
| |
|
||||
+--------------------------------------------------+
|
||||
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
if [ $# -eq 0 ]; then
|
||||
echo "Usage: screenshot.sh <name>"
|
||||
exit 1
|
||||
fi
|
||||
nc -N 127.0.0.1 7777 <<< "screendump $1.ppm"
|
||||
convert "$1.ppm" "$1.png"
|
||||
optipng "$1.png"
|
||||
feh "$1.png"
|
|
@ -71,7 +71,7 @@ impl Chess {
|
|||
}
|
||||
|
||||
fn run(&mut self) {
|
||||
println!("MOROS Chess v0.1.0\n");
|
||||
println!("MOROS Chess v0.2.0\n");
|
||||
let prompt_string = format!("{}>{} ", self.csi_color, self.csi_reset);
|
||||
|
||||
let mut prompt = Prompt::new();
|
||||
|
|
|
@ -245,7 +245,7 @@ fn repl(env: &mut Rc<RefCell<Env>>) -> Result<(), ExitCode> {
|
|||
let csi_reset = Style::reset();
|
||||
let prompt_string = format!("{}>{} ", csi_color, csi_reset);
|
||||
|
||||
println!("MOROS Lisp v0.4.0\n");
|
||||
println!("MOROS Lisp v0.5.0\n");
|
||||
|
||||
let mut prompt = Prompt::new();
|
||||
let history_file = "~/.lisp-history";
|
||||
|
|
|
@ -46,9 +46,10 @@ of the Shell.</p>
|
|||
<li><code>define-function</code> (aliased to <code>def-fun</code>)</li>
|
||||
<li><code>define-macro</code> (aliased to <code>def-mac</code>)</li>
|
||||
<li><code>apply</code></li>
|
||||
<li><code>do</code></li>
|
||||
<li><code>doc</code></li>
|
||||
<li><code>eval</code></li>
|
||||
<li><code>expand</code></li>
|
||||
<li><code>do</code></li>
|
||||
<li><code>load</code></li>
|
||||
</ul>
|
||||
|
||||
|
@ -102,7 +103,7 @@ of the Shell.</p>
|
|||
<p>The interpreter can be invoked from the shell:</p>
|
||||
|
||||
<pre><code>> lisp
|
||||
MOROS Lisp v0.4.0
|
||||
MOROS Lisp v0.5.0
|
||||
|
||||
> (+ 1 2 3)
|
||||
6
|
||||
|
@ -153,11 +154,14 @@ with the following content:</p>
|
|||
(= i 10) # => true
|
||||
|
||||
(def (map f ls)
|
||||
"Apply function to list"
|
||||
(if (nil? ls) nil
|
||||
(cons
|
||||
(f (first ls))
|
||||
(map f (rest ls)))))
|
||||
|
||||
(doc map) # => "Apply function to list"
|
||||
|
||||
(var bar (quote (1 2 3)))
|
||||
(var bar '(1 2 3)) # Shortcut
|
||||
|
||||
|
@ -189,19 +193,20 @@ language and reading from the filesystem.</p>
|
|||
|
||||
<h3>0.3.0 (2022-12-12)</h3>
|
||||
|
||||
<p>Rewrite the evaluation code, add new functions and a core library.</p>
|
||||
<ul>
|
||||
<li>Rewrite the evaluation code</li>
|
||||
<li>Add new functions</li>
|
||||
<li>Add a core library</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.3.1 (2022-06-06)</h3>
|
||||
|
||||
<p>Rewrite parts of the code and add new functions and examples.</p>
|
||||
|
||||
<h3>0.3.2 (2022-07-02)</h3>
|
||||
|
||||
<ul>
|
||||
<li>Add new functions</li>
|
||||
<li>Rewrite parts of the code</li>
|
||||
<li>Add new functions and examples</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.3.2 (2022-08-25)</h3>
|
||||
<h3>0.3.2 (2022-07-02)</h3>
|
||||
|
||||
<ul>
|
||||
<li>Add new functions</li>
|
||||
|
@ -216,11 +221,13 @@ language and reading from the filesystem.</p>
|
|||
<li>Add macro support</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.5.0 (unpublished)</h3>
|
||||
<h3>0.5.0 (2023-06-21)</h3>
|
||||
|
||||
<ul>
|
||||
<li>Rename or add aliases to many functions</li>
|
||||
<li>Add full support for line and inline comments</li>
|
||||
<li>Add params to function representations</li>
|
||||
<li>Add docstring to functions</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<p>During boot MOROS will display its version followed by the memory layout,
|
||||
memory size, processor, devices, network cards, disks, and the real time clock.</p>
|
||||
|
||||
<pre><code>[0.250962] MOROS v0.9.0
|
||||
<pre><code>[0.250962] MOROS v0.10.0
|
||||
[0.250962] MEM [0x00000000000000-0x00000000000FFF] FrameZero
|
||||
[0.250962] MEM [0x00000000001000-0x00000000004FFF] PageTable
|
||||
[0.250962] MEM [0x00000000005000-0x00000000015FFF] Bootloader
|
||||
|
@ -56,7 +56,7 @@ Running console in diskless mode
|
|||
|
||||
/
|
||||
> install
|
||||
Welcome to MOROS v0.9.0 installation program!
|
||||
Welcome to MOROS v0.10.0 installation program!
|
||||
|
||||
Proceed? [y/N] y
|
||||
|
||||
|
|
|
@ -164,7 +164,7 @@ MOROS Socket v0.1.0
|
|||
250-Ok EventMachine SMTP Server
|
||||
250-NO-SOLICITING
|
||||
250 SIZE 20000000
|
||||
> MAIL FROM:<v@moros.cc>
|
||||
> MAIL FROM:<vinc@moros.cc>
|
||||
> RCPT TO:<alice@example.com>
|
||||
250 Ok
|
||||
250 Ok
|
||||
|
|