Menu

Tree [37559f] master /
 History

HTTPS access


File Date Author Commit
 docs 2012-12-13 mmolle mmolle [bac65c] * added BLOCK RETURN-FROM
 libs 2012-12-17 mmolle mmolle [37559f] * new builtins: stringp symbolp symbol-to-string
 Makefile 2012-12-17 mmolle mmolle [3ada85] * varcaches implemented
 README 2012-12-07 mmolle mmolle [29a9d0] * fixed the makefiles (again...)
 annotations.c 2012-12-05 mmolle mmolle [2daf0b] soooo... now we have stacktraces with files and...
 block.c 2012-12-13 mmolle mmolle [bb4d61] * made BLOCK safer.
 builtinenv.c 2012-12-17 mmolle mmolle [37559f] * new builtins: stringp symbolp symbol-to-string
 builtins.c 2012-12-17 mmolle mmolle [37559f] * new builtins: stringp symbolp symbol-to-string
 config.h 2012-12-11 mmolle mmolle [f5f77f] limpy first commit
 dict.c 2012-12-17 mmolle mmolle [3ada85] * varcaches implemented
 error.c 2012-12-14 mmolle mmolle [88069b] * added (finally TRY FINALLY)
 eval.c 2012-12-17 mmolle mmolle [bf30f1] less ifs in param assigning-flow
 file.limo 2012-12-17 mmolle mmolle [3ada85] * varcaches implemented
 filetest.limo 2012-12-15 mmolle mmolle [3767d3] stuff
 hanoi.limo 2012-12-17 mmolle mmolle [3ada85] * varcaches implemented
 helpers.c 2012-12-17 mmolle mmolle [3ada85] * varcaches implemented
 init.limo 2012-12-15 mmolle mmolle [05c81b] * made init.limo fancier (there is now -e for e...
 limo.c 2012-12-17 mmolle mmolle [7353ac] * variable place-caching implemented
 limo.h 2012-12-17 mmolle mmolle [37559f] * new builtins: stringp symbolp symbol-to-string
 limpy.c 2012-12-14 mmolle mmolle [88069b] * added (finally TRY FINALLY)
 limpy.h 2012-12-11 mmolle mmolle [a9ebc5] * limpy is halfway usable now...
 limpy.limo 2012-12-17 mmolle mmolle [3ada85] * varcaches implemented
 list.limo 2012-12-17 mmolle mmolle [3ada85] * varcaches implemented
 makers.c 2012-12-15 mmolle mmolle [de551f] * added constants SPEEDUP
 numbers_gmp.c 2012-12-17 mmolle mmolle [7353ac] * variable place-caching implemented
 reader.c 2012-12-17 mmolle mmolle [7353ac] * variable place-caching implemented
 special.c 2012-12-07 mmolle mmolle [29a9d0] * fixed the makefiles (again...)
 std.limo 2012-12-17 mmolle mmolle [37559f] * new builtins: stringp symbolp symbol-to-string
 string.limo 2012-12-17 mmolle mmolle [3ada85] * varcaches implemented
 tests.limo 2012-12-15 mmolle mmolle [ba0379] * cleanup
 vars.c 2012-12-17 mmolle mmolle [3ada85] * varcaches implemented
 writer.c 2012-12-17 mmolle mmolle [3ada85] * varcaches implemented

Read Me

Limo:

written by M. "mokrates" Molle

Licensed under GPL (v3) (applies to all files in this tarball)
http://www.gnu.org/licenses/gpl.html

**************************************

how to build:
should be buildable by just entering 'make'.

dependencies:

build-essential (gcc, make)
libgc (boehm garbage collector)
libreadline
libgmp (gnu multiprecision library)

**************************************

specials:

on REPL:    _	: the last evaluated value

(try TRY CATCH)	: the TRY form is tried. if an error occurs, the CATCH form will be executed
     	 	  In the CATCH form, there is a var _EXCEPTION which contains the
		  argument to throw().

_exception	: see try

_callerenv	: the environment of the caller. not neccessarily equal to _up
		  only valid in macros. (used by quasiquote())

(eval EXP [ENV]): evaluate EXP under environment ENV. EXP and ENV are evaluated once under the
      	  	  normal environment, as befits a function. THEN EXP is evaluated again.

_env		: no real variable. has no entry in the environment.
		  the internal lookup-function returns the local environment to this name.

dcons/#<eagain>	: #<eagain> are instances of a type which cannot be instatiated by a program.
	  	  what CAN be instantiated are dcons'es.
		  #<eagain> is a type used to implement tailcall-optimization. if an EXP is the
		  last in an eval-chain, it is not evaluated, but packed into an #<eagain>
		  (evaluate again) and returned. this is purely internal.
		  it can be used with dcons(). dcons is a builtin, which evaluates it's first
		  argument, packs the second into an #<eagain> and cons'es those two.
		  this way the cdr of the cons only gets evaluated, when cdr() is called on the
		  cons. this is limo's way of implementing iterators.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.