On Fri, Jul 26, 2019 at 02:41:31AM -0700, Sepand Meenu wrote:
> I have approached Racket mainly from a computational perspective (physics 
> and math), and I've found parentheses so far _not_ much of a distraction or 
> annoyance. Actually, as far as the parens reduce the amount of syntactical 
> complexity, I am in favour of them (compared to the nasty syntactical vexes 
> in C++, or probably all Algol-descendents).

a big problem with C is that some parentheses are semantically 
meaningful, rather than just indicating order of operations. This is 
especially confusing in notations for function types.

If it weren't for that, the parenthesis issues would be easy -- just 
insert a few extra ones any time you're not sure how things are 
grouped.

> I also like the 
> language-oriented-programming philosophy of Racket which makes syntax of 
> secondary importance. I think it is better to reduce the amount of parens 
> needed, rather than to eliminate them altogether in favour of an Algol-like 
> syntax. Racket2 might have even two possible syntaxes (Lisp and Algol 
> like), but I think syntactical patterns should _not_ be the first priority 
> of Racket2.

Racket already hs two syntaxes -- Scribble and Racket.

> 
> I think the most important task is to nurture the ecosystem of Racket: A 
> well-defined performant 'standard library' to be used in real-world 
> large-scale practical systems with high complexity (including tough 
> computations, concurrency, asynchronicity, etc.) in a safe, and proveably 
> correct manner. An expressive static typing is also one of my wishes, so 
> that a 'refined' Typed Racket becomes part of the standard; in this case, 
> one may learn from languages like Idris.

One of the great things about Idris is its dependent types, and the 
way they can be used for (constructive) formal logic.  I was 
experimenting with them in the 80's.

To make them into a secure logic, however, you need limitations on 
recursion.  You need to effectively and provably show that all 
recursions terminate.
That's a tall order for a language like Lisp.

> 
> Easy interoperability is very important at this stage (eg. with Python). 
> Having an LLVM backend is also very promising (unlike JVM) as Thomas 
> Dickerson mentioned.
> In general, due to my FORTRAN and C++ background, I am always very 
> concerned about performance, and looking forward to the Racket-on-Chez 
> project.

Likewise.

I like Gambit's approach of easily mixing Lisp and C.  If only C 
implemented tail-recursions properly and had optional garbage 
collection.

Or maybe we need more low-level operations and data structures in 
Racket 2.  Modula 3, for example, manages to combine static 
type-security, garbage collection, systems-programming-style data 
structures, and an efficient code generator.

-- hendrik

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/20190726203540.3uekgsg23r7g7lfy%40topoi.pooq.com.

Reply via email to