While I got tagged as a "technical idealist" for a long time, in reality I am 
deeply pragmatic.  I fantasize about building a "crystalline pyramid of 
comprehensible mutually-interlocking concepts", but I know the folly of it.  I 
have a not-so-large number of hours that I can possibly devote to this before 
it needs to stand on its own and provide real value to other developers, which 
means that it needs to be built on, and leverage, existing systems, warts and 
all.

S-expressions actually are one of the core wins from my use of lisp so far -- 
embracing read/write (and the associated bandwidth cost) as a wire protocol 
over yet another hand crafted binary format has been a significant win 
(however, the flexibility of the win seems to fight with static typing, perhaps 
at  a fundamental level, in my limited typed-racket experience so far -- a good 
topic for discussion?).

Most users of this particular system will not interact with OpenGL at all, they 
will just move pre-built models around the world, play sound effects, start 
movie clips, etc.  The fact that I could easily add the ability to hack on 
shader code, and soon geometry generation, is a huge pragmatic win.

I really do want to hear suggestions, do you have some concrete directions that 
you think would be useful?

I'm only three weeks into this project.  Give me a little more time to change 
the world. :-) 

-----Original Message-----
From: Gabriel Laddel [mailto:gabrielvalethlad...@gmail.com] 
Sent: Wednesday, July 01, 2015 8:18 AM
To: racket-users@googlegroups.com
Cc: John Carmack; us...@racket-lang.org
Subject: Re: [racket-users] Gear VR

*Sigh*

While I'm happy to see John Carmack using a Lisp, you're missing the point. If 
you offer Lisp as a "scripting language" you'll fail to show off why *exactly* 
it's better. S-expressions shine because they save you from the entirely 
mechanical task of parsing. There are emergent properties of this notational 
scheme that are also lovely in their own right e.g., macros & extensibility via 
incremental compilation, but all of this originates in the notation.

If you build up a scripting language in which you pass around shader strings 
and whatever random formats happen into your program, you're going to destroy 
the underlying "lispyness" because anyone who wants to make a change to the 
implementation will have to understand the format in its entirety, or be forced 
to guess at the semantics implied by so-and-so syntax - at which point, what 
has Lisp gotten me? Sure, you'll have macros for the "high level language", but 
they're not magic. The reason that e.g., the Symbolics Lisp machine is so 
fondly remembered was because of the "crystalline pyramid of comprehensible 
mutually-interlocking concepts" 
(https://urldefense.proofpoint.com/v1/url?u=http://www.loper-os.org/?p%3D42&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=Kjg6LltY9QjkipKooaVldA%3D%3D%0A&m=CwjU98OYOwj9cQ%2BK9b9GLWnR0Hnu8XBOyQG4zDiRCZw%3D%0A&s=5510a782e7801c2475be1390700d6531f0ffc308991efe43038561bb13d9c163)
 which allowed a user not intimately familiar with the machine or its 
architecture to make meaningful changes.

"Lisping" without addressing the underling problems of OpenGL etc. is an absurd 
exercise. Even if this stunt were to make you personally a billon dollars, 
you'll end up unable to buy anything interesting because everyone's time is 
being spent ferrying around magic strings (where we are today).

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to