Langa de secuencias de comandos escrita estáticamente, integrable y compilable
-
29-10-2019 - |
Pregunta
Estoy buscando un Langage con las siguientes características:
- Swig-compatible o similar. La compatibilidad con C ++ debería ser fácil:
C, C ++, Allegrocl, C# - Mono, C# - MS .net, CFFI, Chicken, Clisp, D, GO, Guile, Java, Lua, Mzscheme/Racket, Ocaml, Octave, Perl, Php, Python, R, Ruby, TCL/TK
- Escrito estáticamente: no myObject.completelyNewfieldwithunknownSideEffects = Guesswhat () como en Lua. No isinstance () como en PHP. No newVariableFunknownType = foo () como en Python. Preferiblemente fuertemente escrito, también ("hola"+"0" en lugar de "hola" +0):
C, C ++, C#, D, GO, Java, Ocaml, PHP, Ruby? Otro ?
- ¡Se puede compilar en Runtime (y EXEC ("GCC Plugin.cpp")! ¡No cuenta!) En cualquier LANGAGE ASM/INTERMEDIA.
C: libclang, ch; C ++: ch; Cualquier langage de secuencias de comandos; Otro ?
- Se puede compilar (fuera de línea o en tiempo de ejecución) en un x86 .dll/.so o .cpp
C: GCC, libclang, etc. C ++; C#; D; Pitón; Vamos; Ocaml; Lua: lujit; Ruby: ridículo
- Preferiblemente con el depurador :)
Tl; Dr
Me gustaría una forma de secuencia de comandos escrita estática e incrustable que se pueda compilar para Perf.
Ideas? ¿Comentarios? ¿Entrada de cualquier tipo? Gracias !
EDITAR Propuestas válidas hasta ahora:
- Java: http://download.oracle.com/javase/6/docs/api/java/lang/compiler.html
- C# : http://support.microsoft.com/kb/304655/en-us
- C ++, interpretado por CH, compilado con un compilador habitual, con suerte compatible con GCC/VC
- Raqueta: http://pre.racket-lang.org/docs/html/inside/overview.html#%28part._embedding%29
Así que hay mucha más esperanza de lo que pensé originalmente :) ¡Gracias a todos! Seguiré investigando y aceptaré una respuesta cuando tenga más experiencia sobre el tema.
No hay solución correcta