rjs | 31 Jan 19:38
Picon
Picon

Macros

Is there anything special that needs to be done to add a macro to the system ?

I'm trying to add the COLLECT macro from CMUCL to Movitz as it is used by
the CMUCL pathnames code. The macro uses two helper functions which I am also
trying to add.

I have listed all three as members of the muerte package in
movitz/movitz/packages.lisp and tried building both with and without importing
the symbols into the movitz package.

Whatever I do Movitz complains that the helper functions are undeclared.

I started out with the three in a new file, but couldn't get Movitz to compile
it so have put them just before the pathnames code that should use them.

Robert Swindells

Krzysztof Drewniak | 24 Dec 20:48
Picon
Gravatar

What need hacking?

I'm not what you'd call an "experienced" coder, but I know some lisp and
can learn some x86 low-levelness if need be. I have looked around the
page and haven't been able to fixuge out what need doing, so if there's
anything that needs to get done, could y'all please provide some
pointers and I'll take a crack at it.

Krzysztof Drewniak
--

-- 
X-Real-Email-With-Antispam: krzysdrewniak at gmail dot com
pgp key on keyserver.ubuntu.com 94F02AE8

Semion Prihodko | 18 Aug 14:50
Picon

Lisp compilation principles and SBCL internals

Hi guys,


I'm a developer who likes to learn more about SBCL runtime internals.
Being on very early stages of new OS development I need to understand is
it worthy to build OS on top of lispy runtime. I see lisp-like language
as a main system language (like C language in Unix-like systems), so I
need to know if replacing ordinal stack / register virtual machine (I
prefer a managed environment) by a lisp runtime virtual machine will
make programs run more efficient?


I will describe my view. Let's imagine lisp runtime operating with
machine size numbers (arbitrary size numbers are on a layer above),
explicitly supporting arrays, different VOPs, etc. On the layer above
there is a main lispy language compiler. The question is the following:
will the lisp runtime playing the part of a virtual machine be worth to
base on (supposing that main language compiler will be able to pass
intermediate code to it more preserving original semantics for
optimization purposes compared to ordinal stack / register virtual
machine)?


My substantial lack of knowledge about modern lisp compilation forces me
to ask another, maybe stupid question. Is the lisp compilers at general
embed a minimal interpreter to compiled code? I mean, when I define a
function with some work flow (conditions, recursion, etc) is it
interpreted on the low level (of course, with some VOP blocks of machine
code inlined and some optimization transformations applied)? Under
interpretation I understand the process that flow in lisp processors
(chips), well described in the following white paper: “Design of
LISP-Based Processors or, SCHEME: A Dielectric LISP or, Finit Memories
Considered Harmful or, LAMBDA: Ultimate Opcode” by Guy Lewis Steele Jr.
and Gerald Jay Sussman.

Thanks in advance.
Burton Samograd | 23 Jul 06:14
Picon
Gravatar

Booting LOS0 Failure

Hi,

I've been a bit interested in movitz again lately, so I downloaded the
git sources and compiled and dumped LOS0 using CLISP 2.48.  This all
went well, but when I tried to run the image I got the following:

http://imgur.com/A8Iwl

I tried looking through the code to see what happened, but the most I
could come up with was that maybe *all-process* was empty during the
call to (LIB::CURRENT-PROCESS).  Other than that I'm stumped.

Any idea what is happening?

--
Burton Samograd

rjs | 12 May 18:46
Picon
Picon

loop


The LOOP macro doesn't seem to create a NIL block.

I'm trying to add some code from CMUCL to Movitz that expects to be
able to (RETURN NIL) from within a LOOP.

I have tried comparing loop.lisp with the equivalents in CMUCL and
SBCL but can't see what is causing the problem.

Robert Swindells

Willem Broekema | 28 Nov 10:18
Picon

unfold-circular-list

There's a bug in unfold-circular-list, in that it calls subseq on a
circular list: subseq is defined as taking a "proper sequence". Below
is a patch.
- Willem

