summaryrefslogtreecommitdiff
path: root/lambda-calcul/rust/README.md
diff options
context:
space:
mode:
authorArnaud Bailly <arnaud@pankzsoft.com>2025-10-13 09:18:10 +0200
committerArnaud Bailly <arnaud@pankzsoft.com>2025-10-13 09:18:10 +0200
commit21befc8c8ab2e91632f5341b4fa9425cf3c815ff (patch)
tree1b55f35081c09b399eab347f724c0bfa5b4cf8c9 /lambda-calcul/rust/README.md
parente580a8e4f2d44e646c6861197ef0fcf55aaba1d6 (diff)
downloadlambda-nantes-21befc8c8ab2e91632f5341b4fa9425cf3c815ff.tar.gz
update from workshop 2bis
Diffstat (limited to 'lambda-calcul/rust/README.md')
-rw-r--r--lambda-calcul/rust/README.md24
1 files changed, 21 insertions, 3 deletions
diff --git a/lambda-calcul/rust/README.md b/lambda-calcul/rust/README.md
index 08dfc3d..4150393 100644
--- a/lambda-calcul/rust/README.md
+++ b/lambda-calcul/rust/README.md
@@ -26,7 +26,7 @@ We use the following variables to represent, well, variable elements that should
The client needs to send a `POST /register` request, passing in as payload a JSON object with a `url` and `name` string fields:
```
-curl -v -X POST -d '{"url":"${CLIENT_URL}", "name": "toto", "encoding": "Json"}' -H 'Content-type: application/json' ${SERVER_BASE_URL}/register
+curl -v -X POST -d '{"url":"${CLIENT_URL}", "name": "toto", "encoding": "Json"}scra' -H 'Content-type: application/json' ${SERVER_BASE_URL}/register
```
The payload is expected to be a JSON object with the following fields:
@@ -69,20 +69,38 @@ There are `--port` and `--host` arguments should one want to change the default
* [x] make command line to register more explicit
* [x] `nc -l` is a simple echo server to show what's sent by the server
* [x] keep the readme exposed by the server
-* [ ] use JSON formatting for request/response
+* [x] use JSON formatting for request/response
* [ ] debug user address on the leaderboard page
* [ ] shows status of client (not connected/connected/replying correctly or not)
* [ ] add more logs to server to help troubleshoot users access/registration
* [ ] THE SERVER MUST NOT CRASH
* [ ] cheatsheet λ-calcul exposed on `/help`
-* [ ] propose to send JSON or S-Exp
+* [x] propose to send JSON or S-Exp
* [ ] persist user state to avoid losing connections
* [ ] deploy automatically server on punkachien.net with radicle CI
* [ ] better JSON representation for AST than raw serde stuff
+ * could be just an array?
* [ ] Document JSON format...
+* [ ] warn about local firewall on the machine
+* [ ] add both representations to query
+* [ ] add simple arithmetic expressions
+* [ ] collect interesting examples and tests (instead of generating them randomly)
+ * would be easy to generate more examples by substituting values inside predefined expressions
+* [ ] add flag in REPL to set/unset syntactic sugar
* [ ] ask people to implement something
* [ ] prepare starter kit to overcome
* [ ] différentes couleurs de pistes (verte/rouge/noire)
* [ ] pair programming w/ Manu, people do their own stuff if they want
* [ ] ne pas oublier le routeur wifi
+
+3 steps:
+1. write interpreter
+2. play with interpreter
+3. introduce types
+
+* there's no semantics intrisically attached to the expressions, it's _us_ who define it
+ * example of snd/fst whose behaviour can also be head/tail or bool/false
+
+* example of `λ x y. x` which can be `fst`, `True`, or `head`
+* write `reverse`?