Code Monkey home page Code Monkey logo

closette-jscl's People

Contributors

vlad-km avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

closette-jscl's Issues

About setting up

@vlad-km
Hi.
Could you tell me how to set up closette on JSCL?
I'd like to try it before merging it into JSCL.
I'd appreciate your help.

Necessary information about beta release closette-jscl

Preface

In its original form, closette.lisp is not compiled. I am making some changes to the text so that the source texts can be compiled in JSCL. Also, some standard CL functions, that are missing in the current release JSCL, are added (remove-dublicate, union etc.). Will'be added a free interpretation of these functions, where they took, I do not remember.

Debugging and compilation of the package is performed in the environment. interactively in
Morem dev-repl, batch compilations with the use of Moren feature LORES.

I did not make a host compilation (SBCL/CCL), and I dont plan in the foreseeable future. If anyone takes do it, it's will be welcome.

The minimal goal of the project

revive the ancient package, in quality, acceptable for operation in the modern.

The maximum goal

refactor the original, to a level where it can be integrated into the JSCL, as a means of language

Compilation release to get executable code

  • using Moren facilitie LORES. SDF file is in the repository
  • use host-compilation (SBCL / CCL) to get the JS band
  • take the ready JS bandle from the repository

Linking a bandle

If you are working in Moren environment, then after executing the command (lores: qload: closette) you have compiled functions and the closette's environment.

For linking an already prepared bandle, that is located in your directory (moren-electron, jscl-chrome-extension) use the command (require "./closette.js")

Whats next

  • read The Art of the Metaobject Protocol (AMOP) - a complete guide to MOP
  • the file closette-test.lisp from the distribution
    http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/oop/clos/closette/ - a comprehensive` guide to practical use of.

Also

It is necessary to learn that in the implementation of a prototype of a standard class, an infinite object is used. Attempt to printing a results cause an error. Try to avoid such situations. To use the console, use something like a safe. So, type as

(defmacro safe (&rest body) `(prog1 t ,@body))

Also

(defmacro setf* (var &rest expr)
    `(progn
         (if (setf ,var ,@expr) t nil)))

This is a birth traum JSCL, and with this we need to do something. For example, use the depth of viewing of such objects in the system function print. Another way, to mark such objects as non-print.

How much this release is suitable for integration in the JSCL

In this form it is not ready for integration

Good hacking.

Always you,
V.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.