diff options
Diffstat (limited to 'lambda-calcul/rust/README.md')
| -rw-r--r-- | lambda-calcul/rust/README.md | 24 |
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`? |
