Simulated Java interop for PTC-Lisp.
Summary
Functions
Simulates System/currentTimeMillis.
Simulates .contains method on strings.
Delegates to String.contains?/2.
Simulates .endsWith method on strings.
Delegates to String.ends_with?/2.
Simulates .getTime method on java.util.Date.
Simulates .indexOf method on strings. Returns the grapheme index of the first occurrence of substring, or -1 if not found.
Simulates .indexOf method on strings with a starting position.
Delegates to Runtime.String.index_of/3 and converts nil to -1.
Simulates .isAfter method on Date and DateTime objects. Returns true if the first argument comes strictly after the second. Both arguments must be the same type (Date/Date or DateTime/DateTime).
Simulates .isBefore method on Date and DateTime objects. Returns true if the first argument comes strictly before the second. Both arguments must be the same type (Date/Date or DateTime/DateTime).
Simulates .lastIndexOf method on strings.
Delegates to Runtime.String.last_index_of/2 and converts nil to -1.
Simulates .length method on strings.
Returns grapheme count (matches Java's length() for the BMP and the
PTC-Lisp count builtin). Delegates to String.length/1.
Simulates .startsWith method on strings.
Delegates to String.starts_with?/2.
Simulates .substring method on strings.
Simulates .toLowerCase method on strings.
Delegates to String.downcase/1.
Simulates .toUpperCase method on strings.
Delegates to String.upcase/1.
Constructs a java.util.Date. If no args, returns now. If one arg (number or string), returns date accordingly.
Parse an ISO-8601 temporal string. Backs the parse builtin (also
reachable as LocalDate/parse).
Functions
Simulates System/currentTimeMillis.
Simulates .contains method on strings.
Delegates to String.contains?/2.
Simulates .endsWith method on strings.
Delegates to String.ends_with?/2.
Simulates .getTime method on java.util.Date.
Simulates .indexOf method on strings. Returns the grapheme index of the first occurrence of substring, or -1 if not found.
Delegates to Runtime.String.index_of/2 and converts nil to -1 for Java semantics.
Uses grapheme indices (not byte offsets) for compatibility with subs and other
PTC-Lisp string functions.
Simulates .indexOf method on strings with a starting position.
Delegates to Runtime.String.index_of/3 and converts nil to -1.
Simulates .isAfter method on Date and DateTime objects. Returns true if the first argument comes strictly after the second. Both arguments must be the same type (Date/Date or DateTime/DateTime).
Simulates .isBefore method on Date and DateTime objects. Returns true if the first argument comes strictly before the second. Both arguments must be the same type (Date/Date or DateTime/DateTime).
Simulates .lastIndexOf method on strings.
Delegates to Runtime.String.last_index_of/2 and converts nil to -1.
Simulates .length method on strings.
Returns grapheme count (matches Java's length() for the BMP and the
PTC-Lisp count builtin). Delegates to String.length/1.
Simulates .startsWith method on strings.
Delegates to String.starts_with?/2.
Simulates .substring method on strings.
(.substring s start)returns the suffix from grapheme indexstart.(.substring s start end)returns graphemes in[start, end).
Indices are grapheme-based (matches .indexOf / .length semantics).
Simulates .toLowerCase method on strings.
Delegates to String.downcase/1.
Simulates .toUpperCase method on strings.
Delegates to String.upcase/1.
Constructs a java.util.Date. If no args, returns now. If one arg (number or string), returns date accordingly.
Parse an ISO-8601 temporal string. Backs the parse builtin (also
reachable as LocalDate/parse).
Dispatches on the string shape:
"YYYY-MM-DD"→Date- a string carrying a time component (
...T...) →DateTime. An offset (Z,+02:00, …) is honoured; an offsetless...T...value is treated as UTC..isBefore/.isAfter/.getTimework on the result.
This is a deliberate divergence from Java's LocalDate.parse, which
rejects anything with a time component — returning a DateTime is far more
useful for an LLM that just wants to compare two timestamps.