Mercurial > repo
annotate interps/egel/readme-hackeso.txt @ 12316:563db84bb4f8 draft
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
author | HackEso <hackeso@esolangs.org> |
---|---|
date | Fri, 21 Feb 2020 11:59:21 +0000 |
parents | |
children |
rev | line source |
---|---|
12316
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
1 Egel interpreter from "https://github.com/egel-lang/egel/" by Marco Devillers. |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
2 |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
3 Instructions to rebuild the executable and compiled libraries from a newer version of egel. |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
4 |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
5 Get sources from github: |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
6 `fetch /hackenv/tmp/egel.zip https://github.com/egel-lang/egel/archive |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
7 (As of this writing, I used git commit a518d99f704f07f90f507eb59ef904b40dd785dd , but I'll forget to update this readme when I install a newer one.) |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
8 Unpack sources: |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
9 ``` set -e; cd /hackenv/tmp; rm -r egel-master |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
10 ``` set -e; cd /hackenv/tmp; unzip egel.zip |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
11 Build the interpreter. You'll have to rerun this a few time because it's too slow to build for HackEso's timeout, and check for unlucky timeouts while the compiler is writing its output. |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
12 ``` set -ex; cd /hackenv/tmp/egel-master; make -C src LIBS="-ldl -lpthread -licuio -licui18n -licuuc -licudata" &>> buildlog |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
13 Build the compiled libraries. |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
14 ``` set -ex; cd /hackenv/tmp/egel-master; (for m in io fs random regex; do make -C lib/$m LIBS="-ldl -lpthread -licuio -licui18n -licuuc -licudata"; done) &>> buildlog |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
15 Copy the files |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
16 ``` set -xe; cd /hackenv/tmp/egel-master; cp -v src/egel lib/*.ego /hackenv/interps/egel/ |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
17 The prelude is currently a custom one for HackEso. Check if the prelude distributed with egel changed and merge. In the long term, we should merge changes back from HackEso to egel, or at least a fork. |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
18 |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
19 There should be a wrapper that invokes this, but I haven't yet written one. Example command that works. |
563db84bb4f8
<wib_jonas> fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
20 ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing Math\nusing String\nusing IO\ndef main = ''[F->F F tuple 2 777][F B L U->[false->B|true->F F([T->T T 2][T C->[true->B|false->[false->B L|true->T T(C+1)](C*C<=L)](0==L%C)])(L+1)U](L<U)]'; /hackenv/interps/egel/egel a0.eg |