Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

93 lines (59 sloc) 3.125 kb

Lucio (en)

What?

Lucio is intended to be a Lisp-like language developed in Ruby only for knowledge and fun. No profit intended.

Why?

From Latin, Lucius means Light, because this development is enlightening my (poor) knowledge about programming languages, parsing and related subjects.

Lucio is also the name of one of the most important teachers I had, and I found this as a kind of homage.

The last, but not least, reason is to practice TDD, since I'm developing all the code using test-first.

When?

Lucio is developed in my almost nonexistent spare time as a way to keep me learning and passionate with software development.

Who?

The list of colaborators is in the end of this file, in the Portuguese session.

Small sample

(/ (* (+ 1 2) (+ 3 4)) 2)
=> 10.5

(eql? (* (+ 1 2) 3) 9)
=> true

(if (eql? 10.5 (/ (* (+ 1 2) (+ 3 4)) 2))
  ("great"))
=> "great"

(if (eql? 0 (/ (* (+ 1 2) (+ 3 4)) 2))
  ("great")
  ("ouch"))
=> "ouch"

Lucio (pt_BR)

O que é?

Lucio tem a intenção de ser um dialeto Lisp desenvolvido inicialmente em Ruby apenas por diversão e aprendizado, sem qualquer intenção de lucro financeiro.

Por que?

Em Latim, Lucius significa Luz, ou Iluminação, porque esse projeto está iluminando meu (pobre) conhecimento sobre linguagens de programação, interpretadores e assuntos relacionados.

Lucio é também o nome de um dos mais importantes professores que já tive, e encontrei nesse projeto uma forma de homenageá-lo.

O último motivo, mas não menos importante, é poder praticar TDD, partindo do princípio que estou desenvolvendo todo o código utilizando essa metodologia.

Quando?

Lucio está sendo desenvolvido em meu quase inexistente tempo livre como uma forma de me manter sempre aprendendo coisas novas e motivado a continuar desenvolvendo.

Quem?

Sou apenas um rapaz latino-americano sem dinheiro no bolso nem amigos importantes, mas que realmente adora o que faz e muito curioso. Se você quiser participar e colaborar, crie um fork e comece a codificar. Simples assim.

A lista de colaboradores está no final desse arquivo e, espero que continue crescendo.

Exemplos simples

(/ (* (+ 1 2) (+ 3 4)) 2)
=> 10.5

(eql? (* (+ 1 2) 3) 9)
=> true

(if (eql? 10.5 (/ (* (+ 1 2) (+ 3 4)) 2))
  ("great"))
=> "great"

(if (eql? 0 (/ (* (+ 1 2) (+ 3 4)) 2))
  ("great")
  ("ouch"))
=> "ouch"

Colaboradores:

Agradecimentos de pbalduino:

  • Mestre Lúcio, pelo conhecimento e também pelo conhecimento que esse conhecimento trouxe;

  • Minha esposa, pela paciência e apoio;

  • Guy Steele, pelo Scheme, Common Lisp, Java e Javascript;

  • Luciano Siqueira

  • Bruno Jessen

  • Santiago Nunes

  • Douglas Campos (/qmx) @qmx

Jump to Line
Something went wrong with that request. Please try again.