From this page, you can download three programs: Pasithea, Philotes, and Hypnos. Binaries are provided for Windows, MacOS, and Linux.
Pasithea is the text editor and IDE. This is the program you should download if you want to write Java code for your assignments.
Philotes is an interactive interpreter for Java, and Hypnos is a non-interactive interpreter for Java. You may want to download Philotes to learn by playing: you can use it to write and execute Java code interactively and see what happens. You probably don't need to download Hypnos for anything.
If you're unsure which program or programs to download, download Pasithea only.
Download links:
Pasithea: Linux,
MacOS,
Windows
Philotes: Linux,
MacOS,
Windows
Hypnos: Linux,
MacOS,
Windows
Last updated: 01/30/2022
To use Pasithea, you need to know the following four keyboard
shortcuts:
Ctrl-O: Open a file
Ctrl-R: Retype/modify the input you want to give the
program you're writing when it prompts you with
keyboard.nextSomething().
Ctrl-I: Modify the number of iterations Pasithea will run
a loop before assuming you messed up and wrote an
infinite loop. The default is 100.
Ctrl-L: Toggle line numbering on/off. The default is off.
There is no save shortcut, because, as long as you've opened a
file, Pasithea saves your code to disk continuously to that file
as you write.
Philotes and Hypnos are command line programs that you run from a command prompt and type things into using the keyboard. You need to run them from cmd.exe or the MacOS or Linux Terminal.
These programs should not crash, but they might, because they're not well-tested. If you discover a way to make them crash, I need to know about it. Please email me right away with a detailed description of what you did that made the program crash, and attach the file you were working on at the time of the crash. I will look into the problem as soon as I can.
Note: These programs do not yet support the C programming language. If you're a 1000 student, do not download these files yet; they will not work for you. Check back later in the semester for updated versions of these programs.
If you're a 1301 or 1000 student, you can stop reading here. The rest of this page is intended for advanced programmers who may want to make improvements to Pasithea, Philotes, and Hypnos. If you're a 1301 or 1000 student, and would like to recommend an improvement to these programs, please do email me, and I'll consider your suggestion. However, these are large programs, and they're not written in the language you've studied in class, so I don't expect you'll be able to make changes to these programs yourself yet. You're welcome to try anyway, of course, but Robot-Poet-Warlord might be a more appropriate thing for you to hack around with if you're bored and want to get ahead.
If you would like to view and/or modify the source code for Pasithea, Philotes, and Hypnos yourself, please go here. The source languages are C++, Bison, and Flex. To build the programs yourself, you'll need modern versions of GCC, Python 2.7, Bison, Flex, and xxd installed. You'll also need the shared libraries and devel headers for FLTK, and you'll need to download, compile, and install into your $PATH the bake build system. I've only ever tried to build these programs on Linux, and I generated the Windows and Mac binaries through cross-compilation.
For that reason, make sure that WIN32=False and MACOSX=False in the two baker.py files. Enabling the WIN32 or MACOSX flags will cause the build system to attempt a cross-compilation that is sure to fail unless you've somehow exactly replicated my cross environment.
No matter your host OS, set LINUX=True in both baker.py files, because all "LINUX=True" means is "compile for the host OS, not a cross target". Building these programs on Unices other than Linux with LINUX=True is likely to work, as long as you have all the prereqs installed and know what you're doing, but there are a lot of moving parts, so you could run into trouble. The build system -- bake -- is documented in its README.
May God have mercy on your soul if you try to build this natively on Windows. That's not going to work, no way no how. One problem is that the build system invokes sh -c at a few points. Another problem is you'd have to install GCC, FLTK, Bison, Flex, xxd, and bake, and put them all into your %PATH%, and some part of that is bound to go wrong. Just save yourself some pain and install Cygwin or Bash for Windows if you want to use a Windows machine to do dev work on this.
Patches to enable native compilation on other targets -- including Windows -- are welcome, though.