あらすじ

前回、Roswellをインストールしてみようとしたらうまくいかなかったので ソースからコンパイルしてインストールしてみることにします

参考

ここを参考にインストールしていきます github.com

インストール

事前準備

$ sudo apt update
$ sudo apt install gcc automake libcurl4-openssl-dev zlib1g-dev

インストール

$ git clone -b release https://github.com/roswell/roswell.git
$ cd roswell
$ sh bootstrap
$ ./configure
$ make
$ sudo make install

setup

この辺を参考にセットアップ github.com

$ ros
$ ros -- --version
roswell 18.4.10.91(0bd00aa)

$ ros install sbcl
$ ros install sbcl-bin
$ ros install ccl-bin
$ ros use sbcl/1.4.8

備考

hello world

REPL でハローワールド

~$ ros run
* (print "hello world!")

"hello world!" 
"hello world!"
* (exit)

~$

文字列を突っ込んでハローワールド

~$ ros run -e "(princ \"hello world\!\")" -q

ファイルを作る

~$ ros init hello-world

hello-worls.ros ができるのでエディタで開いて編集します

#!/bin/sh
#|-*- mode:lisp -*-|#
#|
exec ros -Q -- $0 "$@"
|#
(progn ;;init forms
  (ros:ensure-asdf)
  ;;#+quicklisp (ql:quickload '() :silent t)
  )

(defpackage :ros.script.hello-world.3738098721
  (:use :cl))
(in-package :ros.script.hello-world.3738098721)

(defun main (&rest argv)
  (declare (ignorable argv))
  
  ;; ここに処理を追加
  (print (format t "~A" "Hello world!"))
  
  )
;;; vim: set ft=lisp lisp:

実行

$ ./hello-world.ros
Hello world!
NIL

バイナリにもできるよ! (ちょっと早くなる)

~$ ros build hello-world.ros

$ ./hello-world
Hello world!
NIL