Closed hikari-no-yume closed 9 years ago
Also if we could keep it small and somehow all within that function (yolisp
), that'd be great, and I'm p sure we can as all these things are tiny. Shortening the operator functions implementation down a bit would help w/ that.
Oh, I forgot the most important one, we need lexically scoped closures, errybody loves closures:
Though I suppose we already have them, you just can't mutate state. And immutability is good!
head? tail? what is this blasphemy?
@igorw Haskell has head and tail, don't you like Haskell? ;)
I cdr drive over haskell with my car
you over haskell with my nil?
type error!
Wait, I know. 'Auto'
and 'Cédérom'
?
we should totally support CD-ROMs on lists
cons, car, cdr: https://github.com/igorw/yolo/pull/21
Needs some of these things probably:
cond
, I'd prefer(if <expr> <true> <false>)
)cons
,head
andtail
(how do you even lisp without them c'mon)let
quote
numbers,['+', ['quote', 2], ['quote', 2]]
is dumb, c'mon even scheme supports(+ 1 2)
Stuff we do have already so we don't need to add it:
lambda
eq
(==
and!=
operators)Stuff we could add that'd be pretty cool I mean yeah wouldn't it just be
->
and::
operators['quote', __FILE__]
or w/eWith those, we could reimplement core yolo in yolisp.
See: http://bodil.org/building-lisp/#30