-
Notifications
You must be signed in to change notification settings - Fork 86
Using Emacs
Emacs is often used for interactive development and debugging of Scheme and LISP programs. LambdaNative includes support for this through the ln_repl
module.
To install the Emacs modes and configure emacs for use with LambdaNative, use the following command in the lambdanative framework directory:
make .emacs
This will create or update the system .emacs file automatically. LambdaNative uses quack
, paredit
and scheme-complete
to provide a rich development environment within Emacs, including REPL, bracket management, syntax highlighting and tab completion.
To use the Emacs REPL mode, simply include the ln_repl
module in the app MODULES
file.
Step 1. Configure emacs (only needed once)
> make .emacs
..
Step 2. Modify the default MODULES
file in DemoRedSquare to include ln_repl
> cat apps/DemoRedSquare/MODULES
config eventloop ln_core ln_glcore ln_glgui ln_repl
Step 3. Make the app for the localhost
./configure DemoRedSquare
make
make install
The ln_repl
module automatically creates a TCP-based REPL on port 7000. The system may prompt to allow this when the app starts.
Step 4. Launch Emacs, and start a REPL by typing META-x run-scheme
. A REPL will now appear in the scheme buffer:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
----
LambdaNative REPL
DemoRedSquare 1.0
Built 2015-10-07 09:51:12 (00h 00m 22s ago)
> (+ 1 2)
3
-
- accelerometer
- alist
- audio
- audioaux
- base64
- btle-scan
- camera
- cdb
- cgi
- config
- csv
- curl
- digest
- dmtx
- download
- eventloop
- fcgi
- fft
- generalized-arrays
- gps
- graph
- gyro
- hidapi
- hpdf
- html
- httpsclient
- hybridapp
- json
- lmdb
- ln_core
- ln_glcore
- ln_glgui
- ln_store
- localization
- localization_gui
- localnotification
- magnetometer
- mdns
- mqtt
- mqtt-store
- multitouch
- oauth
- orientation
- p256ecdsa
- png
- portaudio
- pregexp
- pressure
- prime
- pushnotification
- redcap
- rsa
- rtaudio
- rupi
- rotation
- sanestring
- scheduler
- serial
- sets
- settings
- simplexnoise
- sqlite
- ssax
- syntax-case
- timestamp
- ttf
- uiform
- url
- uuid
- vibrate
- videoplayer
- watchdog
- website
- xml
- zip