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.