On Sun, Nov 26, 2023 at 05:20:11PM +0100, Grégory Vanuxem wrote:
> Hi here,
> 
> I have read some discussions about using Unicode. Frankly speaking,
> that reminds me of the past, when Debian developers did not want to
> support 64 bits by default instead of 32 bits. They were wrong.  From
> my point of view Unicode is a must have. Otherwise the Lisp subsystem
> is outdated, I think:
> 
> 'a' ∈ "abcd"
> 
> must return true. We are in 2023 and almost 2024.
> 
> As of now with SBCL:
> 
> (1) -> 'a' ∈ "abcd"
>   Line   1: 'a' ∈ "abcd"
>            ....AB
>   Error  A: Improper syntax.
>   Error  B: The character #\ELEMENT_OF is not a FriCAS character.
>    2 error(s) parsing
> 
> (3) -> "a" ∈ "abcd"
>   Line   1: "a" ∈ "abcd"
>            ....AB
>   Error  A: Improper syntax.
>   Error  B: The character #\ELEMENT_OF is not a FriCAS character.
>    2 error(s) parsing

Well, you can do:

(4) -> α(x) == x + 1
                                                                   Type: Void
(5) -> β := 2

   (5)  2
                                                        Type: PositiveInteger
(6) -> α(β)
   Compiling function α with type PositiveInteger -> PositiveInteger 

   (6)  3
                                                        Type: PositiveInteger

so, as you see Unicode is supported.  But FriCAS has no definition
for ∈, so
(7) -> _∈ + β

   (7)  ∈ + 2
                                                    Type: Polynomial(Integer)
works because leading _ intructs FriCAS to treat ∈ as identifier,
but FriCAS has no idea that you want ∈ to be infix operator.  This
does not differer significantly from:

(8) -> 'a' in "abcd"    
  Line   1: 'a' in "abcd"
           ....A
  Error  A: Improper syntax.
   1 error(s) parsing

OK, FriCAS knows that 'in' is a keyword, so does not complain here.
But syntax does not allow 'in' as operator.

> This is why I kept supporting Julia String. Even if this is not my aim
> to keep supporting Julia String. Try that for syntax highlighting:
> 
> "((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_![:word:]_\\?\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?\\??(\\()",

I am not sure what you mean here.  This certainly is not valid
definition of Vim highlighting.

-- 
                              Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/ZWN5s6qd6jQ9A76I%40fricas.org.

Reply via email to