Coder Social home page Coder Social logo

gelo's People

Contributors

jimmyfrasche avatar

Watchers

 avatar  avatar

Forkers

jmptrader

gelo's Issues

Namespace .Del can be forced to raise an error

A VM is not allowed to write to its parents's namespaces, removing an item from 
a namespace cannot fail. So at present if you attempt to delete an item owned 
by a parent the only recourse is to crash. Solution: Each vm shall have  a 
"black list" set (a map[string]bool, created only if used) that such deletions 
can be recorded in and future namespace lookups fail if the searched name is in 
the blacklist.

Original issue reported on code.google.com by soapboxcicero on 7 Jul 2010 at 12:03

Literate parser in gelrunner.go loops

When run on rpn.lit, the buffer gets jammed at the end and discharges its final 
contents ad infinitium.

Original issue reported on code.google.com by soapboxcicero on 6 Jul 2010 at 10:44

Decide the fate of unparser.go

It was necessary until we made util.go:recordingReader but now it is dead code 
but it could still be used easily for pretty printing, but that does not  seem 
to be something that should be included in what is supposed to be a lightweight 
core and it would have to remain in core since it has knowledge of unexported 
fields. However, it would not be linked unless used.

Original issue reported on code.google.com by soapboxcicero on 6 Jul 2010 at 2:49

TODO: clean up gelo/commands/control.go

This code is very messy. Need to refactor the [junk => junk|otherwise junk] 
matcher out of case-of so it can be used for other control structures.

Original issue reported on code.google.com by soapboxcicero on 6 Jul 2010 at 11:14

Fails to compile with latest go release

What steps will reproduce the problem?
1. cd gelo/src
2. make

