27 ms·
C'Dent is a new Acmeist programming language for writing portable modules (2010)
- turtleyacht 4y agoIs it a worthwhile effort to have C'Dent output Haxe? That would possibly open up more output targets: > Haxe can build cross-platform applications targeting JavaScript, C++, C#, Java, JVM, Python, Lua, PHP, Flash, and allows access to each platform's native capabilities. From https://haxe.org/ https://haxe.org/
- peter_d_sherman 4y ago>"From the C'Dent format, equivalent modules can be generated in the following (currently supported) languages: Perl, Python, PHP, Ruby, JavaScript, Scala, Java, ActionScript, Python 3, Perl 6, Go, PIR, C'Dent Related: http://cdent.org/examples/hello-world/index.html http://cdent.org/examples/hello-world/index.html Note that of all of the "Hello World" programs in various languages -- it is my opinion that the C'Dent code at the end (because it is subsequently transpiled to all of the other languages) is -- a more universal abstract form for programs (...than code in a given specific target language's native form.) In my opinion, C'Dent is worth studying, alongside QBE and LLVM... (https://c9x.me/compile/doc/llvm.html https://c9x.me/compile/doc/llvm.html)
- 082349872349872 4y ago(2010)
- peter_d_sherman 4y agoFixed.
- drewm1980 4y agoI am curious how it round-trips. For the output languages that are also supported input languages, can you transpile back and get something close to or identical to your input?
- 082349872349872 4y agoEven if it doesn't round trip, hopefully it stabilises, so that A->B; B->A; A->B is equivalent to A->B?
- Syzygies 4y ago> Galois connections may be used to describe many forms of abstraction in the theory of abstract interpretation of programming languages. https://en.wikipedia.org/wiki/Galois_connection https://en.wikipedia.org/wiki/Galois_connection
- 082349872349872 4y agoSince you've brought out the power tools*, may I ask you to briefly (2-5 min?) consider the last paragraph of https://news.ycombinator.com/item?id=32617344 https://news.ycombinator.com/item?id=32617344 : "if we think geometrically" et seq.? advThanksance * Galois connexions subsume, among other things, Dijkstra's weakest preconditions/strongest postconditions.
- Syzygies 4y agoI believe that these "groupoid" ideas lead into higher category theory, and the supporting mathematics for theorem provers such as Lean.
- peter_d_sherman 4y agoI think you may be right! Also, I think that some of the next breakthroughs for AI might be as follows: 1) Given any Turing-complete computer programming language A, construct a translator to a higher-order intermediate representation, then from that higher-order intermediate representation, construct a translator to programming language B... 2) Do this for all known Turing-complete computer programming languages; 3) Do this for all known Mathematical categories, groups, lemmas, theories, etc., and other Mathematical "objects" (for lack of a better term!) -- in other words, create an intermediate data model "map" (analagous to an intermediate higher-order language used by a transpiler) -- between all of these things in all of Mathematics... Category Theory -- seems like it would be "The next level up"... (Note that I am speculating about most of this(!) -- I claim to be an idiot in [some/many/all] of these areas! <g>)
- junon 4y agoI've had the idea for this exact project for years and years, never had the real need nor time to do it. Glad to see it actually exist! Cool stuff :)
- eggy 4y agoI realize it is not a direct corollary, but some of the goals described are why I started learning Shen[1] several years ago. Yes, Shen is a Lisp, but it has been ported to many other PLs. You simply need to implement 46 primitive functions (maybe more now?) from Kλ in your language of choice and you can program in Shen as your "Acmeist" PL. [1] https://shenlanguage.org/ https://shenlanguage.org/
- peter_d_sherman 4y agoExcellent link! Let me amend my comment from my earlier message, where I said: >"In my opinion, C'Dent is worth studying, alongside QBE and LLVM..." To now read: In my opinion, C'Dent is worth studying, alongside QBE and LLVM and Shen (https://shenlanguage.org/ https://shenlanguage.org/) ! Anyway, great link!
- eggy 4y agoI would love to see a Shen port to Zig. I may attempt it after I learn enough Zig.