On 07/02/2015 08:49 AM, Gabriel Laddel wrote:

[classification of Lisp hostiles]

Choose a stack for the initial "win" and DO NOT DEVIATE FROM IT. Select specific versions of 
android, linux, OpenGL, racket, editor + required Unity/C++/etc you will support internally. When your 
#1s decide that they'd like to try out "that Lisp stuff" they'll be able to do so without any 
hiccups. Have a Q&A person run through the process a few times just to make sure it all works 
swimmingly. You could even have them setup some end-to-end systems in a public space near the #1s, with 
comfortable chairs and *slightly* more space than normal devs get. Someone will play with it 
eventually, and who knows, maybe they'll do something neat.

Make a point to sanitize the development experience...

Regardless of whether one agrees with your classifications, this seems like a good idea, at least eventually.

First, fork the OpenGL documentation. They've had 22 years to do things 
correctly and have utterly and conclusively failed. Since you've got a single 
version of OpenGL you're supporting for the time being, it is eminently 
possible to make the spec / docs (http://docs.gl/) machine readable (i.e., 
sexprs) for tooling. With this in place you can (programmatically) ask 
questions such as:

- Which OpenGL constructs do not have a corresponding racket construct?
- Which OpenGL constructs do not have docstrings?
- Which OpenGL consturcts are missing type signatures or return types?

This can then be used to annotate the existing OpenGL racket library (walk the program, find 
the CFFI stub corresponding to each construct and spit out a new stub with its docstring). It 
is impossible to play with an idea when you've got to bounce between the editor, browser, pdf 
documentation & shell to express something simple as "draw a colored sphere".

It's probably a little more complicated than that because commands are sent to an Android device running Chibi Scheme.

Related: There's a Racket "opengl" package (indexed by the main package server; GitHub project is at https://github.com/stephanh42/RacketGL) that generates Racket FFI bindings from a machine-readable OpenGL spec. For Pict3D, I created a typed fork that I'll eventually split off into a separate "typed-opengl" package.

You're currently passing around GLSL strings for shaders. Cbaggers 
(https://github.com/cbaggers) and |3b| (http://3bb.cc/) have independently 
developed sexpr to GLSL compilers (video: 
https://www.youtube.com/watch?v=DS_cwQJc8HY).

I've been considering doing something similar, so thanks for the pointers!

Neil ⊥

--
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