mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-07 13:16:34 +02:00
Two fixes:
- Renamed 'Cyc-has-cycle?' - Fixed Cyc_has_cycle to prevent an infinite loop
This commit is contained in:
parent
255e9d71d8
commit
f23b89a05f
4 changed files with 7 additions and 7 deletions
2
cgen.scm
2
cgen.scm
|
@ -421,7 +421,7 @@
|
||||||
((eq? p 'Cyc-get-cvar) "Cyc_get_cvar")
|
((eq? p 'Cyc-get-cvar) "Cyc_get_cvar")
|
||||||
((eq? p 'Cyc-set-cvar!) "Cyc_set_cvar")
|
((eq? p 'Cyc-set-cvar!) "Cyc_set_cvar")
|
||||||
((eq? p 'Cyc-cvar?) "Cyc_is_cvar")
|
((eq? p 'Cyc-cvar?) "Cyc_is_cvar")
|
||||||
((eq? p 'has-cycle?) "Cyc_has_cycle")
|
((eq? p 'Cyc-has-cycle?) "Cyc_has_cycle")
|
||||||
((eq? p '+) "__sum")
|
((eq? p '+) "__sum")
|
||||||
((eq? p '-) "__sub")
|
((eq? p '-) "__sub")
|
||||||
((eq? p '*) "__mul")
|
((eq? p '*) "__mul")
|
||||||
|
|
2
eval.scm
2
eval.scm
|
@ -188,7 +188,7 @@
|
||||||
(list 'Cyc-get-cvar Cyc-get-cvar)
|
(list 'Cyc-get-cvar Cyc-get-cvar)
|
||||||
(list 'Cyc-set-cvar! Cyc-set-cvar!)
|
(list 'Cyc-set-cvar! Cyc-set-cvar!)
|
||||||
(list 'Cyc-cvar? Cyc-cvar?)
|
(list 'Cyc-cvar? Cyc-cvar?)
|
||||||
(list 'has-cycle? has-cycle?)
|
(list 'Cyc-has-cycle? Cyc-has-cycle?)
|
||||||
(list '+ +)
|
(list '+ +)
|
||||||
(list '- -)
|
(list '- -)
|
||||||
(list '* *)
|
(list '* *)
|
||||||
|
|
|
@ -565,8 +565,8 @@ static object Cyc_has_cycle(object lst) {
|
||||||
if (nullp(cdr(fast_lst))) return boolean_f;
|
if (nullp(cdr(fast_lst))) return boolean_f;
|
||||||
if (Cyc_is_cons(cdr(fast_lst)) == boolean_f) return boolean_f;
|
if (Cyc_is_cons(cdr(fast_lst)) == boolean_f) return boolean_f;
|
||||||
if (is_object_type(car(slow_lst)) &&
|
if (is_object_type(car(slow_lst)) &&
|
||||||
!Cyc_is_boolean(car(slow_lst)) && // Avoid expected dupes
|
boolean_f == Cyc_is_boolean(car(slow_lst)) && // Avoid expected dupes
|
||||||
!Cyc_is_symbol(car(slow_lst)) && //
|
boolean_f == Cyc_is_symbol(car(slow_lst)) && //
|
||||||
eq(car(slow_lst), car(fast_lst))) return boolean_t;
|
eq(car(slow_lst), car(fast_lst))) return boolean_t;
|
||||||
|
|
||||||
slow_lst = cdr(slow_lst);
|
slow_lst = cdr(slow_lst);
|
||||||
|
@ -1154,7 +1154,7 @@ static void _set_91car_67(object cont, object args) {
|
||||||
return_funcall1(cont, Cyc_set_car(car(args), cadr(args))); }
|
return_funcall1(cont, Cyc_set_car(car(args), cadr(args))); }
|
||||||
static void _set_91cdr_67(object cont, object args) {
|
static void _set_91cdr_67(object cont, object args) {
|
||||||
return_funcall1(cont, Cyc_set_cdr(car(args), cadr(args))); }
|
return_funcall1(cont, Cyc_set_cdr(car(args), cadr(args))); }
|
||||||
static void _has_91cycle_127(object cont, object args) {
|
static void _Cyc_91has_91cycle_127(object cont, object args) {
|
||||||
return_funcall1(cont, Cyc_has_cycle(car(args))); }
|
return_funcall1(cont, Cyc_has_cycle(car(args))); }
|
||||||
static void __87(object cont, object args) {
|
static void __87(object cont, object args) {
|
||||||
__sum(i, car(args), cadr(args));
|
__sum(i, car(args), cadr(args));
|
||||||
|
@ -1295,7 +1295,7 @@ defprimitive(Cyc_91global_91vars, Cyc-global-vars, &_Cyc_91global_91vars); /* Cy
|
||||||
defprimitive(Cyc_91get_91cvar, Cyc-get-cvar, &_Cyc_91get_91cvar); /* Cyc-get-cvar */
|
defprimitive(Cyc_91get_91cvar, Cyc-get-cvar, &_Cyc_91get_91cvar); /* Cyc-get-cvar */
|
||||||
defprimitive(Cyc_91set_91cvar_67, Cyc-set-cvar!, &_Cyc_91set_91cvar_67); /* Cyc-set-cvar! */
|
defprimitive(Cyc_91set_91cvar_67, Cyc-set-cvar!, &_Cyc_91set_91cvar_67); /* Cyc-set-cvar! */
|
||||||
defprimitive(Cyc_91cvar_127, Cyc-cvar?, &_Cyc_91cvar_127); /* Cyc-cvar? */
|
defprimitive(Cyc_91cvar_127, Cyc-cvar?, &_Cyc_91cvar_127); /* Cyc-cvar? */
|
||||||
defprimitive(has_91cycle_127, has-cycle?, &_has_91cycle_127); /* has-cycle? */
|
defprimitive(Cyc_91has_91cycle_127, Cyc-has-cycle?, &_Cyc_91has_91cycle_127); /* Cyc-has-cycle? */
|
||||||
defprimitive(_87, +, &__87); /* + */
|
defprimitive(_87, +, &__87); /* + */
|
||||||
defprimitive(_91, -, &__91); /* - */
|
defprimitive(_91, -, &__91); /* - */
|
||||||
defprimitive(_85, *, &__85); /* * */
|
defprimitive(_85, *, &__85); /* * */
|
||||||
|
|
|
@ -617,7 +617,7 @@
|
||||||
Cyc-get-cvar
|
Cyc-get-cvar
|
||||||
Cyc-set-cvar!
|
Cyc-set-cvar!
|
||||||
Cyc-cvar? ;; Cyclone-specific
|
Cyc-cvar? ;; Cyclone-specific
|
||||||
has-cycle?
|
Cyc-has-cycle?
|
||||||
+
|
+
|
||||||
-
|
-
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Reference in a new issue