In primul rand as vrea sa va multumesc pentru interes :) Imi pare bine
ca v-ati alaturat grupului. Stiu ca suntem putini, dar pana la urma e
important ca exista lisperi cu initiativa. As vrea sa stiu ce credeti
ca ar trebui sa contina un site-ul comunitatii. Propuneri, idei, orice
ar putea ajuta :)
Cred ca pentru inceput ar fi ok sa aruncam un ochi pe site-urile altor
comunitati.
Majoritatea au o secțiune de articole/tutoriale, unele originale,
altele de pe alte site-uri la care oferă link-uri. Cred că o serie de
articole scrise de membrii comunității ar avea un efect destul de
"tonic". Ar trebui să avem cāteva scrise la īnceput, ca să nu lansăm
un site īntreg de "Under construction". Eu o duc destul de bine cu
timpul liber īn perioada asta, aş putea să fac cāte ceva. De asemenea,
văd ca majoritatea discuțiilor se poartă prin liste de e-mail. Poate
totuşi ar fi mai comfortabil un forum, listele de discuții nu ştiu cāt
de populare sunt la noi.
Vorbisem cu Alex Muscar prin e-mail de o secțiune unde membrii
comunității să poată posta link-uri şi la proiectele lor legate de
LISP. Asta ar putea fi implementată şi ca o pagină īntr-un wiki, pe
care de asemenea i-o propusesem lui Alex.
http://www.lispnyc.org/home.clp Comunitatea LISP din New York are,
īntre altele, idei de proiecte pentru Summer of Code şi un magazin
online: http://www.lispnyc.org/shop.clp . Plus īnregistrări de la
prezentările făcute la īntālniri. Īntālnirile live mi se par, īn
principiu, cele mai interesante.
Pe termen mult mai lung ar fi şi asta: http://lisp.cern.ch/ Comunitatea LISP de la CERN pune la dispozitie niste sisteme LISP
pentru uzul celor de-acolo. Dacă adunăm suficienți membri din vreo
instituție, am putea face şi noi asta, cu niște investiții foarte mici
(eu unul am un calculator mai vechi care nu face nimica pe-aici). De
exemplu, dacă se adună destui membri din UPB (eu sunt student la
facultatea de Inginerie Electrică), ar fi īn principiu suficient să
găsim un spațiu pentru el. Sau, putem oferi acces remote prin ssh/
telnet.
Okay, o sa instalez un forum si un wiki. O sa incerc sa instalez un forum si un wiki. Cel tarziu in weekend (in timpul saptamanii ajung acasa destul de tarziu). Alex imi plac ideile tale. Ma gandisem si eu la ceva similar. Punctual:
- tutoriale ar fi okay: * Instalare Lisp (mai ales pe Windows -- insist pentru ca in afara de CLISP nu stiu vreo implementare care sa se inteleaga bine cu sistemul de operare de la Microsoft). Slime + Emacs (a aparut 23.1) + un lisp (SBCL are port de win, e beta ce e drept, dar macar e port oficial si vine cu installer; Clozure CL are port de win; se ia prin svn sau poate fi builduit din surse, dar ii trebuie cygwin, la fel si in cazul in care vrei sa il "updatezi" reconstruind imaginea de lisp; de asemena implementarile comerciale: LispWorks, Allegro -- au versiuni gratis si IDE-uri, dar au limitari, e.g. nu poti salva executabile si marimea heapului e limitata). * O istorie Lisp.. Ca sa stie lumea cu ce limbaj are de-a face :) * Common Lisp, Scheme, Arc, Clojure.. Ce e cu ele.. De ce exista.. Filosofiile limbajelor, etc. * Sa invatam oamenii sa nu se teama de paranteze si notatia prefixa. Poate ceva de genul "How would this code look in Lisp?" cu exemple de cod in X limbaj popular (C#, Java, C++, etc) tradus in Lisp. Dar stim cu totii ca Lisp nu arata prea frumos la calcule matematice: (rec (+ acc (* (mod m 2) n)) (ash m -1) (ash n 1))). * Mituri despre Lisp: Lisp *nu* e lent. Lisp *nu* e interpretat tot timpul (dimpotriva, are super compilatoare). Lisp nu e un limabj antic. Avem si chestii naspa: "executabilele" lisp sunt imense (toata imaginea), ffi, socketuri si acces la file system nestandardizat, etc. Dar avem librarii portabile pe care le putem folosi. * Macrourile nu sunt magice, dar ne permit sa facem chestii care par magice ;). Sunt de parere ca macro-urile sunt cea mai de seama trasatura a Lisp-ului. Ar trebui sa evidentiem asta. * Lisp nu e functional, desi multi zic asta. E un limbaj multi-paradigma. E okay sa programezi functional in el, dar uneori ai nevoie de side-effects. Sa dezvoltam ideea lui Paul Graham din On Lisp conform careia e bine sa avem un stil functional si sa oferim interfete functionale ale functiilor, dar putem folosi side effects in functie atat timp cat respectam un set de reguli. * Review si recomandari de carti/tutoriale. Practical Common Lisp e gratis si e faina. On Lisp e gratis si e faina. Let Over Lambda nu e gratis (dar are cateva capitole pe net) si e faina. - Un magazin cu produse Lisp. Da ar fi frumos, dar sa avem cui le vinde. Carti despre Lisp (dureaza pana comanzi de pe amazon), tricorui, "merchandise". - Pe wiki putem pune si snippet-uri interesante de cod pe care le folosim des si credem ca i-ar ajuta si pe altii. - Ideea cu acces ssh gratis la lisp e super simpatica, dar, din nou, nu stiu daca o putem pune in practica inca. Poate un interpretor in javascript? Ceva similar au si cei de la ruby: http://tryruby.hobix.com/ . Oamenii pot testa ce invata pe masura ce invata.
> Cred ca pentru inceput ar fi ok sa aruncam un ochi pe site-urile altor > comunitati.
> Majoritatea au o secțiune de articole/tutoriale, unele originale, > altele de pe alte site-uri la care oferă link-uri. Cred că o serie de > articole scrise de membrii comunității ar avea un efect destul de > "tonic". Ar trebui să avem cāteva scrise la īnceput, ca să nu lansăm > un site īntreg de "Under construction". Eu o duc destul de bine cu > timpul liber īn perioada asta, aş putea să fac cāte ceva. De asemenea, > văd ca majoritatea discuțiilor se poartă prin liste de e-mail. Poate > totuşi ar fi mai comfortabil un forum, listele de discuții nu ştiu cāt > de populare sunt la noi.
> Vorbisem cu Alex Muscar prin e-mail de o secțiune unde membrii > comunității să poată posta link-uri şi la proiectele lor legate de > LISP. Asta ar putea fi implementată şi ca o pagină īntr-un wiki, pe > care de asemenea i-o propusesem lui Alex.
> http://www.lispnyc.org/home.clp Comunitatea LISP din New York are, > īntre altele, idei de proiecte pentru Summer of Code şi un magazin > online: http://www.lispnyc.org/shop.clp . Plus īnregistrări de la > prezentările făcute la īntālniri. Īntālnirile live mi se par, īn > principiu, cele mai interesante.
> Pe termen mult mai lung ar fi şi asta: http://lisp.cern.ch/ > Comunitatea LISP de la CERN pune la dispozitie niste sisteme LISP > pentru uzul celor de-acolo. Dacă adunăm suficienți membri din vreo > instituție, am putea face şi noi asta, cu niște investiții foarte mici > (eu unul am un calculator mai vechi care nu face nimica pe-aici). De > exemplu, dacă se adună destui membri din UPB (eu sunt student la > facultatea de Inginerie Electrică), ar fi īn principiu suficient să > găsim un spațiu pentru el. Sau, putem oferi acces remote prin ssh/ > telnet.
O parte din tutorialele/articolele pe care le-ai propus le pot scrie eu cu toată plăcerea, am făcut asta cāțiva ani la rānd pentru o revistă romānească aşa că "īmi merge māna" :-D. Mă pot ocupa cam de oricare īn afară de cel cu instalarea pe Windows, nu de alta dar n-am mai folosit Windows īn mod curent de nişte ani buni şi nu prea ştiu cam care-i situația diverselor implementări Lisp sub Windows.
Dacă vrea altcineva să scrie vreunul din celelalte, l-aş ruga să anunțe īn timp util că altfel le adjudec din oficiu :-).
Cred că ar fi util şi un articol separat despre Emacs. Există ceva alternative la Emacs & SLIME dar cu ceva probleme -- sunt nişte plugin-uri pentru Eclipse cu destule bug-uri, şi ar mai fi soluții ca LispWorks, dar alea-s pe bani (versiunile free sunt, cum bine ştii, bune de īnvățat dar cam atāta),
Treaba cu calculele matematice e o mai veche manie de-ale mele, de vreo cāțiva ani īncoace tot zic că o să scriu un ceva scurt care să convertească expresiile postfix īn s-expresii infix (nu e greu şi algoritmul e dealtfel consacrat); nu l-am scris, spre ruşinea mea, mai mult de lene -- nu mă deranjează formularea infix pentru că primul meu calculator ştiințific era unul RPN., aşa că n-am avut, propriu-zis, nevoie de el vreodată. Mult mai atractiv mi s-ar părea ceva care să facă asta cu cod LaTeX, dar astea-s deja vise şi īncep să aberez. Ar fi un snippet bun pentru wiki īnsa :-D.
Poate ar fi interesant să īncepem să ne gāndim şi cum am putea să ajungem la cei interesați. Mie mi-a dat un prieten link-ul. Cāți utilizatori şi-au lăsat mail-ul pānă acum? Odată site-ul lansat, ar trebui să vedem cum şi pe unde dăm sfoară-n țară. Eu pot să lipesc un afiş pe la mine prin facultate, dar numai două din cele cinci specializări de la noi sunt legate de programare/calculatoare, aşa că interesul s-ar putea să fie cam restrāns. Īn schimb sunt uşă-n uşă cu facultatea de Automatică şi Calculatoare, şi am un fost coleg de liceu la Electronică, deci pot să-i spam-uiesc şi pe ei :-D.
Ar fi bine daca ai putea sa scrii o parte din tutoriale :) As putea sa ma ocup eu de partea cu instalatul pe win. Pentru linux vazusem ceva simpatic aici: http://unya.wordpress.com/2009/06/07/linux-common-lisp-quickstart/ si oricum te las pe tine daca zici ca ai tot folosit ;) Da, asa e, am putea scrie despre CUSP si Dandelion, dar ambele sunt cam unmaintained. Tot Emacs + Slime raman standard -- asta daca nu vrem sa scriem noi un ide (si deocamdata nu cred ca vrem). Interpretorul de Lisp l-as putea scrie eu in js. Am deja un snippet pe undeva care traduce in prefix in infix pentru un dsl c pe care l-am scris. Uite bucata de cod interesanta: http://paste.lisp.org/display/84809 . Nu e compilabila in forma pastata, dar e suficient ;) Acum vestea proasta: nu prea avem oameni. Noi, cei de pe grup, suntem toti :( Daca ati mai putea aduce oameni ar fi super. Eu o sa le dau un mail profesorilor mei de al cursul de lisp, dar mai e pana incepe anul universitar. Cred, totusi, ca nu ar trebui sa renuntam.
Ca sa sumarizez, ce pot face eu:
- Pot scrie un ghid de instalare pe windows (as putea incerca chiar sa construiesc ceva gen Lisp in a box pentru windows, dar nu am incercat) - As putea scrie cate ceva despre istoria Lisp si despre diversele dialecte cat si despre unele implementari CL. - As putea scrie interpretorul pentru un subset de CL in javascript. - As putea face review la LOL, On Lisp si PCL. - As putea da linkuri catre tutoriale, style guides, etc.
Nu am zis ca le fac pe toate, am zis ca as putea :) Asta inseamna ca daca va palce ceva de acolo nu trebuie sa ezitati sa il faceti, doar sa imi spuneti ce ca sa nu lucram mai multi al acelasi lucru. Daca nu vrea nimeni nimic din lista respectiva am sa fac eu, dar o sa dureze mai mult, din moment ce sunt doar un om :)
Mai am o idee prin care am putea atrage oameni/ajuta sa invete lisp. O sa v-o impartasesc de indata ce primesc raspunsurile voastre la mesajul curent ;)
> O parte din tutorialele/articolele pe care le-ai propus le pot scrie > eu cu toată plăcerea, am făcut asta cāțiva ani la rānd pentru o > revistă romānească aşa că "īmi merge māna" :-D. Mă pot ocupa cam de > oricare īn afară de cel cu instalarea pe Windows, nu de alta dar n-am > mai folosit Windows īn mod curent de nişte ani buni şi nu prea ştiu > cam care-i situația diverselor implementări Lisp sub Windows.
> Dacă vrea altcineva să scrie vreunul din celelalte, l-aş ruga să > anunțe īn timp util că altfel le adjudec din oficiu :-).
> Cred că ar fi util şi un articol separat despre Emacs. Există ceva > alternative la Emacs & SLIME dar cu ceva probleme -- sunt nişte > plugin-uri pentru Eclipse cu destule bug-uri, şi ar mai fi soluții ca > LispWorks, dar alea-s pe bani (versiunile free sunt, cum bine ştii, > bune de īnvățat dar cam atāta),
> Treaba cu calculele matematice e o mai veche manie de-ale mele, de > vreo cāțiva ani īncoace tot zic că o să scriu un ceva scurt care să > convertească expresiile postfix īn s-expresii infix (nu e greu şi > algoritmul e dealtfel consacrat); nu l-am scris, spre ruşinea mea, mai > mult de lene -- nu mă deranjează formularea infix pentru că primul meu > calculator ştiințific era unul RPN., aşa că n-am avut, propriu-zis, > nevoie de el vreodată. Mult mai atractiv mi s-ar părea ceva care să > facă asta cu cod LaTeX, dar astea-s deja vise şi īncep să aberez. Ar > fi un snippet bun pentru wiki īnsa :-D.
> Poate ar fi interesant să īncepem să ne gāndim şi cum am putea să > ajungem la cei interesați. Mie mi-a dat un prieten link-ul. Cāți > utilizatori şi-au lăsat mail-ul pānă acum? Odată site-ul lansat, ar > trebui să vedem cum şi pe unde dăm sfoară-n țară. Eu pot să lipesc un > afiş pe la mine prin facultate, dar numai două din cele cinci > specializări de la noi sunt legate de programare/calculatoare, aşa că > interesul s-ar putea să fie cam restrāns. Īn schimb sunt uşă-n uşă cu > facultatea de Automatică şi Calculatoare, şi am un fost coleg de liceu > la Electronică, deci pot să-i spam-uiesc şi pe ei :-D.
- Un "getting started" pe platforme Linux (şi OS X -- eu OS X folosesc). - Un asemănător "getting started" pentru Emacs şi SLIME - O privire din avion asupra cātorva dialecte Lisp -- Common LISP, Scheme, Clojure, NewLISP - O introducere īn principiile programării functionale, cu aplicații īn Lisp + exemple de utilizare, inclusiv cu situații cānd paradigmele programării imperative sunt mai potrivite. - Un material despre miturile privitoare la Common Lisp
Formatul HTML simplist presupun că e destul de bun :-)?
O sa postez un link si la mine pe blog, poate-poate. Cand o incepe anul universitar poate punem si cateva afise de bun-gust. O sa incerc sa iau legatura si cu colegii de la alte universitati. Stiu ca la Unibuc, la FMI se preda prin anul 3 un curs de inteligenta artificiala unde foloseau Lisp şi Prolog, s-ar putea să fie interesați.
> - Un "getting started" pe platforme Linux (şi OS X -- eu OS X folosesc). > - Un asemănător "getting started" pentru Emacs şi SLIME > - O privire din avion asupra cātorva dialecte Lisp -- Common LISP, > Scheme, Clojure, NewLISP > - O introducere īn principiile programării functionale, cu aplicații > īn Lisp + exemple de utilizare, inclusiv cu situații cānd paradigmele > programării imperative sunt mai potrivite. > - Un material despre miturile privitoare la Common Lisp
> Formatul HTML simplist presupun că e destul de bun :-)?
> O sa postez un link si la mine pe blog, poate-poate. Cand o incepe > anul universitar poate punem si cateva afise de bun-gust. O sa incerc > sa iau legatura si cu colegii de la alte universitati. Stiu ca la > Unibuc, la FMI se preda prin anul 3 un curs de inteligenta artificiala > unde foloseau Lisp şi Prolog, s-ar putea să fie interesați.