From: cr88192
Subject: ot/flog: a lisp of mine
Date: 
Message-ID: <vqo41vfp8nnd6c@corp.supernews.com>
basically I am posting to indicate to anyone in this group (who still
actually remembers me, though it has been quite long since I have been
anywhere near a regular poster...).

quite some time ago (earlier last year or something) I started on a scheme
implementation, which has now mutated a bit far from scheme (but it is still
a lisp in my oppinion, despite the current use of a non-s-expr syntax...).

recently I have written a compiler (around last week I think...).
many of the interpreted features are currently broke, and a new set of
issues came up with compiling...

I added a ffi and the ability to inline c code (partly because there are
still problems with the ffi...).

overview:
scheme based core;
prototype object system (recently with a notable design change, improved
delegation semantics, ...);
had erlang style processes/message passing (broke with the compiler for
now);
had stronger adherence to the "everything is an object" ideal, or at least:
things respond to messages as long as the message makes sense for that
object and it knows what to do with them (presently broke as well, only a
few things currently accept messages);
had fairly transparent networking (would need to be reimplemented in the
runtime), basically message passing could be used, and objects were
copied/mirrored/passed by reference as needed w/o coder intervention;
at present I am lacking a gc (could be reused from my other code though);
continuations are broke as well;
...

recently I had also done some os coding. the idea is that eventually I will
be able to run code written in my lang on top of my os (broke with a recent
design change, eg: going to a more conventional binaries/processes based
design as opposed to a central interpreter);
current code is c based, and has to live with my somewhat buggy/incomplete
c-library...
basic net stuff is in place (ip/tcp/udp/icmp/...).
I have support for the rtl8139 chipset (at least for the dfe530tx+...).


ok, I know all this is pretty lame and there is no real practical reason for
anyone to give a crap, but in case anyone wants to look at source or
whatever links can be found in my sig. lbcc is the compiler, bgbos1 is the
os.

vmsys was a project, ie: me working on the interpreter/gui/net stuff/...
basically vmsys is what I might try to achieve with my compiler/os, but on a
larger/grander scale...

here is a fragment from a bit of code I was writing (intended to be another
recreation of the gui), but I got bogged down with implementing the ffi and
inline c stuff. it also demonstrates the current syntax I am using...

---
c-top "#include <GL/gl.h>"

extern-fcn guic-init "GuiC_Init" ()
extern-fcn guic-begin-frame "GuiC_BeginFrame" ()
extern-fcn guic-end-frame "GuiC_EndFrame" ()
extern-fcn draw-square "Draw_Square" ((x int) (y int) (w int) (h int)) int
//extern-fcn gl-color-4f "glColor4f" ((r float) (g float) (b float) (a
float)) int

extern-fcn draw-disable-textures "Draw_DisableTextures" ()
extern-fcn draw-enable-textures "Draw_EnableTextures" ()
extern-fcn draw-color-rgba "Draw_ColorRGBA" ((r int) (g int) (b int) (a
int)) int

print "GUIC\n"

guic-init

rlet f ((i 1))
{
 print "frame " i "\n"
// print "hello \"hello 2\" hello 3\n"
 guic-begin-frame

 draw-disable-textures
// draw-color-rgba 255 0 0 255
 c-inline "glColor4f(1, 0, 0, 1);"
 c-inline "printf(\"f2 %f\\n\", " (i float) ");"
 draw-square 0 0 320 240
 draw-enable-textures

 guic-end-frame
 f (i + 1)
}
---

I don't have any good fragments demonstrating my object system, but I do
have a short one...
---
define obj (root-obj clone:)

print "obj " obj "\n"

obj 'x 3
obj 'y 4
print "xy " (+ obj.x obj.y) "\n"
---

all for now.

--
cr88192 at hotmail dot com
http://sourceforge.net/projects/bgb-sys/
http://bgb-sys.sourceforge.net/