-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor evl. tests. docs. code generator prototype. wip.
basic condition handling and/or with tests. rename evl/evl* primitive generator experiment more syntax checks/evl-error handling compile script import values macros from veq generator utilities promising generator macro . . . i. .
- Loading branch information
1 parent
620e525
commit 54eea54
Showing
26 changed files
with
4,891 additions
and
303 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
name: Docker Image for Testing | ||
|
||
on: [pull_request] | ||
|
||
jobs: | ||
|
||
build: | ||
|
||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v1 | ||
- name: Build the Docker image | ||
run: docker build . --file ./Dockerfile --tag tests:latest | ||
- name: Run tests | ||
run: docker run tests:latest | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# This image is only intended to run the tests | ||
|
||
FROM ubuntu:24.04 AS base | ||
|
||
RUN apt-get -qq update &&\ | ||
apt-get -qq install -y sbcl curl gcc git | ||
|
||
WORKDIR /opt | ||
RUN curl -s 'https://beta.quicklisp.org/quicklisp.lisp' > /opt/quicklisp.lisp | ||
RUN sbcl --noinform --load /opt/quicklisp.lisp\ | ||
--eval '(quicklisp-quickstart:install :path "/opt/quicklisp")'\ | ||
--eval '(sb-ext:quit)' | ||
|
||
RUN echo '(load "/opt/quicklisp/setup.lisp")' > /root/.sbclrc | ||
RUN mkdir -p quicklisp | ||
RUN mkdir -p /opt/data | ||
RUN apt-get -qq remove curl -y &&\ | ||
apt-get -qq autoremove -y &&\ | ||
apt-get -qq autoclean -y | ||
|
||
from base AS build | ||
|
||
WORKDIR /opt | ||
ADD src quicklisp/local-projects/evl/src | ||
ADD test quicklisp/local-projects/evl/test | ||
ADD evl.asd quicklisp/local-projects/evl | ||
ADD run-tests.sh quicklisp/local-projects/evl/run-tests.sh | ||
RUN mkdir -p ~/quicklisp/ && ln -s /opt/quicklisp/setup.lisp ~/quicklisp/setup.lisp | ||
|
||
RUN git clone https://github.com/inconvergent/cl-veq.git quicklisp/local-projects/veq | ||
RUN git clone https://github.com/inconvergent/lqn.git quicklisp/local-projects/lqn | ||
|
||
WORKDIR /opt/quicklisp/local-projects/evl/ | ||
|
||
CMD ["bash", "./run-tests.sh"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/bin/bash | ||
|
||
set -e | ||
touch ./evl.asd | ||
time sbcl --quit \ | ||
--eval '(load "evl.asd")'\ | ||
--eval '(handler-case (time (ql:quickload :evl :verbose t)) | ||
(error (c) (print c) (sb-ext:quit :unix-status 2)))'\ | ||
>compile.sh.txt 2>&1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
This is SBCL 2.4.4, an implementation of ANSI Common Lisp. | ||
More information about SBCL is available at <http://www.sbcl.org/>. | ||
|
||
SBCL is free software, provided as is, with absolutely no warranty. | ||
It is mostly in the public domain; some portions are provided under | ||
BSD-style licenses. See the CREDITS and COPYING files in the | ||
distribution for more information. | ||
To load "evl": | ||
Load 1 ASDF system: | ||
evl | ||
; Loading "evl" | ||
; compiling file "/data/x/evl/src/packages.lisp" (written 29 OCT 2024 09:48:09 PM): | ||
[package evl]..................................... | ||
[package evl/code] | ||
|
||
; wrote /home/anders/.cache/common-lisp/sbcl-2.4.4-linux-x64/data/x/evl/src/packages-tmpGHU3ALSV.fasl | ||
; compilation finished in 0:00:00.002 | ||
; compiling file "/data/x/evl/src/utils.lisp" (written 29 OCT 2024 09:48:09 PM): | ||
. | ||
; file: /data/x/evl/src/utils.lisp | ||
; in: DEFUN MATCH-PREF | ||
; (STRING= EVL::PREF EVL::S :END2 (LENGTH EVL::PREF)) | ||
; | ||
; note: unable to | ||
; optimize | ||
; due to type uncertainty: | ||
; The first argument is a STRING, not a SIMPLE-BASE-STRING. | ||
; The second argument is a STRING, not a SIMPLE-BASE-STRING. | ||
; | ||
; note: unable to | ||
; optimize | ||
; due to type uncertainty: | ||
; The first argument is a STRING, not a (SIMPLE-ARRAY CHARACTER (*)). | ||
; The second argument is a STRING, not a (SIMPLE-ARRAY CHARACTER (*)). | ||
|
||
|
||
; wrote /home/anders/.cache/common-lisp/sbcl-2.4.4-linux-x64/data/x/evl/src/utils-tmpAAURSO1.fasl | ||
; compilation finished in 0:00:00.016 | ||
; compiling file "/data/x/evl/src/docs.lisp" (written 29 OCT 2024 09:48:09 PM): | ||
. | ||
; file: /data/x/evl/src/docs.lisp | ||
; in: DEFVAR *DOCSTRING-MAP* | ||
; (LIST) | ||
; | ||
; note: deleting unreachable code | ||
|
||
|
||
; wrote /home/anders/.cache/common-lisp/sbcl-2.4.4-linux-x64/data/x/evl/src/docs-tmp5GEXGEG5.fasl | ||
; compilation finished in 0:00:00.013 | ||
; compiling file "/data/x/evl/src/config.lisp" (written 29 OCT 2024 09:48:09 PM): | ||
|
||
; wrote /home/anders/.cache/common-lisp/sbcl-2.4.4-linux-x64/data/x/evl/src/config-tmpAR3FSGEY.fasl | ||
; compilation finished in 0:00:00.008 | ||
; compiling file "/data/x/evl/src/evl-gen.lisp" (written 29 OCT 2024 11:37:52 PM): | ||
. | ||
|
||
; wrote /home/anders/.cache/common-lisp/sbcl-2.4.4-linux-x64/data/x/evl/src/evl-gen-tmpJAIDFZTC.fasl | ||
; compilation finished in 0:00:00.012 | ||
; compiling file "/data/x/evl/src/interp.lisp" (written 29 OCT 2024 09:48:09 PM): | ||
... | ||
|
||
; wrote /home/anders/.cache/common-lisp/sbcl-2.4.4-linux-x64/data/x/evl/src/interp-tmp8V3J6PE9.fasl | ||
; compilation finished in 0:00:00.090 | ||
; compiling file "/data/x/evl/src/code-factory.lisp" (written 29 OCT 2024 09:48:09 PM): | ||
|
||
; file: /data/x/evl/src/code-factory.lisp | ||
; in: DEFUN GEN | ||
; (COND | ||
; ((AND (LISTP EVL/CODE::V) (> (LENGTH EVL/CODE::V) 1)) | ||
; `(VALUES ,@EVL/CODE::V)) | ||
; ((LISTP EVL/CODE::V) (CAR EVL/CODE::V)) (T EVL/CODE::V)) | ||
; --> IF THE | ||
; ==> | ||
; EVL/CODE::V | ||
; | ||
; note: deleting unreachable code | ||
|
||
|
||
; wrote /home/anders/.cache/common-lisp/sbcl-2.4.4-linux-x64/data/x/evl/src/code-factory-tmp9V47YWQF.fasl | ||
; compilation finished in 0:00:00.011 | ||
; | ||
; compilation unit finished | ||
; printed 4 notes | ||
|
||
Evaluation took: | ||
0.229 seconds of real time | ||
0.230028 seconds of total run time (0.169029 user, 0.060999 system) | ||
100.44% CPU | ||
671 forms interpreted | ||
1,081 lambdas converted | ||
977,572,080 processor cycles | ||
80,134,368 bytes consed | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
## `evl/code:gen` | ||
``` | ||
; EVL/CODE:GEN | ||
; [symbol] | ||
; | ||
; GEN names a compiled function: | ||
; Lambda-list: (SIGNS S) | ||
; Derived type: (FUNCTION (T T) (VALUES T &OPTIONAL)) | ||
; Documentation: | ||
; generate new expressions using these | ||
; Source file: /data/x/evl/src/code-factory.lisp | ||
``` | ||
|
||
## `evl/code:signatures` | ||
``` | ||
:missing: | ||
; EVL/CODE:SIGNATURES | ||
; [symbol] | ||
; | ||
; SIGNATURES names a compiled function: | ||
; Lambda-list: (EXPRS &AUX (HT (MAKE-HASH-TABLE TEST (FUNCTION EQUAL)))) | ||
; Derived type: (FUNCTION (T) (VALUES HASH-TABLE &OPTIONAL)) | ||
; Source file: /data/x/evl/src/code-factory.lisp | ||
``` | ||
|
Oops, something went wrong.