[ 
https://issues.apache.org/jira/browse/JEXL-367?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17530481#comment-17530481
 ] 

Hussachai Puripunpinyo commented on JEXL-367:
---------------------------------------------

[~henrib]  Fair enough. I've been thinking about this, and I think I agree with 
you on the feature control. I don't like two syntax doing the same thing like 
supporting both fat arrow and thin arrow at the same time. Even one is 
deprecated, users tend to ignore that and I feel like the code will be 
confusing. So, the feature control is a good idea.

That's a great news to me to know that `let` is in your plan. We have a lot of 
JEXL scripts written by users and some script are really huge. One thing about 
`var`. If it's declared at the top level, it still won't be exported to the 
context. Is that intentional? 

Also, I know this is deviating from the original topic, but since I got your 
attention here. 
Do you plan to support the function declaration syntax like the following? 
{code:java}
function name(args) {
  ...
}
{code}

> Deprecate -> and support =>
> ---------------------------
>
>                 Key: JEXL-367
>                 URL: https://issues.apache.org/jira/browse/JEXL-367
>             Project: Commons JEXL
>          Issue Type: Wish
>    Affects Versions: 3.2.1
>            Reporter: Hussachai Puripunpinyo
>            Assignee: Henri Biestro
>            Priority: Major
>
> The JEXL code surprisingly looks a lot like Javascript. I think this change 
> is a good transition for folks to update the code, and it's pretty fine if 
> they can tolerate using the deprecate syntax and don't mind seeing a warning 
> log pop up every time. 
> I'd like to propose supporting => and deprecate ->.
> The reasons are
>  - JavaScript becomes very popular and many people are familiar with it.
>  - JEXL is more like for a quick short script. In many scenarios, the target 
> audiences are not a programer. They often mistake a language as a JavaScript 
> (from my experience).
>  - JEXL syntax already looks a lot like JavaScript
>  -- var for variable declaration (Java added in Java 10, but JavaScript 
> supports this from the beginning)
>  -- The function keyword
>  -- Implicit type coercion
>  -- Ternary operator
> The proposed change.
>  * Support => in addition to ->
>  * Deprecate -> and show a warning log when it's used.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to