File: top.lisp

package info (click to toggle)
acl2 8.5dfsg-5
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 991,452 kB
  • sloc: lisp: 15,567,759; javascript: 22,820; cpp: 13,929; ansic: 12,092; perl: 7,150; java: 4,405; xml: 3,884; makefile: 3,507; sh: 3,187; ruby: 2,633; ml: 763; python: 746; yacc: 723; awk: 295; csh: 186; php: 171; lex: 154; tcl: 49; asm: 23; haskell: 17
file content (67 lines) | stat: -rw-r--r-- 2,494 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
; Java Library
;
; Copyright (C) 2021 Kestrel Institute (http://www.kestrel.edu)
;
; License: A 3-clause BSD license. See the LICENSE file distributed with ACL2.
;
; Author: Alessandro Coglio (coglio@kestrel.edu)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(in-package "JAVA")

(include-book "xdoc/constructors" :dir :system)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(defxdoc aij
  :parents (java)
  :short "AIJ (<b>A</b>CL2 <b>I</b>n <b>J</b>ava)
          is a deep embedding of ACL2 in Java."
  :long
  (xdoc::topstring
   (xdoc::p
    "AIJ is a deep embedding in Java
     of an executable, side-effect-free, non-stobj-accessing
     subset of the ACL2 language without guards.")
   (xdoc::p
    "AIJ is realized as a Java package that includes
     Java representations of all the ACL2 values,
     Java implementations of all the ACL2 primitive functions,
     and an interpreter that evaluates
     ACL2 "
    (xdoc::seetopic "acl2::term" "translated terms")
    " to ACL2 values.
     The interpreter evaluates terms ``in the logic'',
     without "
    (xdoc::seetopic "acl2::guard-checking" "checking guards")
    " and without side effects.
     The interpreter evaluates @(tsee if) non-strictly.
     The interpreter can be invoked only on
     (Java representations of) concrete ACL2 values,
     not on global variables
     like @(tsee state) and user-defined "
    (xdoc::seetopic "acl2::stobj" "stobjs")
    ".")
   (xdoc::p
    "AIJ is in the @('java') subdirectory of this directory,
     which contains an "
    (xdoc::ahref "https://www.jetbrains.com/idea" "IntelliJ IDEA")
    " project.
     The Java code is thoroughly documented with Javadoc.
     AIJ is in a Java package called @('edu.kestrel.acl2.aij').")
   (xdoc::p
    "The Java source files of AIJ may be edited either in IntelliJ IDEA
     or in a text editor like Emacs.
     These source files can be compiled either in IntelliJ IDEA
     or via the @('Makefile') file in this directory,
     which generates class and jar files in the same place
     where IntelliJ IDEA does.
     This @('Makefile') also generates Javadoc HTML documentation.")
   (xdoc::p
    "AIJ is written in Java 8,
     which means that it can be compiled
     using a compiler for Java 8 or later.
     The aforementioned @('Makefile') assumes that
     a Java 8 (or later) compiler and related tools (e.g. the latest OpenJDK)
     is in the path.")))