- A hozzászóláshoz be kell jelentkezni
- 2435 megtekintés
Hozzászólások
A Google igazán felkarolhatná a Scala nyelvet.
- A hozzászóláshoz be kell jelentkezni
miert is ? sajat nyelve(ket) fejlesztenek, nem kell nekik scala.
twitter hasznalja, ok a legnagyobb kirakatcege a typesafe-nek.
- A hozzászóláshoz be kell jelentkezni
ebben már elérhető a macro kezdeti prototípusa, így ha valaki JVM felett statikusan típusos nyelvvel szeretne Nemerle-szerűen metaprogramozni
Halvány lila gőzöm sincs, hogy mit jelent, de iszonyúan jól hangzik. :)
- A hozzászóláshoz be kell jelentkezni
Ez azt jelenti hogy tudsz olyan alkalmazást írni, amit senki sem tud karbantartani vagy átvenni tőled mert fogalma sincs hogy egyáltalán micsoda.
Pótolhatatlan leszel :)
- A hozzászóláshoz be kell jelentkezni
Ilyet már simán láttam Perl-ben vagy PHP-ban is, mivel 0 ilyen jellegű használható doksi érkezett az egyedi kódhoz.
- A hozzászóláshoz be kell jelentkezni
Hat, ez a fajta makro ~1960 ota letezik, eloszor a Lisp csinalt ilyet, csak ott ugy hivtak, hogy REPL (read eval print loop).
Az a lenyeg, hogy egy sort meg a fordito/interpreter kiertekelese modosithatod AST szinten es generalhatsz akar teljesen mas kodot belole, a nyelvi elemeket megvaltoztathatod, stb.
Ez azt eredmenyezi, hogy DSL-eket (Domain Specific Language) lehet nevetsegesen konnyen es gyorsan gyartani, ezert a nagyobb Lisp programok mindenfele DSL + valami kommunikacios reteg elemekbol allnak ossze. Kerdes, hogy ez mennyire nyero egy statikus tipusrendszerrel rendelkezo nyelvnel.
- A hozzászóláshoz be kell jelentkezni
Ize. LISP-ben is makronak hivjak ezt. A REPL az egy teljesen mas dolog, semmi koze nincs makrokhoz.
Hogy LISP mennyire mukodhet static typeal egyutt, az kiderulhet iden, a Typed Clojure GSoC project kapcsan peldaul.
--
|8]
- A hozzászóláshoz be kell jelentkezni
En is azt mondtam, hogy makronak hivjak.
Es hogy a Lisp REPL teljesen mas dolog... azzal nem ertek egyet, mert a Lisp-fele read az, amiert az egesz makrozas mukodhet egyatalan. De nem akarok offtopic iranyba elmenni.
- A hozzászóláshoz be kell jelentkezni
> > Hat, ez a fajta makro ~1960 ota letezik, eloszor a Lisp csinalt ilyet, csak ott ugy hivtak, hogy REPL (read eval print loop).
> En is azt mondtam, hogy makronak hivjak.
Nem. Azt mondtad, hogy LISP-ben REPL-nek hivtak.
> Es hogy a Lisp REPL teljesen mas dolog
A LISP REPL pontosan ugyanaz, mint a REPL mindenhol mashol: egy read-eval-print-loop.
> mert a Lisp-fele read az, amiert az egesz makrozas mukodhet egyatalan
A LISP Readerje az, ami miatt mukodhet. Nem a REPL.
--
|8]
- A hozzászóláshoz be kell jelentkezni
Igazad van: rosszul, felreerthetoen fogalmaztam. A Lisp
(read)
az, ami miatt mukodhetnek a makrok, mert a kod adatszerkezetkent kezelheto.
> A LISP REPL pontosan ugyanaz, mint a REPL mindenhol mashol: egy read-eval-print-loop.
Azert ezt igy bator tett kijelenteni. Ha erdekel, errol itt olvashatsz bovebben.
- A hozzászóláshoz be kell jelentkezni
"Hogy LISP mennyire mukodhet static typeal egyutt, az kiderulhet iden"
Qi és utódja a Shen (http://www.shenlanguage.org/) évek óta létezik, szintúgy a typed scheme ami most már typed racket (http://docs.racket-lang.org/ts-guide/index.html). Olyan "vadhajtásokról" nem is beszélve mint a Liskell (http://www.liskell.org/about). Lefogadom van még egy pár ilyesmi...
- A hozzászóláshoz be kell jelentkezni
Kerdes, hogy ez mennyire nyero egy statikus tipusrendszerrel rendelkezo nyelvnel.
Teljesen. :)
- A hozzászóláshoz be kell jelentkezni
Bocsi, lehet, hogy rossz pályát választottam. :) Igyekeztem azt kifejezni, hogy egyelőre csak bátrak használják (kezdeti prototípus), a JVM a Java virtuális gép akart lenni, a statikusan típusos nyelveket elég nehéz lehet röviden kifejezni, de mondjuk a típushibák nagy részét már fordításkor kiszűrik, a Nemerle egy prorgamozási nyelv .NET-hez, a metaprogramozás pedig mondjuk olyasmi, hogy még fordítás időben elvégzel módosításokat a kódodon, majd folytatod a fordítást. (És mindez együtt a Scala Macros. Scalaban eddig is lehetett hasonlót művelni, de ahhoz fordító plugint kellett írni, mostantól az ilyesmi egyszerűbb lehet. A kezdeti változat azért még nem tud mindent amit terveznek, például ha az F# 3.0 féle type providert szeretnéd makrókkal megoldani, az ezzel nem fog még menni.)
A többieknek egyébként azt hiszem jobb munkát végeztek a magyarázattal. (Nem véletlenül nem lettem tanár.) Mondjuk a REPL idekeverését nem teljesen értettem, de gondolom ez a dinamikus nyelvekkel kapcsolatos ismereteim hiányára vezethető vissza. (Elég ortogonálisnak érzem a kettőt.)
- A hozzászóláshoz be kell jelentkezni
Jó, nem teljesen volt érthetetlen. De azért nem tagadhatod, hogy "jóra" sikerült a megfogalmazásod... :)
- A hozzászóláshoz be kell jelentkezni
Akit érdekel ma megjelent a Scala IDE 2.1-M1 változata Scala 2.10-M3-mal.
- A hozzászóláshoz be kell jelentkezni