Re: Complexity of new hardware

Pal-Kristian Engstad <[email protected]>
Newsgroups gmane.games.devel.algorithms
Message-ID <[email protected]>
Nicholas "Indy" Ray wrote:
> On Tue, Apr 21, 2009 at 12:43 PM, Pal-Kristian Engstad
> <[email protected]> wrote:
>   
>> Goal was a great system - one that we still greatly miss. If we had to make
>> a Goal2, then we'd probably:
>>
>> Use an SML-ish or Scala-ish surface syntax, while trying to retain the power
>> of Lisp macros.
>>     
>
> Is there any reason you would choose against S-Expressions? I don't
> know about Scala, but I find SML syntax to be a little less
> maintainable for large systems and a lot less usable for Macros; Is
> this mostly a choice of preference by the team, or perhaps you think
> it'd be easier to get new employees to learn?
>   
Indeed. Most game-programmers and to some extent game designers, want to 
work on a lot of 3D math. This requires quite a bit of math and using 
infix notation for this is definitely mind-boggling, even for seasoned 
Lisp/Schemers. The second reason is that s-expressions work well for 
expressions, but for sequencing, the syntax is less than stellar. The 
third reason is that it is quite possible to have strong macro systems 
(see e.g. Dylan and to a certain extent OCaml) without s-expressions. 
And finally, as you mentioned, it does take new employees a rather long 
time to get used to it.
>> Introduce stronger typing features, which is difficult, given the need for
>> REPL and hot updates.
>> Do more in terms of high-level optimization, though LLVM might negate the
>> need for some of that.
>>     
>
> LLVM is rather quite nice, and while it'll take some infrastructure,
> and certainly a resident compiler instance, I don't suspect that hot
> updates would be too much of a problem with a better typed (likely
> type inferred) programming language.
>   
The devil is in the details, I am afraid. As an example (and I'm not 
saying this is impossible with static type checking), in a completely 
dynamic setting it is quite feasible to: introduce new fields in a data 
structure (compile and send to game), edit (static) data that uses the 
data structure (compile and send to game) and finally compile functions 
that reference the data structure and send it to the game (at which 
point the new data is actually used). I know AliceML has a solution to 
this, but from what I've heard, it was quite a challenge.

PKE.

-- 
Pål-Kristian Engstad ([email protected]), 
Lead Graphics & Engine Programmer,
Naughty Dog, Inc., 1601 Cloverfield Blvd, 6000 North,
Santa Monica, CA 90404, USA. Ph.: (310) 633-9112.

"Emacs would be a far better OS if it was shipped with 
 a halfway-decent text editor." -- Slashdot, Dec 13. 2005.




------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and 
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today. 
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
GDAlgorithms-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list
Archives:
http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.