Skip to content

Social-Justice/new_shit

 
 

Repository files navigation

what is this
===
a proof of concept of a structural editor and a programming / shell language / user interface, inspired by inform 7, playing with natural language-like projections and stuff
screenshots: <http://imgur.com/a/otY8X#1>
info: http://goo.gl/1XilSW
irc: [irc://irc.freenode.net/lemonparty](irc://irc.freenode.net/lemonparty)


dependencies
===
needed:
python3.4 (?)
fuzzywuzzy - for basic ordering of the menu

recommended:
cffi and libmarpa - needed for parsing
apt-get install python3-cffi
or
pip3 install --user cffi
https://github.com/jeffreykegler/libmarpa.git
or run with --lame

apt-get install python3-pip python3.4
pip3 install --user fuzzywuzzy

the pygame frontend requires pygame, obviously  
python3 pygame:
https://packages.debian.org/experimental/python3-pygame
http://pygame.org/wiki/CompileUbuntu
https://launchpad.net/~thopiekar/+archive/ubuntu/pygame <- seems to not include freetype


running it
===
src/sdl_client.py

if the latest commit doesnt run, git checkout HEAD^ until you find one that does:)


getting started
===
some context sensitive help is in the sidebar. Press F1 to toggle between menu and help. Move the cursor a bit. 
Stop by in the irc channel. 



help wanted
===
here are some (random and possibly outdated) things that i think would help lemon further, sometimes directly, sometimes by making it more
accesible/interesting to other people. Some understanding of lemon is usually
necessary though. I will be more than happy to explain every detail, but be prepared that it takes some time.
some (messy) notes are also notes1, and search for "todo" in the source files..

* add more standard library functions, operators for strings and lists

* help developing the license

* look into runnig lemon in pypyjs or compiling it to asm.js

* improve the curses frontend, figure out what keys to use

* do more research on or write comparisons of related projects (projectured, cedalion, MPS, eastwest..)

* figure out how to have a better font in pygame (for mathy expressions, for example) compatible with lemon license (search notes1 for 'font')

* improve logging, use: (todo)

* integrate some test framework

* lemon needs a better data model for the ast nodes. Looking into oldman, or pure rdflib, or a rewrite in another language. Or into graph libraries. And inferencers..

* alternatively, lets try to do with what we have now and use lemon for user shell-like features or editing triples or narsesse or anything


files
===
* sdl_client.py: the frontend, handles a window, events, drawing. run this one.
* nodes.py: AST classes
* widgets.py textbox, number box, button..
* element.py - both widgets and nodes descend from Element
* tags.py: the results of calling element.render(), text, attribute, child..
* server_frames.py, rpcing_frames.py: the panels: Root, Menu, Info..
* lemon_colors.py: color settings
* lemon_args.py: command line arguments
* notes1: a failed attempt to migrate all documentation into lemon:)



license
===
not decided yet, some standard license or this experiment: <https://github.com/koo5/Free-Man-License> 
For now: By contributing to lemon, you agree to granting me nonexclusive rights to use your contribution (with attribution) within lemon, in any way, including relicensing and reselling. Also, the patent claim protection clauses like in http://www.gnu.org/licenses/agpl-3.0.html apply.:)

About

lemon operating language

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.2%
  • Other 0.8%