Product Documentation
Cadence SKILL Language Reference
Product Version IC23.1, November 2023

Functions

The following table describes the Scheme/SKILL++ equivalent functions.

Scheme SKILL++ Comment

+, -, *, /

Infix only.

Equivalent to functions plus, difference, times, and quotient in SKILL++.

<, <=, >, >=

Infix only.

Equivalent to functions lessp, leqp, greaterp, and geqp in SKILL++.

=

Supported.

Used as the infix assignment operator in SKILL++. For equality, use the infix operator == or function equal.

abs

Same.

acos

Same.

angle

Unsupported.

append

Same.

Takes two arguments only.

apply

Same.

asin

Same.

assoc

Same.

assq

Same.

assv

Same.

atan

Same.

In SKILL++, atan takes one argument only; atan2 takes two arguments.

boolean?

Supported.

Use booleanp.

car, cdr, caar, ..., cddddr

Same.

call-with-current-continuation

Unsupported.

call-with-input-file

Unsupported.

call-with-output-file

Unsupported.

ceiling

Same.

char->integer

Unsupported.

True character type is not supported in SKILL++. However, single-character symbols can be used to simulate it. The function charToInt has the same effect on symbols.

char-alphabetic?

Unsupported.

Character type not supported.

char-ci<=?

Unsupported.

Character type not supported.

char-ci<?

Unsupported.

Character type not supported.

char-ci=?

Unsupported.

Character type not supported.

char-ci>=?

Unsupported.

Character type not supported.

char-ci>?

Unsupported.

Character type not supported.

char-downcase

Unsupported.

Character type not supported.

char-lower-case?

Unsupported.

Character type not supported.

char-numeric?

Unsupported.

Character type not supported.

char-upcase

Unsupported.

Character type not supported.

char-upper-case?

Unsupported.

Character type not supported.

char-whitespace?

Unsupported.

Character type not supported.

char<=?

Unsupported.

Character type not supported.

char<?

Unsupported.

Character type not supported.

char=?

Unsupported.

Character type not supported.

char>=?

Unsupported.

Character type not supported.

char>?

Unsupported.

Character type not supported.

char?

Unsupported.

Character type not supported.

close-input-port

Supported.

Use close.

close-output-port

Supported.

Use close.

complex?

Unsupported.

cons

Same.

The second argument must be a list.

cos

Same.

current-input-port

Supported.

Use the piport global variable.

current-output-port

Supported.

Use the poport global variable.

denominator

Unsupported.

display

Same.

eof-object?

Unsupported.

SKILL++ reader returns nil on EOF.

eq?

Supported.

Use eq.

equal?

Supported.

Use equal.

eqv?

Supported.

Use eqv.

even?

Supported.

Use evenp.

exact->inexact

Unsupported.

exact?

Unsupported.

exp

Same.

expt

Same.

floor

Same.

Use fix or floor.

for-each

Supported.

Use mapc.

gcd

Unsupported.

imag-part

Unsupported.

inexact->exact

Unsupported.

inexact?

Unsupported.

input-port?

Supported.

Use inportp.

integer->char

Unsupported.

Character type not supported. Use intToChar for the same effect on symbols.

integer?

Supported.

Use fixp or integerp.

lcm

Unsupported.

length

Same.

Works for both lists and vectors.

list

Same.

list->vector

Supported.

Use listToVector.

list-ref

Supported.

Use nth.

list?

Supported.

Use listp.

log

Same.

magnitude

Unsupported.

-polar

Unsupported.

-rectangular

Unsupported.

-string

Unsupported.

-vector

Supported.

Use Vector.

map

Supported.

Use mapcar instead. map in SKILL++ behaves differently from map in standard Scheme.

max

Same.

member

Same.

memq

Same.

memv

Same.

min

Same.

modulo

Same.

modulo differs from mod in SKILL++, which is the same as remainder.

negative?

Supported.

Use minusp or negativep.

newline

Same.

not

Same.

New for SKILL++. Same as ! operator.

null?

Supported.

Use null.

number->string

Supported.

Use sprintf.

number?

Supported.

Use numberp.

numerator

Unsupported.

odd?

Supported.

Use oddp.

open-input-file

Supported.

Use infile.

open-output-file

Supported.

Use outfile.

output-port?

Supported.

Use outportp.

pair?

Supported.

Use dtpr or pairp.

peek-char

Unsupported.

positive?

Supported.

Use plusp.

procedure?

Supported.

Use procedurep.

quotient

Same.

rational?

Unsupported.

rationalize

Unsupported.

read

Supported.

Or use lineread. Returns nil on EOF.

read-char

Unsupported.

Character type not supported. Use getc for similar effect.

real-part

Unsupported.

real?

Supported.

Use floatp or realp.

remainder

Same.

Use mod or remainder.

reverse

Same.

round

Same.

set-car!

Supported.

Use rplaca or setcar.

set-cdr!

Supported.

Use rplacd or setcdr.

sin

Same.

sqrt

Same.

string

Unsupported.

string->number

Supported.

Use readstring.

string->symbol

Supported.

Use concat or stringToSymbol.

string-append

Supported.

Use strcat.

string-ci<=?

Unsupported.

string-ci<?

Unsupported.

string-ci>?

Unsupported.

string-length

Supported.

Use strlen.

string-ref

Unsupported.

Use getchar for similar effect.

string-set!

Unsupported.

Strings in SKILL++ are immutable.

string<?

Supported.

Use alphalessp or strcmp.

string=?

Supported.

Use alphalessp or strcmp.

string>=?

Supported.

Use alphalessp or strcmp.

string>?

Supported.

Use alphalessp or strcmp.

string?

Supported.

Use stringp.

substring

Supported.

Argument values differ. SKILL++ uses index and length. Scheme standard uses start and end (index).

symbol->string

Supported.

Use get_pname or symbolToString.

symbol?

Supported.

Use symbolp.

tan

Same.

truncate

Same.

vector

Same.

vector-length

Supported.

Use length.

vector->list

Supported.

Use vectorToList.

vector-ref

Supported.

Use arrayref or the a[i] syntax.

vector-set!

Supported.

Use setarray or the a[i] = v syntax.

vector?

Supported.

Use arrayp or vectorp.

write

Same.

write-char

Unsupported.

zero?

Supported.

Use zerop.

Related Topics

Scheme/SKILL++ Equivalents Tables

Lexical Structure

Expressions


Return to top
 ⠀
X