java/mal.jar
java/target/
java/dependency-reduced-pom.xml
+.npm/
+.node-gyp/
js/mal.js
js/web/mal.js
kotlin/*.jar
python/mal.pyz
r/mal.r
ruby/mal.rb
+.cargo/
rust/target/
rust/Cargo.lock
rust/.cargo
-FROM ubuntu:17.10
+FROM ubuntu:18.04
MAINTAINER Joel Martin <github@martintribe.org>
##########################################################
# For building node modules
RUN apt-get -y install g++
-# Add nodesource apt repo config for 8.X
-RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
+# Add nodesource apt repo config for 10.x stable
+RUN apt-get -y install gnupg
+RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
-# Install nodejs.
+# Install nodejs
RUN apt-get -y install nodejs
+ENV NPM_CONFIG_CACHE /mal/.npm
+
## Install ffi and lumo-cljs modules globally
#RUN npm install -g ffi lumo-cljs
"version": "0.0.1",
"description": "Make a Lisp (mal) language implemented in ClojureScript",
"dependencies": {
- "ffi": "2.2.x",
- "lumo-cljs": "1.7.x"
+ "ffi-napi": "2.4.x",
+ "lumo-cljs": "1.9.x"
}
}
(defproject mal "0.0.1-SNAPSHOT"
:description "Make-A-Lisp"
- :dependencies [[org.clojure/clojure "1.8.0-RC4"]
+ :dependencies [[org.clojure/clojure "1.9.0"]
[org.clojure/tools.reader "0.8.3"]
[net.n01se/clojure-jna "1.0.0"]]
var rlwrap = {}; // namespace for this module in web context
-var ffi = require('ffi'),
+var ffi = require('ffi-napi'),
fs = require('fs');
var rllib = ffi.Library(RL_LIB, {
(ns mal.readline)
-(def readline (.-readline (js/require "./src/mal/node_readline.js")))
+(def readline (.-readline (js/require "../src/mal/node_readline.js")))
-FROM ubuntu:vivid
+FROM ubuntu:18.04
MAINTAINER Joel Martin <github@martintribe.org>
##########################################################
# For building node modules
RUN apt-get -y install g++
-# Add nodesource apt repo config for 0.12 stable
-RUN curl -sL https://deb.nodesource.com/setup_0.12 | bash -
+# Add nodesource apt repo config for 10.x stable
+RUN apt-get -y install gnupg
+RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
# Install nodejs
RUN apt-get -y install nodejs
-# Link common name
-RUN ln -sf nodejs /usr/bin/node
-
ENV NPM_CONFIG_CACHE /mal/.npm
# CoffeeScript specific
-RUN npm install -g coffee-script
+RUN npm install -g coffeescript
RUN touch /.coffee_history && chmod go+w /.coffee_history
rlwrap = {} # namespace for this module in web context
-ffi = require('ffi')
+ffi = require('ffi-napi')
fs = require('fs')
rllib = ffi.Library(RL_LIB, {
"version": "0.0.1",
"description": "Make a Lisp (mal) language implemented in CoffeeScript",
"dependencies": {
- "ffi": "1.3.x",
- "coffee-script": "~1.8"
+ "ffi-napi": "2.4.x",
+ "coffeescript": "~1.8"
}
}
-FROM ubuntu:vivid
+FROM ubuntu:18.04
MAINTAINER Joel Martin <github@martintribe.org>
##########################################################
RUN apt-get -y install g++
# Crystal
-RUN apt-get -y install apt-transport-https
+RUN apt-get -y install apt-transport-https gnupg
RUN curl http://dist.crystal-lang.org/apt/setup.sh | bash
RUN apt-get -y install crystal
-FROM ubuntu:xenial
+FROM ubuntu:18.04
MAINTAINER Joel Martin <github@martintribe.org>
##########################################################
# Specific implementation requirements
##########################################################
-# For building node modules and pulling elm packages
-RUN apt-get -y install g++ netbase
+# For building node modules
+RUN apt-get -y install g++
-# Add nodesource apt repo config for 7.X
-RUN curl -sL https://deb.nodesource.com/setup_7.x | bash -
+# Add nodesource apt repo config for 10.x stable
+RUN apt-get -y install gnupg
+RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
# Install nodejs
RUN apt-get -y install nodejs
+# For pulling elm packages
+RUN apt-get -y install netbase
+
ENV HOME /mal
ENV NPM_CONFIG_CACHE /mal/.npm
var rlwrap = {}; // namespace for this module in web context
-var ffi = require('ffi'),
+var ffi = require('ffi-napi'),
fs = require('fs');
var rllib = ffi.Library(RL_LIB, {
"description": "",
"main": "bootstrap.js",
"dependencies": {
- "ffi": "2.0.x"
+ "ffi-napi": "2.4.x"
},
"devDependencies": {
"elm": "^0.18.0"
-FROM ubuntu:xenial
+FROM ubuntu:18.04
MAINTAINER Joel Martin <github@martintribe.org>
##########################################################
# For building node modules
RUN apt-get -y install g++
-# Add nodesource apt repo config for 7.X
-RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
+# Add nodesource apt repo config for 10.x stable
+RUN apt-get -y install gnupg
+RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
# Install nodejs
RUN apt-get -y install nodejs
-# Link common name
ENV NPM_CONFIG_CACHE /mal/.npm
import { _equal_Q, _clone, _keyword, _keyword_Q } from './types'
import { _list_Q, Vector, _assoc_BANG, Atom } from './types'
import { pr_str } from './printer'
-import { readline } from './node_readline'
+import rl from './node_readline'
+const readline = rl.readline
import { read_str } from './reader'
+import { readFileSync } from 'fs'
function _error(e) { throw new Error(e) }
// String functions
function slurp(f) {
- if (typeof require !== 'undefined') {
- return require('fs').readFileSync(f, 'utf-8')
+ if (typeof process !== 'undefined') {
+ return readFileSync(f, 'utf-8')
} else {
var req = new XMLHttpRequest()
req.open('GET', f, false)
var HISTORY_FILE = require('path').join(process.env.HOME, '.mal-history');
-var ffi = require('ffi'),
+var ffi = require('ffi-napi'),
fs = require('fs');
var rllib = ffi.Library(RL_LIB, {
"version": "0.0.1",
"description": "Make a Lisp (mal) language implemented in ES6 (ECMAScript 6 / ECMAScript 2015)",
"dependencies": {
- "@std/esm": "^0.11.0",
- "ffi": "2.0.x"
+ "esm": "3.0.x",
+ "ffi-napi": "2.4.x"
},
- "@std/esm": {
+ "esm": {
"cjs": true
}
}
#!/bin/bash
-exec node -r @std/esm $(dirname $0)/${STEP:-stepA_mal}.mjs "${@}"
+exec node -r esm $(dirname $0)/${STEP:-stepA_mal}.mjs "${@}"
-import { readline } from './node_readline'
+import rl from './node_readline.js'
+const readline = rl.readline
// read
const READ = str => str
-import { readline } from './node_readline'
+import rl from './node_readline.js'
+const readline = rl.readline
import { BlankException, read_str } from './reader'
import { pr_str } from './printer'
-import { readline } from './node_readline'
+import rl from './node_readline.js'
+const readline = rl.readline
import { _list_Q } from './types'
import { BlankException, read_str } from './reader'
import { pr_str } from './printer'
-import { readline } from './node_readline'
+import rl from './node_readline.js'
+const readline = rl.readline
import { _list_Q } from './types'
import { BlankException, read_str } from './reader'
import { pr_str } from './printer'
-import { readline } from './node_readline'
+import rl from './node_readline.js'
+const readline = rl.readline
import { _list_Q } from './types'
import { BlankException, read_str } from './reader'
import { pr_str } from './printer'
-import { readline } from './node_readline'
+import rl from './node_readline.js'
+const readline = rl.readline
import { _list_Q, _malfunc, _malfunc_Q } from './types'
import { BlankException, read_str } from './reader'
import { pr_str } from './printer'
-import { readline } from './node_readline'
+import rl from './node_readline.js'
+const readline = rl.readline
import { _list_Q, _malfunc, _malfunc_Q } from './types'
import { BlankException, read_str } from './reader'
import { pr_str } from './printer'
-import { readline } from './node_readline'
+import rl from './node_readline.js'
+const readline = rl.readline
import { _list_Q, _malfunc, _malfunc_Q } from './types'
import { BlankException, read_str } from './reader'
import { pr_str } from './printer'
-import { readline } from './node_readline'
+import rl from './node_readline.js'
+const readline = rl.readline
import { _list_Q, _malfunc, _malfunc_Q } from './types'
import { BlankException, read_str } from './reader'
import { pr_str } from './printer'
-import { readline } from './node_readline'
+import rl from './node_readline.js'
+const readline = rl.readline
import { _list_Q, _malfunc, _malfunc_Q } from './types'
import { BlankException, read_str } from './reader'
import { pr_str } from './printer'
-import { readline } from './node_readline'
+import rl from './node_readline.js'
+const readline = rl.readline
import { _list_Q, _malfunc, _malfunc_Q } from './types'
import { BlankException, read_str } from './reader'
import { pr_str } from './printer'
-FROM ubuntu:vivid
+FROM ubuntu:18.04
MAINTAINER Joel Martin <github@martintribe.org>
##########################################################
# For building node modules
RUN apt-get -y install g++
-# Add nodesource apt repo config for 0.12 stable
-RUN curl -sL https://deb.nodesource.com/setup_0.12 | bash -
+# Add nodesource apt repo config for 10.x stable
+RUN apt-get -y install gnupg
+RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
# Install nodejs
RUN apt-get -y install nodejs
-# Link common name
-RUN ln -sf nodejs /usr/bin/node
-
ENV NPM_CONFIG_CACHE /mal/.npm
var rlwrap = {}; // namespace for this module in web context
-var ffi = require('ffi'),
+var ffi = require('ffi-napi'),
fs = require('fs');
var rllib = ffi.Library(RL_LIB, {
"version": "0.0.1",
"description": "Make a Lisp (mal) language implemented in Haxe/Javascript",
"dependencies": {
- "ffi": "1.3.x"
+ "ffi-napi": "2.4.x"
}
}
-FROM ubuntu:vivid
+FROM ubuntu:18.04
MAINTAINER Joel Martin <github@martintribe.org>
##########################################################
# For building node modules
RUN apt-get -y install g++
-# Add nodesource apt repo config for 0.12 stable
-RUN curl -sL https://deb.nodesource.com/setup_0.12 | bash -
+# Add nodesource apt repo config for 10.x stable
+RUN apt-get -y install gnupg
+RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
# Install nodejs
RUN apt-get -y install nodejs
-# Link common name
-RUN ln -sf nodejs /usr/bin/node
-
ENV NPM_CONFIG_CACHE /mal/.npm
-
var rlwrap = {}; // namespace for this module in web context
-var ffi = require('ffi'),
+var ffi = require('ffi-napi'),
fs = require('fs');
var rllib = ffi.Library(RL_LIB, {
"version": "0.0.1",
"description": "Make a Lisp (mal) language implemented in Javascript",
"dependencies": {
- "ffi": "2.0.x"
+ "ffi-napi": "2.4.x"
}
}
-FROM ubuntu:xenial
+FROM ubuntu:18.04
MAINTAINER Joel Martin <github@martintribe.org>
##########################################################
# For building node modules
RUN apt-get -y install g++
-# Add nodesource apt repo config for 7.X
-RUN curl -sL https://deb.nodesource.com/setup_7.x | bash -
+# Add nodesource apt repo config for 10.x stable
+RUN apt-get -y install gnupg
+RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
# Install nodejs
RUN apt-get -y install nodejs
ENV NPM_CONFIG_CACHE /mal/.npm
-
var rlwrap = {}; // namespace for this module in web context
-var ffi = require('ffi'),
+var ffi = require('ffi-napi'),
fs = require('fs');
var rllib = ffi.Library(RL_LIB, {
"description": "",
"main": "index.js",
"dependencies": {
- "ffi": "2.0.x",
+ "ffi-napi": "2.4.x",
"prelude-ls": "^1.1.2"
},
"devDependencies": {
- "livescript": "^1.5.0"
+ "livescript": "^1.6.0"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
-FROM ubuntu:xenial
+FROM ubuntu:18.04
MAINTAINER Joel Martin <github@martintribe.org>
##########################################################
# For building node modules
RUN apt-get -y install g++
-# Add nodesource apt repo config for 7.X
-RUN curl -sL https://deb.nodesource.com/setup_7.x | bash -
+# Add nodesource apt repo config for 10.x stable
+RUN apt-get -y install gnupg
+RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
# Install nodejs
RUN apt-get -y install nodejs
-# Link common name
-RUN ln -sf nodejs /usr/bin/node
-
ENV NPM_CONFIG_CACHE /mal/.npm
# install miniMAL
var rlwrap = {}; // namespace for this module in web context
-var ffi = require('ffi'),
+var ffi = require('ffi-napi'),
fs = require('fs');
var rllib = ffi.Library(RL_LIB, {
"description": "Make a Lisp (mal) language implemented in miniMAL",
"dependencies": {
"minimal-lisp": "1.0.2",
- "ffi": "2.0.x"
+ "ffi-napi": "2.4.x"
}
}
-FROM ubuntu:xenial
+FROM ubuntu:18.04
MAINTAINER Joel Martin <github@martintribe.org>
##########################################################
# Specific implementation requirements
##########################################################
-RUN apt-get -y install build-essential
-RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
+# For building node modules
+RUN apt-get -y install g++
+
+# Add nodesource apt repo config for 10.x stable
+RUN apt-get -y install gnupg
+RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
+
+# Install nodejs
RUN apt-get -y install nodejs
ENV NPM_CONFIG_CACHE /mal/.npm
import * as path from "path";
-import * as ffi from "ffi";
+import * as ffi from "ffi-napi";
import * as fs from "fs";
// IMPORTANT: choose one
"test:stepA": "cd .. && make 'test^ts^stepA'"
},
"dependencies": {
- "ffi": "^2.2.0"
+ "ffi-napi": "^2.4.0"
},
"devDependencies": {
- "@types/ffi": "0.0.19",
+ "@types/ffi-napi": "2.4.0",
"@types/node": "^7.0.5",
"typescript": "^2.2.1",
"typescript-formatter": "^4.1.2"