I once did a linux prototype like this that would lock and unlock your computer based on phone proximity using bluetooth. Worked like a charm. No camera required.
newclass = cpp.Class()
meth = newclass.addMethod(name="dosomething")
meth.signature = cpp.Signature([cpp.int,cpp.float])
Interesting idea and I like where it could go. Thank you.
Thank you for the interesting response. Could you explain a bit more about what you mean by "using for example tree-pattern-matching replacement into a low-level form". What would you be replacing with what?
My goto performance sensitive problem has always been raytracing, so I think that's the next logical project to implement with this tool and see where it goes.
Unfortunately, the editors messed up a bit with the explanation of what sxc is and what it is good for. It's not about compiling your Lisp code to C, it's about writing C code using Lisp. With the S-Expression syntax of sxc, a whole world of macro programming and code generation become possible in a natural matter leading from the using of S-Expression and macros. This, so far, has been uncharted territory, although his type of project is quite popular to implement. It seems that nobody has actually used to it's full potential yet; hence the question.
What do you think that the combination of a high level language for the generation of a low level processing language would provide, if anything over the normal combinations of cc + cpp?
I'm glad this story got posted and sxc is getting some press, but the real question I asked was:
It is unknown exactly what power might come about from this combination of low level processing with high level code generation. Can you think of any possible uses?
The idea of using pre-processors to generate C code is not new to programming; but the usage of the full power of Common Lisp in such a natural way is up to the question.
Thank you for your anecdote, I appreciate the comparison with on of my favourite supercomputer companies! sxc is not necessarily a 'Lisp to C' converter, but a C -> C converter with the optional metaprogramming facilities to generate code using Common Lisp. The syntax of the sxc language is Lisp like; the semantics are C. So really this is a C -> C translator with added meta facilities.
The code that goes in and the code that comes out is strictly C. What you can do with the added ability of Common Lisp is really what's at question for me.
Unfortunately the editors made a slight mistake with the description of this tool. It's not to 're-write your lisp code in C', it's to write new C code using Lisp as the macro system.
HipHop was interesting in that it would compile PHP and make it run faster, but it's not similar to this in any way.
sxc is a dialect of Lisp that has the semantics of C. There's not cross compilation from anything to anything; the syntax of sxc is that of C, but you're editing a representation of the parse tree. This is a list, and the meta-programming facilities allow you to generate code using Common Lisp, the most powerful language for generating that type of data structure; the list.
The homoiconicity that this provides to C gives me suspect to say that it is a more powerful language overall than cc + cpp.
It's not a senior project; I graduated 20 years ago. It's a tool I've created recently from some ideas I've seen and had in hopes of realizing something that is more than the sum of it's parts.
 Here's my senior project: http://github.com/burtonsamogr...
Yeah, but being able to do a switch on strings is pretty cool, is it not?
It's getting so bad I've switched to Solaris for my main machine, and 11.1 at that which is over 10 years old. Still the same UNIX software, an antique browser that hobbles along (but Gail works in HTML mode) but...it's solid and fast and works and has all the Solaris niceness of dtrace, ZFS and whatever else is hidden in there under the hood that hasn't changed in years and from a developer that strives to keep the platform stable for developers.
Linux has completely jumped the shark for my day to day usage. Screen blanking and never coming back, processes randomly hanging and crashing the system to not booting at all. It's been an exercise in complete frustration lately, unlike the 20 years of regular frustration knowing that what i was using *was* better than the alternatives.
So, yeah, screw it. I'm going corporate.
The number of computer scientists in a room is inversely proportional to the number of bugs in their code.