OneLang.io - új programnyelv / transpiler hibrid

Címkék

Koczka Tamás hobbiprojektje a OneLang.io. Videó demó:

Hozzászólások

"So the question arises, is OneLang a new programming language? Although we can talk about it with words like object-oriented or generic or strongly-typed, it has its own type system and AST, would you call something a programming language which does not have its own syntax?"

https://github.com/koczkatamas/onelang

Adott a kérdés, hogy ha nem a OneLang forráskód kerül futtatásra, hanem az csak egy köztes nyelv, akkor programnyelv-e önmagában? Nem volt még időm jobban belemenni, de ahogy látom adott nyelvű programkódot feldolgozza OneLang-ra, majd azt átdolgozza a célnyelvre, és azt futtathatod. A OneLang sose fut le, tényleg nyitott a kérdés nekem, elméleti oldalról nem vagyok képben, hogy ezt már programnyelvnek lehet-e nevezni, szerintem nem.

Igen, ilyen értelemben minden program nyelv, és én is csak egy transpiler vagyok az ügyfél levele és a jegyzettömb között, ezért hagytam nyitva a kérdést. Inkább máshogy fogalmazok: kérdés, hogy ő program nyelvet akar ebből, vagy ténylegesen marad a transpiler beszél transpiler-el :) elképzelés. Nem tudom van-e erre olyan modell, amivel el lehet kerülni azt, hogy OneLang-ban kelljen gondolkodni, van-e olyan utasításkészlet, amire ő mindent vissza fordít, és abból az utasításkészletből nem sub-sub-sub-optimális kódot generál másik nyelven. Nekem úgy tűnik, hogy csak bizonyos, hasonló gondolatmenetű nyelvek közt lehet ezt, de hátha bebizonyítja, hogy nem.

Nem akartam a lelkedbe gazolni :) meg kozben utannaolvastam, es Java eseten bytekodra fordit, szoval csak JS oldalrol beszelhetunk.

"A source-to-source compiler, transcompiler or transpiler is a type of compiler that takes the source code of a program written in one programming language as its input and produces the equivalent source code in another programming language."

"So, logically, If she weighs the same as a duck... she's made of wood. And therefore? A witch!"

Szoval Kotlin a Javascript eseten egy transpiler, ahogy az Xtend is Java eseten. De a Scala "Scala source code is intended to be compiled to Java bytecode" tehat az eredmeny nem egy masik programozasi nyelv (az mar egy binaris), igy az compiler. A swiftrol nem tudok/akarok nyilatkozni.

-
Kiterjesztések írása Go nyelvi környezetben

Nagyon jol nez ki, beerek meloba kiprobalom :)

A videóban látható setup-ot nem tudtam összerakni, php->js tesztet akartam csinálni, aki tud ilyent, jelezze.

Ez aztán a koczka cucc! Aztamindenit, szavam sincs.

Nagyon jópofa tool, pl. új nyelv tanulását egy ilyen baromira meg tudja gyorsítani, így ha más nem, oktatási célokra kifejezetten alkalmas lehet.
Grat Tamásnak!

Nagyon szimpi projekt :)

Kérdés: A videó csak nálam néma? Felirat van, fura hogy hang nincs.