Skip to content

stupidsing/suite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What is this?

Library, mostly Java, with all sorts of useful code pieces and courageous attempts by myself. In particular it has

some code come with simple JUnit test cases, in src/test/java folder.

Most often I come to a new book in library, tried to grasp some ideas from it, and write something new into this repo. Obviously I am a wheel-reinventer. You can see I tend to write the same thing again and again, and I hope I learnt something through the process.

Recently I was thinking about a new name for this muddle of stuff... maybe call it 'pointless', or call it 'dangerous' :-) lots of rename refactoring need to be done though.

Who am I?

An enthusiastic programmer, with some computer science, maths background. I write Java for living (curriculum vitae).

Any pre-requisites to build this mess?

Get following reasonable things ready:

  • Linux, unix, or cygwin
  • git
  • openJDK
  • Apache Maven
  • eclipse
  • rlwrap if you want more command-line convenience

Import the Hong Kong Post root CA:

curl -sL http://www1.ecert.gov.hk/root/root_ca_1_pem.crt > /tmp/root_ca_1_pem.crt keytool -import -trustcacerts -keystore ${JAVA_HOME}/lib/security/cacerts -storepass changeit -alias hong_kong_post_root -file /tmp/root_ca_1_pem.crt

Check-out and execute run.sh. It builds Java code, and performs some pre-compilation.

How to set up the project in eclipse?

Execute command mvn eclipse:clean eclipse:eclipse and imports the project into any workspace.

How to evaluate logical programs?

printf '? dump something, nl' | ./run.sh --quiet

How to evaluate functional programs?

./run.sh evaluate 'true'

How to evaluate functional filters?

printf 'inputs...\ninputs...\n' | ./run.sh filter reverse

How to evaluate monadic functional filters?

./run.sh --use MONAD filter --do 'concatm . map {sh/ {}} . split {10}'