Added (port?)

This commit is contained in:
Justin Ethier 2015-06-11 22:57:00 -04:00
parent a704d72f1b
commit 25f02522d5
5 changed files with 17 additions and 2 deletions

View file

@ -512,6 +512,7 @@
((eq? p 'integer?) "Cyc_is_integer") ((eq? p 'integer?) "Cyc_is_integer")
((eq? p 'pair?) "Cyc_is_cons") ((eq? p 'pair?) "Cyc_is_cons")
((eq? p 'procedure?) "Cyc_is_procedure") ((eq? p 'procedure?) "Cyc_is_procedure")
((eq? p 'port?) "Cyc_is_port")
((eq? p 'vector?) "Cyc_is_vector") ((eq? p 'vector?) "Cyc_is_vector")
((eq? p 'string?) "Cyc_is_string") ((eq? p 'string?) "Cyc_is_string")
((eq? p 'eof-object?) "Cyc_is_eof_object") ((eq? p 'eof-object?) "Cyc_is_eof_object")

View file

@ -280,6 +280,7 @@
(list 'real? real?) (list 'real? real?)
(list 'integer? integer?) (list 'integer? integer?)
(list 'pair? pair?) (list 'pair? pair?)
(list 'port? port?)
(list 'procedure? procedure?) (list 'procedure? procedure?)
(list 'vector? vector?) (list 'vector? vector?)
(list 'string? string?) (list 'string? string?)

View file

@ -606,6 +606,11 @@ object Cyc_is_vector(object o){
return boolean_t; return boolean_t;
return boolean_f;} return boolean_f;}
object Cyc_is_port(object o){
if (!nullp(o) && !is_value_type(o) && ((list)o)->tag == port_tag)
return boolean_t;
return boolean_f;}
object Cyc_is_string(object o){ object Cyc_is_string(object o){
if (!nullp(o) && !is_value_type(o) && ((list)o)->tag == string_tag) if (!nullp(o) && !is_value_type(o) && ((list)o)->tag == string_tag)
return boolean_t; return boolean_t;
@ -1143,6 +1148,8 @@ void _pair_127(object cont, object args) {
return_funcall1(cont, Cyc_is_cons(car(args))); } return_funcall1(cont, Cyc_is_cons(car(args))); }
void _procedure_127(object cont, object args) { void _procedure_127(object cont, object args) {
return_funcall1(cont, Cyc_is_procedure(car(args))); } return_funcall1(cont, Cyc_is_procedure(car(args))); }
void _port_127(object cont, object args) {
return_funcall1(cont, Cyc_is_port(car(args))); }
void _vector_127(object cont, object args) { void _vector_127(object cont, object args) {
return_funcall1(cont, Cyc_is_vector(car(args))); } return_funcall1(cont, Cyc_is_vector(car(args))); }
void _string_127(object cont, object args) { void _string_127(object cont, object args) {
@ -1949,6 +1956,7 @@ static primitive_type real_127_primitive = {primitive_tag, "real?", &_real_127};
static primitive_type integer_127_primitive = {primitive_tag, "integer?", &_integer_127}; static primitive_type integer_127_primitive = {primitive_tag, "integer?", &_integer_127};
static primitive_type pair_127_primitive = {primitive_tag, "pair?", &_pair_127}; static primitive_type pair_127_primitive = {primitive_tag, "pair?", &_pair_127};
static primitive_type procedure_127_primitive = {primitive_tag, "procedure?", &_procedure_127}; static primitive_type procedure_127_primitive = {primitive_tag, "procedure?", &_procedure_127};
static primitive_type port_127_primitive = {primitive_tag, "port?", &_port_127};
static primitive_type vector_127_primitive = {primitive_tag, "vector?", &_vector_127}; static primitive_type vector_127_primitive = {primitive_tag, "vector?", &_vector_127};
static primitive_type string_127_primitive = {primitive_tag, "string?", &_string_127}; static primitive_type string_127_primitive = {primitive_tag, "string?", &_string_127};
static primitive_type symbol_127_primitive = {primitive_tag, "symbol?", &_symbol_127}; static primitive_type symbol_127_primitive = {primitive_tag, "symbol?", &_symbol_127};
@ -2054,6 +2062,7 @@ const object primitive_integer_127 = &integer_127_primitive;
const object primitive_pair_127 = &pair_127_primitive; const object primitive_pair_127 = &pair_127_primitive;
const object primitive_procedure_127 = &procedure_127_primitive; const object primitive_procedure_127 = &procedure_127_primitive;
const object primitive_string_127 = &string_127_primitive; const object primitive_string_127 = &string_127_primitive;
const object primitive_port_127 = &port_127_primitive;
const object primitive_vector_127 = &vector_127_primitive; const object primitive_vector_127 = &vector_127_primitive;
const object primitive_symbol_127 = &symbol_127_primitive; const object primitive_symbol_127 = &symbol_127_primitive;
const object primitive_current_91input_91port = &current_91input_91port_primitive; const object primitive_current_91input_91port = &current_91input_91port_primitive;

View file

@ -119,6 +119,7 @@ object Cyc_is_number(object o);
object Cyc_is_real(object o); object Cyc_is_real(object o);
object Cyc_is_integer(object o); object Cyc_is_integer(object o);
object Cyc_is_vector(object o); object Cyc_is_vector(object o);
object Cyc_is_port(object o);
object Cyc_is_symbol(object o); object Cyc_is_symbol(object o);
object Cyc_is_string(object o); object Cyc_is_string(object o);
object Cyc_is_char(object o); object Cyc_is_char(object o);
@ -317,6 +318,7 @@ extern const object primitive_real_127;
extern const object primitive_integer_127; extern const object primitive_integer_127;
extern const object primitive_pair_127; extern const object primitive_pair_127;
extern const object primitive_procedure_127; extern const object primitive_procedure_127;
extern const object primitive_port_127;
extern const object primitive_vector_127; extern const object primitive_vector_127;
extern const object primitive_string_127; extern const object primitive_string_127;
extern const object primitive_symbol_127; extern const object primitive_symbol_127;

View file

@ -546,6 +546,7 @@
real? real?
integer? integer?
pair? pair?
port?
procedure? procedure?
vector? vector?
string? string?
@ -594,8 +595,9 @@
close-input-port close-input-port
read-char read-char
peek-char peek-char
write Cyc-write-char
display))) Cyc-write
Cyc-display)))
(call/cc (call/cc
(lambda (return) (lambda (return)
(for-each (for-each