6 ms·
Show HN: Spade, A simple programming language with a TUI IDE
- skywal_l 5y agoGreat! Would be nice to have a Turbo Pascal skin.
- hliyan 5y agoI found the development environment extremely elegant, in the true sense of the word: it takes away everything superfluous until only the necessary remains.
- pjmlp 5y agoYou would love Turbo Pascal 3.0, https://olimex.wordpress.com/2013/10/21/turbo-pascal-3-0-running-in-your-browser-javascript-implementation-of-the-legendary-compiler/ https://olimex.wordpress.com/2013/10/21/turbo-pascal-3-0-run...
- FpUser 5y agoFreePascal is way more modern and still has TUI IDE
- pjmlp 5y agoIf that was the point I would have linked the Turbo Pascal 6.0 Turbo Vision based IDE. I linked the TP 3 due to the minimalist remark.
- badsectoracula 5y agoFWIW this isn't really TP3, just a skin over a vaguely TP-like compiler - the first thing i did when i pressed E was to type Ctrl+K D to exit the editor and it just focused Firefox's location bar :-P. Then i noticed it was just a regular textarea editor. But it is indeed a neat minimalistic environment. I used it in a video ~10 years ago to make a simple text based game (i was pretty much improvising the entire thing while i was writing it :-P): https://www.youtube.com/watch?v=tYwHQpvMZTE https://www.youtube.com/watch?v=tYwHQpvMZTE
- pjmlp 5y agoOf course it isn't, I could as well just have mentioned TP 3.0 and leave it there. However I bothered to try to find out something to show to others. TP 3.0 was my first Turbo Pascal, I had floppy with it alongside MS-DOS 3.3, to carry around into highschool computer lab.
- gota 5y agoJust letting you know SPADE is the name of pretty well known algorithm for frequent sequence mining https://en.m.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/Sequence_Mining/SPADE https://en.m.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/...
- analognoise 5y agoJust letting you know, it's also the name of a pretty well known gardening/farming implement that humanity has been using for thousands of years. https://en.m.wikipedia.org/wiki/Spade https://en.m.wikipedia.org/wiki/Spade
- slightknack 5y agoJust letting you know, it's also the name of a pretty well-known suit of cards present in decks of playing cards. https://en.m.wikipedia.org/wiki/Spades_(suit) https://en.m.wikipedia.org/wiki/Spades_(suit)
- DaltonCoffee 5y agoJust letting you know Ace of Spades is a great motorhead song. https://en.m.wikipedia.org/wiki/Ace_of_Spades_(song) https://en.m.wikipedia.org/wiki/Ace_of_Spades_(song)
- kroltan 5y agoJust letting you know Ace of Spades was really cool voxel-based shooter game that was later remade in a terrible commercial version. https://en.wikipedia.org/wiki/Ace_of_Spades_(video_game) https://en.wikipedia.org/wiki/Ace_of_Spades_(video_game) (And of course, it has modern community ports https://www.buildandshoot.com/ https://www.buildandshoot.com/)
- sparkie 5y agoJust letting you know, it's also a very derogatory racist term. https://www.urbandictionary.com/define.php?term=spade https://www.urbandictionary.com/define.php?term=spade
- mysterydip 5y agoReminiscent of QBasic for me. Well done! Looking forward to more development.
- badsectoracula 5y agoLooks neat, kinda reminds me of a cross between QBASIC and Turbo BASIC. I tried it a bit but found a few issues: 1. The about box doesn't seem to use the current term size - it appears out of bounds in 80x24 (which is my default term size). 2. In help, the down arrow key with the cursor on first green letter moves the cursor right. If the cursor is in some other place it hides the cursor. 3. There should be some mouse support, especially in help as it is much easier to point and click on links than navigate the cursor. 4. On the topic on navigation, page up/down should work in help as it makes easier to skim it and skip sections (also IMO sections should be in individual pages instead of having everything mashed together). Tab should also jump the cursor to the next link. 5. Trying to copy and paste an example from help (the first example in graphics, the one with the "graphicswindow(500, 500)", "wait(5)", etc) crashed the program with some out of bounds error. This happened twice but for some reason it didn't happen a third time - not sure what i did different. 6. (after it worked) the example runs but if it exits and i try to run it a second time the IDE disappears (the term goes black with the cursor at the top left) and it hangs - i had to kill it with killall spade) 7. Pasting works from the X clipboard but trying to copy something (doesn't matter if i use Edit->Copy or just select it) doesn't work. 8. Code completion window appears even with single value even after the complete value is written (e.g. if i type break i still get the code completion with a single break value that remains there until i press enter). This isn't really helpful and is annoying. Also it should be possible to "complete" with tab instead of just enter as tab completion is very common. 9. The tab key doesn't seem to work in general. 10. The delete key doesn't seem to work on selected text. 11. Selection seems to work weirdly if i select backwards with Shift+Left arrow - the selection is always in the letters at the left and side of the cursor and the entire line from the end of the selection to the end of the line becomes gray (however Shift+Home works as expected). 12. Not a bug, but IMO errors should move the cursor to the error line and be a little more human friendly than "Expecting some of FunctionStatement but got Token {tkRaw = TkKeyword KwEndIf, TkLocation = Location {lcLine = 6, lcColumn = 3, lcOffset = 237}, tkOffsetEnd" :-P
- sras-me 5y agoVery nice of you to give it a try, and sorry for all the issues. Some of these are known, but most of them are not. So thanks for all the details!
- codeivore 5y agothe searchable help feature is awesome