# HG changeset patch # User Jan Vrany # Date 1443447597 -3600 # Node ID 2f28df70181a4db2cd414253b831eefeafdf1e1f # Parent 7597503194b82ba9184ae20876b9b1ab440bc9e4 Added README, license and copyright notice diff -r 7597503194b8 -r 2f28df70181a README.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.md Mon Sep 28 14:39:57 2015 +0100 @@ -0,0 +1,66 @@ +# Tea Language + +**Tea** is an experimental DSL based on Smalltalk language that compiles +statically to (optimized) machine code. It depends on LLVM toolchain to +actually optimize and generate target machine code. + +## Prerequisites + +* An x96_64 Linux box +* GNU Make & C++ compiler (GCC / Clang would do it) +* LLVM *3.8* installation - requires libLLVM.so shared library + +## Loading into Smalltalk/X + +**1.** Get [Smalltalk/X jv-branch](https://swing.fit.cvut.cz/projects/stx-jv/) (preferably a night build). + +**2.** Clone *Tea*, *Ring* and *LLVM-S* repositories + +``` +#!bash + mkdir -p ~/SmalltalkXProjects/jv + mkdir -p ~/SmalltalkXProjects/stx/goodies + hg clone https://bitbucket.org/janvrany/stx-goodies-ring ~/SmalltalkXProjects/stx/goodies/ring + hg clone https://bitbucket.org/janvrany/jv-llvm-s ~/SmalltalkXProjects/jv/llvm_s + hg clone https://bitbucket.org/janvrany/jv-tea ~/SmalltalkXProjects/jv/tea +``` + +**3.** Compile LLVM C Extension library + +``` +#!bash + cd ~/SmalltalkXProjects/jv/llvm_s/llvm_c_ext + make LLVM_CONFIG=~/path/to/llvm-3.8/bin/llvm-config +``` + +**4.** Load the package into Smalltalk/X +``` +#!smalltalk + Smalltalk loadPackage: 'stx:goodies/ring'. + Smalltalk loadPackage: 'jv:llvm_s'. + Smalltalk loadPackage: 'jv:tea/compiler'. + Smalltalk loadPackage: 'jv:tea/compiler/cli'. +``` + +## Documentation + +* [Project wiki](https://bitbucket.org/janvrany/jv-tea/wiki/Home) + +But do not expect much - it's more of an unsorted list of comments and thoughts +rather than documentation or even 'language specification'. + +## Authors + +* Jan Vrany + +## License + +This code is not an open-source (yet). You may use this code +for your own experiments and projects, given that: + +* all modification to the code will be sent to the + original author for inclusion in future releases +* this is not used in any commercial software + +**This license is provisional and may (will) change in +a future.** \ No newline at end of file diff -r 7597503194b8 -r 2f28df70181a license.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/license.txt Mon Sep 28 14:39:57 2015 +0100 @@ -0,0 +1,9 @@ +This code is not an open-source (yet). You may use this code +for your own experiments and projects, given that: + +* all modification to the code will be sent to the + original author for inclusion in future releases +* this is not used in any commercial software + +This license is provisional and may (will) change in +a future. \ No newline at end of file