From 90889a692076f2c62486607d0354e0fca52364bc Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 20 Feb 2017 00:05:40 -0800 Subject: Import Upstream version 5e5 --- scmhob.scm | 62 +++++++++----------------------------------------------------- 1 file changed, 9 insertions(+), 53 deletions(-) (limited to 'scmhob.scm') diff --git a/scmhob.scm b/scmhob.scm index c1912c5..6c5fa9f 100644 --- a/scmhob.scm +++ b/scmhob.scm @@ -1,56 +1,12 @@ -;==================================================================== -; -; scmhob.scm defines several procedures recognized -; by the hobbit compiler as primitives, but not defined in scm or slib. -; -; Use scmhob when running code (meant for compilation by -; hobbit) under interpreter. Never compile scmhob.scm! -; -; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997 Tanel Tammet -; tammet@cs.chalmers.se -; -; version 5x -; -; This program is free software; you can redistribute it and/or modify -; it under the terms of the GNU General Public License as published by -; the Free Software Foundation; either version 1, or (at your option) -; any later version. -; -; This program is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. -; -; You should have received a copy of the GNU General Public License -; along with this program; if not, write to the Free Software -; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. -; -;==================================================================== +;;;; "scmhob.scm" Scheme runtime support for hobbit. +;For interpretation of code meant for compilation by hobbit. Never compile! ; bitwise operations: logical shift left and logical shift right - -(define (logsleft x y) (ash x y)) -(define (logsright x y) (ash x (- 0 y))) - -(define logical:logand logand) -(define logical:logior logior) -(define logical:logxor logxor) -(define logical:lognot lognot) - +(define (logsleft x y) (ash x y)) (define (logsright x y) (ash x (- 0 y))) +(define logical:logand logand) (define logical:logior logior) +(define logical:logxor logxor) (define logical:lognot lognot) ; immediate-integer (30-bit signed int) versions of arithmetic primitives: - -(define %eqv? eqv?) -(define %zero? zero?) -(define %negative? negative?) -(define %positive? positive?) -(define %number? number?) -(define %= =) -(define %< <) -(define %> >) -(define %<= <=) -(define %>= >=) -(define %+ +) -(define %- -) -(define %* *) -(define %/ /) - +(define %number? number?) (define %eqv? eqv?) (define %zero? zero?) +(define %negative? negative?) (define %positive? positive?) +(define %= =) (define %< <) (define %> >) (define %<= <=) (define %>= >=) +(define %+ +) (define %- -) (define %* *) (define %/ /) -- cgit v1.2.3