Code Monkey home page Code Monkey logo

moren-electron's Introduction

Moren

Moren environment

Moren environment created for rapidly programming and prototyping programs on JSCL language (subset of Common Lisp) in Electron.

Moren - reduction of the from moraine-morena (geological phenomenon). The ancient moraines, formed the geological landscape of the contemporary world. Lisp, also, as an ancient moraines, has identified the tectonics of the modern programming languages. When we see the increasingly popular programming language, we see in him the contours of Lisp tectonics.

Status

Under development. May be any changes.

Concept

To compile the programs, it is no longer necessary to use the host compiler (ccl/sbcl and JSCL), all compilations are performed in the environment, regardless of the presence of the Common Lisp compiler. In other words, now you do not need to learn, install and configure the Common Lisp compilation environment.

Moren, an environment that allows you to compile yourself step by step. All the components of the environment included in this version are compiled in it, without the use of a host compiler. The only component for which the host compiler is used (Clozure Common Lisp Version 1.11-r16635 WindowsX8664) is jscl.js with some fixes in the original code (watch git vald-km/jscl branch prod for more details).

Moren environment contains all the minimum functionality. Other additions, as necessary, can be developed and debugged in Moren, and added on fly

Custom applications (desktop application) and extensions for browsers (Chrome) are also developed and debugged in the environment on fly

All the necessary libraries and components (JavaScripts, JSCL) are added to the development environment also on fly

For use in the programs, all the functionality provided by Node and Chrome is available.

The final application can be ported to a single bundle for use in a browser, or as a desktop application (use Electron facilities).

Components

  • MOREN - Moren environment REPL based on: KLIB, LORES, LESTRADE

  • KLIB - addition JSCL functions (like simple generic functions, structures), interaction with the Chromium (DOM, HTML, String, Array) and others

  • GENERIC - simple generic function, part of KLIB

  • DOM - DOM manipulation functions, part of KLIB

  • HTML - HTML tags definition. Part of KLIB

  • LORES - is a tool, designed to help developers deal with large programs contained in multiple files (system) and her compilation

  • LORESDOC - is tool for creating documentation templates

  • LESTRADE - is a object Inspector

  • CME - built-in editor

  • REPL - contains all need bundles and folder structures for instalation and use Moren environment repl

  • SDF - collection system definition files for each components (lores:defsys syntax)

Documentation

See the readme for each component and the sections of the wiki. Will be addition as they available, asap.

Installation

Just copy REPL folder to you computer and follow the steps in the installation instructions (readme in REPL)

Copyright

Copyright © 2017 Vladimir Mezentsev

License

GNU General Public License v3.0

moren-electron's People

Contributors

vlad-km avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

moren-electron's Issues

lores:reset

the command must:

  • zeroing out of a all sdf from systems table
  • delete only the specified sdf from the table

release

(lores:reset)
(lores:reset :the-sdf)

lores:modlink - add new mode with key :boot

preface

  • self-starting bundle has one boot function named "any name"
  • modlink when assembling a bandle, receives the symbol of such a function (or lambda). this symbol is added by the last function: (fancall symbol) last in bundle.

source file

(defvar a)
(defparameter b nil)
(defun stage1 () ...)
(defun stage2 () ...)
(defun boot-me()
   (stage1)
   (stage2)
   (setq a <anything>))

bundle structure

(jsheader () {
   (js-code <defvar>)
   (js-code <defparameter>)
   (js-code <stage1>)
   (jscode <stage2>)
   (jscode <boot-me>)
   ;;; next added by key :boot
   (js-code <funcall <boot-me>)}
(jstail)();

modlink key

  • modlink :sysname "sysname.js" :boot 'boot-me | :boot-me

It doesn't launch on mac OS

@vlad-km
I use mac OS.

$ cd repl
$ npm install
$ npm start 
   or 
$ electron .

After setting up, the electron window comes up, but the screen is black...

Could you give me some advise?

I'd appreciate your help.

main process script

should be written on the JSCL
today, only the rendering process is written in lisp

Incorrect work das:method

the method

(das:method name (t))

must be declared first.
if it is violated - incorrect sorting of signatures

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.