What is the expected output? What do you see instead?
Expected: a compiled binary of gelo and associated gelo tools.
Instead:
[russ@myhost src]$ make
cd gelo; make install
make[1]: Entering directory `/home/russ/repos/gelo/src/gelo'
/home/russ/bin/6g -o _go_.6 parser.go interpreter.go vm.go api.go namespace.go 
trace.go types.go port.go list.go dict.go sym.go bool.go number.go quote.go 
error.go builtins.go util.go 
rm -f _obj/gelo.a
/home/russ/bin/gopack grc _obj/gelo.a _go_.6 
cp _obj/gelo.a "/home/russ/repos/go/pkg/linux_amd64/gelo.a"
make[1]: Leaving directory `/home/russ/repos/gelo/src/gelo'
cd gelo/extensions; make install
make[1]: Entering directory `/home/russ/repos/gelo/src/gelo/extensions'
/home/russ/bin/6g -o _go_.6 stdio.go listbuilder.go argparse.go 
rm -f _obj/gelo/extensions.a
/home/russ/bin/gopack grc _obj/gelo/extensions.a _go_.6 
cp _obj/gelo/extensions.a 
"/home/russ/repos/go/pkg/linux_amd64/gelo/extensions.a"
make[1]: Leaving directory `/home/russ/repos/gelo/src/gelo/extensions'
cd gelo/commands; make install
make[1]: Entering directory `/home/russ/repos/gelo/src/gelo/commands'
/home/russ/bin/6g -o _go_.6 all.go eval.go argparse.go names.go control.go 
types.go port.go string.go dict.go math.go list.go logic.go copy.go 
combinator.go io.go regexp.go error.go util.go
rm -f _obj/gelo/commands.a
/home/russ/bin/gopack grc _obj/gelo/commands.a _go_.6 
cp _obj/gelo/commands.a "/home/russ/repos/go/pkg/linux_amd64/gelo/commands.a"
make[1]: Leaving directory `/home/russ/repos/gelo/src/gelo/commands'
cd tools; make install
make[1]: Entering directory `/home/russ/repos/gelo/src/tools'
6g gelrun.go
6g geli.go
geli.go:104: history.Iter undefined (type vector.StringVector has no field Iter)
geli.go:105: typechecking loop
geli.go:244: lines.Iter undefined (type vector.StringVector has no field Iter)
geli.go:245: typechecking loop
geli.go:256: (&history.*StringVector·Slice(_make_slice(vm, "see", args))).Iter 
undefined (type vector.StringVector has no field Iter)
geli.go:257: typechecking loop
geli.go:402: acc.Data undefined (type vector.Vector has no field Data)
geli.go:412: typechecking loop
geli.go:463: r.lines.Iter undefined (type vector.StringVector has no field Iter)
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/russ/repos/gelo/src/tools'
make: *** [tools] Error 2
[russ@myhost src]$ 

What version of the product are you using? On what operating system?
rev.8e61802f62; Archlinux 2010.05 amd64 with go a874585a5d2e tip.

Please provide any additional information below.
In order to get it to compile, had to modify the makefiles to make them more 
crossplatformy. Attached the patch for the makefiles.

Also hacked the code a bit to get it to compile with some unclever alternative 
lines of code but the only example that seems to produce any output is 
syntax.gel. The turtle examples work just fine with my "fixes". Attached a 
patchfile for those fixes as well for review.

Original issue reported on code.google.com by [email protected] on 27 Jul 2010 at 2:04

Attachments:

Should support "go get"

What steps will reproduce the problem?
1. go get code.google.com/p/gelo

What is the expected output? What do you see instead?

It should install gelo. It fetches it, but doesn't install; gelo is not 
organized to be goinstallable.

What version of the product are you using? On what operating system?

Go version 1

Original issue reported on code.google.com by julian.morrison on 2 Jun 2012 at 8:36

builtins.go needs unit tests

builtins.go needs unit tests

Original issue reported on code.google.com by soapboxcicero on 6 Jul 2010 at 11:49

api.go needs unit tests

api.go needs unit tests

Original issue reported on code.google.com by soapboxcicero on 6 Jul 2010 at 11:48

Can't compile project

What steps will reproduce the problem?
1. get last stable go release
2. download gelo
3. run make

What is the expected output? What do you see instead?

expected compilation goes fine (not really, because project seams to be 
outdated), And got error:

$ make
cd gelo; make install
make[1]: Entering directory `/tmp/gelo/src/gelo'
8g -o _go_.8 parser.go interpreter.go vm.go api.go namespace.go trace.go 
types.go port.go list.go dict.go sym.go bool.go number.go quote.go error.go 
builtins.go util.go 
interpreter.go:189: cannot use multiple-value assignment for non-blocking 
receive; use select
vm.go:40: cannot use multiple-value assignment for non-blocking receive; use 
select
port.go:17: cannot use multiple-value assignment for non-blocking receive; use 
select
make[1]: *** [_go_.8] Error 1
make[1]: Leaving directory `/tmp/gelo/src/gelo'
make: *** [pkgs] Error 2

Original issue reported on code.google.com by [email protected] on 25 Apr 2011 at 9:09

TODO: clean up gelo/commands/argparse.go

The current code for the arg parser is messy and disorganized. Passes an entire 
object around that when only one map is required and said map could be made 
part of the match type.


Original issue reported on code.google.com by soapboxcicero on 6 Jul 2010 at 11:04

gelo/vm.go needs unit tests

gelo/vm.go needs unit tests

Original issue reported on code.google.com by soapboxcicero on 6 Jul 2010 at 11:56

Unify formatting of errors and traces, make idiomatic

Currently trace and error have their own subtly different but essentially 
identical mechanisms for formatting gelo objects. These should be replaced by 
satisfying the stringer and gostringer interfaces for internal types and 
whatever whosits lie in fmt. This would clean up a lot of internal code but 
should not affect functionality unless as a by-product a cleaner way of 
presenting data arises.

Original issue reported on code.google.com by soapboxcicero on 6 Jul 2010 at 11:39

Pass arguments with a mechanism other than defer?

Should we not use defer for passing arguments. It would allow us to do more, 
but we would need to keep track of a great deal more data, especially during 
recursion, that at present we are happily offloading on to the go call stack.

Original issue reported on code.google.com by soapboxcicero on 6 Jul 2010 at 11:24

Factor the examples in tools/

There is common functionality that may deserve to be factored into a new 
sub-package. At the very, least they should be broken up into multiple files.

Original issue reported on code.google.com by soapboxcicero on 6 Jul 2010 at 11:46

safe-eval needs a --with-env switch

It will never be truly safe until we can banish dastardly names from its 
reaches.

Original issue reported on code.google.com by soapboxcicero on 6 Jul 2010 at 11:22

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.