Project

lucio

0.0
No commit activity in last 3 years
No release in over 3 years
Lucio is intended to be a Lisp-like language developed in Ruby only for knowledge and fun.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.0.0
~> 1.6.4
>= 0
~> 0.4.0

Runtime

~> 0.0.3
 Project Readme

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