summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorCamil Staps2021-01-05 16:41:59 +0100
committerCamil Staps2021-01-05 16:41:59 +0100
commita2119c4e1eb3f533af6df081a4370254a45cdac4 (patch)
treef14c38d1d00096680488421b6f38485e76fed20a
parentUpdate profile picture (diff)
Lots of updates in clean.html
-rw-r--r--resources/pug/finals/clean.pug33
1 files changed, 18 insertions, 15 deletions
diff --git a/resources/pug/finals/clean.pug b/resources/pug/finals/clean.pug
index 49bcf76..dca382c 100644
--- a/resources/pug/finals/clean.pug
+++ b/resources/pug/finals/clean.pug
@@ -23,6 +23,8 @@ block content
+item('https://github.com/' + user + '/' + repo, user + '/' + repo, desc)&attributes(attributes)
mixin gitlabItem(user, repo, desc)
+item('https://gitlab.science.ru.nl/' + user + '/' + repo, user + '/' + repo, desc)&attributes(attributes)
+ mixin archivedItem(repo, desc)
+ +item('https://git.camilstaps.nl/archived/clean/' + repo + '.git', repo, desc)&attributes(attributes)
mixin svnItem(repo, desc)
+item('https://svn.cs.ru.nl/repos/' + repo, repo, desc)&attributes(attributes)
@@ -30,8 +32,7 @@ block content
ul
+item('https://ftp.cs.ru.nl/Clean/Clean30/', 'ftp.cs.ru.nl/Clean/Clean30', 'the official Clean 3.0 distribution')
+item('https://ftp.cs.ru.nl/Clean/Clean24/', 'ftp.cs.ru.nl/Clean/Clean24', 'the official Clean 2.4 distribution')
- +item('https://ftp.cs.ru.nl/Clean/builds/', 'ftp.cs.ru.nl/Clean/builds/', 'official nightlies')
- +item('https://files.martlubbers.net/clean/', 'files.martlubbers.net/clean', 'nightlies with memory')
+ +item('https://ftp.cs.ru.nl/Clean/builds/', 'ftp.cs.ru.nl/Clean/builds', 'official nightlies')
+item('https://hub.docker.com/r/camilstaps/clean', 'camilstaps/clean', 'Docker images')
+item('https://packages.altlinux.org/en/sisyphus/srpms/clean', 'packages.altlinux.org/en/sisyphus/srpms/clean', 'ALT Linux package')
@@ -50,32 +51,33 @@ block content
h2(id="tools") #[a(href="#tools") #] Tools & auxiliaries
ul
+item('https://cloogle.org', 'Cloogle', 'search engine')
- +gitlabItem('cloogle', 'cloogle-tags', 'tagfile generator')
- +gitlabItem('cstaps', 'iClean', 'interactive shell')
- +gitlabItem('cstaps', 'iclm', 'clm with automatic error handling')
- +item('https://gitlab.science.ru.nl/cstaps/clean-rts-cheat-sheet', 'cstaps/clean-rts-cheat-sheet', 'cheat sheets for the run-time system')
+ +gitlabItem('cloogle/periphery', 'cloogle-tags', 'tagfile generator')
+ +gitlabItem('cstaps', 'clean-rts-cheat-sheet', 'cheat sheets for the run-time system')
+ +archivedItem('iclean', 'interactive shell')
+ +archivedItem('iclm', 'clm with automatic error handling')
+ +item('https://camilstaps.gitlab.io/clean-sandbox/', 'Sandbox', 'in-browser development environment for small tests')
h2(id="official-repos") #[a(href="#official-repos") #] Official repositories
- p These repositories can be browsed at #[a(href="https://svn.camilstaps.nl") svn.camilstaps.nl].
+ p The old Subversion repositories can be browsed at #[a(href="https://svn.camilstaps.nl") svn.camilstaps.nl].
ul
+item('https://gitlab.science.ru.nl/clean-and-itasks', 'clean-and-itasks', 'Radboud gitlab group with libraries')
+item('https://gitlab.science.ru.nl/clean-compiler-and-rts', 'clean-compiler-and-rts', 'Radboud gitlab group with the compiler, code generator, and other core tools')
+svnItem('clean-dynamic-system', 'the dynamics linker and other related tools and libraries')
- +svnItem('clean-libraries', 'StdEnv, StdLib, Generics, TCPIP, ArgEnv, Directory, ObjectIO, Hilde, and many others')
- +svnItem('clean-tools', 'clm, elf_linker, htoclean')
+ +svnItem('clean-libraries', 'many old libraries (including old versions of projects now tracked on GitLab)')
+ +svnItem('clean-tools', 'clm (now tracked on GitLab), elf_linker (unused), htoclean')
h2(id="abc") #[a(href="#abc") #] The ABC machine
p
| The ABC machine is the abstract machine for which the Clean #[em compiler] generates code.
| The #[em code generator] can generate actual machine code from ABC code for various platforms.
- | For people working on a low level with Clean, it can be useful to implement parts of an application in ABC (through #[a(href="https://cloogle.org/#exact%20code") #[code code { ... }]] blocks)
+ | For people working on a low level with Clean, it can be useful to implement parts of an application in ABC (through #[a(href="https://cloogle.org/#exact%20code") #[code code { ... }]] blocks).
| It is also a convenient target language if you are implementing a compiler, because it is still relatively high level and has a code generator that optimises a lot of inefficient ABC code away.
p If you are looking into the ABC machine, the following things may be helpful:
ul
li
p
| The ABC machine was originally described by Pieter Koopman in his 1990 dissertation #[em Functional Programs as Executable Specifications] (Meppel).
- | For a port of the original #[em Miranda] implementation to Clean, see #[a(href="https://gitlab.science.ru.nl/cstaps/ABCMachine/") cstaps/ABCMachine].
+ | For a port of the original #[em Miranda] implementation to Clean, see this #[a(href="https://git.camilstaps.nl/archived/clean/abc-machine.git/") abc-machine] repository.
| While this dissertation is useful to get an overview of the design of the abstract machine, it cannot be used as a reference for present-day ABC code.
li
p
@@ -90,17 +92,18 @@ block content
| Pull requests for missing instructions are very welcome.
li
p
- | There is an #[a(href="https://gitlab.science.ru.nl/cstaps/abc-interpreter") ABC interpreter] written in C.
- | The implementation of the instructions can be found in #[code /src/interpret_instructions.h].
+ | There is an #[a(href="https://gitlab.science.ru.nl/clean-and-itasks/abc-interpreter") ABC interpreter].
+ | The implementation of the instructions can be found in #[code /tools/interpretergen.icl].
| This is probably the most useful reference for the semantics of ABC instructions.
+ | This DSL can currently be used to generate C and WebAssembly implementations of the ABC instructions.
p
| The repository also includes an interactive graphical debugger for the ABC machine, inspired by #[code gdb].
| This is the #[code debug] program found in #[code /src].
- | You first need to generate bytecode from the ABC code using the workflow described in #[a(href="https://gitlab.science.ru.nl/cstaps/abc-interpreter/blob/master/doc/tools.md") #[code doc/tools.md]].
+ | You first need to generate bytecode from the ABC code using the workflow described in #[code doc/tools.md].
| For help on the interface of #[code debug], press #[kbd ?] when you are in the GUI.
p
| For performance reasons, this interpreter has a larger instruction set than the actual ABC machine.
| You can optimise 'common' ABC code to 'optimised' ABC code using the #[code abcopt] tool in the same repository.
| The interpreter should however also work with unoptimised ABC code.
li
- p If you get stuck, ask the maintainer of the #[a(href="https://gitlab.science.ru.nl/cstaps/abc-interpreter") ABC interpreter] or the #[a(href="https://gitlab.science.ru.nl/clean-compiler-and-rts/code-generator") code generator] for help.
+ p If you get stuck, ask the maintainer of the #[a(href="https://gitlab.science.ru.nl/clean-and-itasks/abc-interpreter") ABC interpreter] or the #[a(href="https://gitlab.science.ru.nl/clean-compiler-and-rts/code-generator") code generator] for help.