diff --git a/parse.lisp b/parse.lisp
index 4ee75b9..ab711b9 100644
--- a/parse.lisp
+++ b/parse.lisp
@@ -46,7 +46,7 @@
     (loop for x on list as i upfrom 0
 	as cdr-index = (find-cdr list (cdr x) i)
 	until cdr-index
-	finally (return (values (subseq list 0 (1+ i))
+	finally (return (values (loop repeat (1+ i) collect (pop list))
 				cdr-index)))))

 (defun symbol-package-fix-cl (symbol)

Ram Vedam | 27 Nov 05:16
Picon

Filesystem question

Hi,

I tried creating an image with the ext2fs.lisp file that is inside the tmp directory to see to what degree has the filesystem being implemented, and when I boot into the image using QEMU, the image just goes into an endless cycle of rebooting. Has anyone had any luck trying to create an image using this port of ext2? If so, besides the endless rebooting (which I'm currently trying to figure out how to deal with) are there any other known issues or is it just that it isn't completed?

Ram

Ram Vedam | 21 Nov 20:11
Picon

compiling LiCE for Movitz

I don't know if there is a lice-devel mailing list so I thought I post this here and get pointed in the right direction. I downloaded and tried compiling LiCE for movitz, but it would seem that the new version requires a couple of macros to be implemented inside Movitz before it can successfully hook into it. My question is: has anyone tried compiling the new version of LiCE on the movitz platform and if so what sort of issues are you having? Currently, I'm compiling a movitz image using SBCL and it is complaining that "WITH-OPEN-FILE is not implemented yet". Is anyone else having this problem?

Ram

rjs | 8 Nov 22:59
Picon
Picon

Build problem

I am having problems building a Movitz image, with SBCL (and CMUCL) I
get the following error when compiling memref.lisp.

I can't see anything wrong with the code itself but it looks as if
an 'ECASE form within another one isn't being expanded properly.

There was a change to basic-macros.lisp in July, are there some other
diffs waiting to be committed ?

Robert Swindells

;; While Movitz compiling MEMREF in losp/muerte/memref.lisp:

debugger invoked on a COMMON-LISP:SIMPLE-ERROR:
  Don't know how to compile compound form ((HOST LITTLE)
                                           (MEMREF OBJECT OFFSET INDEX INDEX
                                            TYPE UNSIGNED-BYTE16 ENDIAN LITTLE
                                            PHYSICALP T))

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [RETRY-FUNOBJ      ] Retry compilation of MEMREF.
  1: [SKIP-TOPLEVEL-FORM] Skip the compilation of top-level form DEFUN MEMREF.
  2: [RETRY             ] Restart Movitz compilation of "losp/muerte/memref.lisp".
  3: [CONTINUE          ] Skip Movitz compilation of "losp/muerte/memref.lisp".
  4:                      Skip the compilation of top-level form REQUIRE MUERTE/MEMREF.
  5:                      Restart Movitz compilation of "losp/muerte/common-lisp.lisp".
  6:                      Skip Movitz compilation of "losp/muerte/common-lisp.lisp".
  7:                      Skip the compilation of top-level form REQUIRE MUERTE/COMMON-LISP.
  8:                      Restart Movitz compilation of "losp/common-lisp.lisp".
  9:                      Skip Movitz compilation of "losp/common-lisp.lisp".
 10:                      Skip the compilation of top-level form REQUIRE COMMON-LISP.
 11:                      Restart Movitz compilation of #P"losp/los0.lisp".
 12:                      Skip Movitz compilation of #P"losp/los0.lisp".
 13: [ABORT             ] Exit debugger, returning to top level.

(MOVITZ::COMPILE-CONS
 ((:HOST :LITTLE)
  (MEMREF OBJECT OFFSET :INDEX INDEX :TYPE :UNSIGNED-BYTE16 :ENDIAN :LITTLE
   :PHYSICALP T))
 #<MOVITZ::MOVITZ-FUNOBJ-PASS1 MEMREF {61A6F169}>
 #<MOVITZ::WITH-THINGS-ON-STACK-ENV {61BB04A9}>
 NIL
 :EBX
 NIL)
0] 

Jason Cady | 16 Oct 12:32
Picon
Gravatar

Movtiz License Idea - CC0

Greetings,

There is a public domain style license called CC0 (Creative Common
Zero) that you might be interested in using for movitz related code.
It applies better to parts of the world that don't have a concept of
'public domain' & require jumping through several legal hoops to get a
similar effect, or even don't allow waiving of copyright.

If you choose CC0 for movitz stuff please, or explicitly reject it
please let me know.

Here are some links:
http://creativecommons.org/about/cc0
http://wiki.creativecommons.org/CC0_FAQ
http://creativecommons.org/publicdomain/zero/1.0/
http://creativecommons.org/choose/zero

I am making a new CC0 licensed termite
scheme/clojure/smalltalk/haskell/erlang style programming language
that I hope to make a CC0 licensed operating system with.

Ram Vedam | 13 Jun 00:11
Picon

Threading Model and Parallelization Model inside Movitz

I was wondering if the threading.lisp file inside the losp/ directory represents base threading model that Movitz is planning on supporting... Also, is there an overarching design already in the works or is this an area that still needs to be worked on?

Ram


Gmane