cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
0 Kudos

2 functions for the 2 meanings of expr()

☑ cool new feature
☑ could help many users!    ("nobody" is using expression handling? - maybe ... why?)

☑ removes something that feels like a „bug“

☐ nice to have

☐ nobody needs it

 

#myTop10_2025

 

What inspired this wish list request? 

 

In JSL, Expr() is used for 2 purposes:
-  "it is here()" inside of Eval Expr()
I protect you()  - to protect the content from being evaluated


Unfortunately, Eval Expr() is  happy with the first Expr() and evaluates it.

This restricts the flexibility with which users can write nested expressions - see:

Returning an expression from a function differs when namespace is used.

TS-00235515

TS-00235798

 

 

What is the improvement you would like to see? 

Add 2 new functions to JMP for the 2 meanings of Expr():

-  "it is here()   *) " inside of Eval Expr()
I protect you() *)  - to protect the content from being evaluated

 

*) please use the comments to suggest optimized function names? 
- as short as possible

- as "telling" as possible    [Name Expr() is the ideal name for Name Expr() - for German speakers ...]

 

Together with the [legacy] Expr(), they should allow the user to write code much easier in JSL.

 

e.g. 
Eval Expr(protect( ....     Expr(expression to evaluate) ...) ...)

 

in the sense of 

Eval Expr(protect( ....     it is here(expression to evaluate) ...) ...)

 

Why is this idea important? 

the dual-use of Expr() it is harmful and makes code fragile and complicated.
Using separate names for the 2 meanings will fix the issue.

 

other wishes from hogi_2-1702196401638.png