Monday, June 30, 2014
Monday, November 12, 2012
CONneD
(COND
(condition1 result1 )
(condition2 result2 )
. . .
(T resultN ))
That seems fairly straight forward, except that it's not. In fact some of the other elementary functions may assume some not so straight forward back-end details like garbage collection, stacks, and other "implementation" details that one shouldn't worry too much about. Except when you go to implement them. And, all of a sudden things grow extra legs.
That COND function has a lot to it that might not jump out immediately. Each condition is an expression that can be EVALuated. In theory COND can have an infinite number of condition-result blocks. If each condition returns False, then COND really starts to look a lot like a procedural program as opposed to the functional nirvana that "functional" languages tout. In implementing COND, one could use tail call recursion which brings yet another possibly ugly detail to the fore. COND like an if-else if-else block gone wild is really the engine that drives the language, any language, maybe any program.
Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
I've heard that every language and program eventually becomes a Lisp, but if you meditate on COND, you may realize why. It may be more that every language and program uses some form of COND which provides mechanism for the edge cases for every program. So, it's not so much that every program becomes Lisp, but more likely that programs can become overly complicated and start to grow extra legs.
Somehow, I feel like I am being conned.
Saturday, April 14, 2012
Hello
mi: HELLO -- get, open
Let's try it out in some other languages and programs and see what happens...
machete:src mmphosis$ hello
-bash: hello: command not found
machete:src mmphosis$ python
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> hello
Traceback (most recent call last):
File "", line 1, in
NameError: name 'hello' is not defined
>>> ^D
machete:src mmphosis$ ruby
hello
-:1: undefined local variable or method `hello' for main:Object (NameError)
machete:src mmphosis$ perl
hello
machete:src mmphosis$ php
hello
hello
machete:src mmphosis$ cat
hello
hello
In Lisp, I guess the closest word is QUOTE, but in machete it works more like PHP where everything is quoted and the code is embedded. I call this AUTOQUOTE. Instead of emitting something arcane like "command not found" machete prints the text that was read. It also makes it easy to create a hello world program because you simply type hello world and you're done.
You might also think about Hello as a loader that implicitly loads. Or, hello is the boot, the boot loader, the startup, the greeting, init, or AutoExec.bat. It opens, gets, and outputs the contents unfiltered. It could be named all kinds of greeting words: hello, hi, bonjour, greetings, etc... it doesn't have a specific command because like most things in machete: it's implied.
Thursday, March 24, 2011
language for what reason
Saturday, July 10, 2010
onions

things that are "undefined"
things that may be "invalid"
things that are confusing
things that are inconsistent
things that are awkward
things that are annoying
things that are loud
things that are ugly
things that don't work
things that just don't look right, whatever that means
things that do look right, but don't work or don't work as expected
and these brackets, yeah I know you call them parentheses, they are still bugging the hell out of me!
even the word parentheses is difficult to type
things that are over-engineered, hmmm, I'm saying this. That says something.
Thursday, January 28, 2010
Sunday, March 22, 2009
Hello, Wordl
Tuesday, February 10, 2009
When in doubt, take a leap.
Linux (or BSD :) would...
Linux (or BSD :) ) would...
Edward Guess's username is the guessed account.
Friday, December 19, 2008
Chisel
Concurrency isn’t a “nice layer over pthreads” - the most important thing is isolation - anything that mucks up isolation is a mistake.— Joe Armstrong
god said so
Monday, September 29, 2008
Machete Promoted!
Machete receives top rating! The machete language has been rated five stars as the best programming language ever! Machete really is the next big little language. Mark Stock, famous language designer and hacker extraordinaire will soon be bringing out a new book about machete the hacking language that is sweeping the programming world. Slated to go on tour after the book's release, Mark had just this to say: "It's been a real whirlwind. Adopters everywhere are screaming with delight about this new found programming language."with apologies to Edsger W. Dijkstra
Thursday, July 3, 2008
Mark Stock's Road to Lisp -- Not

I, Mark Stock, do solemnly offer these my responses to The Road to Lisp Survey:
When did you first try Lisp seriously, and which Lisp family member was it?
I did not try Lisp seriously. I couldn't get any available family members to compile or run.
Many of us had multiple run-ins with Lisp before it "stuck". The "stick" date is of most interest, but you can share earlier encounters if you like.
What led you to try Lisp?
Someone once said that I should try Lisp. But, trying is lying. As Yoda says: "Do, or do not. There is no 'try.'"
What other languages have you been using most?
C, Basic, assembler, HyperTalk, machete
How far have you gotten in your study of Lisp?
I know this is hard to quantify. Just wing it.
I am still blocked by the sight of all of those brackets. Emacs makes me go totally numb.
What do you think of Lisp so far?
I like the meta-circular thing. I've always thought about code and data in the same bucket despite any rules to the contrary.
Please delete all but one of these cross-referencing tags: *(Switch Date not yet)
Thursday, May 29, 2008
rant: the HTML rant tag
No! I am not ranting. I swear. Me? Rant? No way! Wait a minute. I am ranting.
I am not sure that the HTML rant tag has anything to do with machete. Or, maybe the HTML rant tag will be the only product of the machete language. Anyhoo, while cruising the web for steampunk and of course whiling those time-consuming right turns, got Gigablasting neuromancer and bumped into the Sarcasm mark, as in <sarcasm>Oh really?</sarcasm>, which has lead me back to the HTML Rant tag.
<rant>Aaaaaaagh! It's already defined in urbandictionary.com. Oh well. There is nothing new to define. Which means there is only one way to go forward: go backwards. Get out the machete and start hacking out keywords.</rant>
In the words, or at least the sig, of Michael J. Mahon:
"The wastebasket is our most important design tool--and it's seriously underused."
Friday, May 9, 2008
Why be modular? Carving out a niche
Yes, we can carve the chair out of a block of wood. Our tool of choice is machete, so naturally carving might be a way of using this tool. But, machete is not actually about using the tool, machete is about intuition. The machete usually only comes out when there is so much real foliage blocking us from where we get to where we need to go.
Are we carving a chair? Why are we constructing a chair? Is constructing a chair a good of example of what we need to construct? Do we need to construct anything at all? Perhaps, we have everything that we need already. Perhaps, we need less. Perhaps, we have way too much just like when there is too much foliage and it's blocking us. Perhaps, it is time to use machete and hack out some code.
Tuesday, March 18, 2008
Let's get out of our comfortable armchairs
Paris drives the monster truck atop flattened cars.
Monday, August 13, 2007
the keeper of all prayers
ARCHANGEL URIEL: This is Archangel Uriel. I am the keeper of all prayers. All prayers are recorded by the angels. And I am the overseer of every prayer. You imagine that it sounds like a great responsibility — to be responsible for every prayer of all beings, not only in this world, but in other worlds. But we have our version of computers too.
No prayer goes unheard. Know this. That is all. Archangel Uriel.
Sunday, April 1, 2007
unary
The Cosmic Computer Jocks
Some mission members are in our special computer division. These members are experts in the art of inter-dimensional interfacing. They are this mission's Cosmic Computer Jocks, and they have the capacity to act as the very linkage between the dimensions.
This division specializes in the translation of third-dimensional binary computer language into a fifth-dimensional unary linguistic system. Although any computer expert on this planet will tell you that such a translation is not possible, what they actually mean to say is that they could not do it. That is why they are not being asked to. We have sent in our own specialists instead.
Another aspect of this division's task is to bring new software to this plane with programs that no one here has dreamed possible. These programs are fifth-dimensionally designed and apply to every aspect of the transmutational process. Not only can they unscramble existing confusing and dysfunctional programs, but they can also realign them with our database which will automatically reprogram them back into light.
Our computer team is here to disseminate our new software throughout the planetary sphere in preparation for the final dimensional link-up. Their very bodies are the silicon chips of our computer matrix, and their presence is the keyboard of our system. They are state-of-the-art hardware and are completely immune to any computer virus as well as very user-friendly.
Thursday, March 8, 2007
7 words
| In the briefest of terms, these are the words and their basic meanings: |
| No..................... sets limits, defines boundaries and develops clarity |
| Hello............................. opens up to new attitudes and relationships |
| Thank You.............................. expresses the feeling of appreciation |
| Goodbye............................. closes and completes what needs to end |
| Please................................................... asserts clearly defined goals |
| Sorry........................... is said to help repair the damage we've done |
| Yes......................... indicates acceptance, tolerance and willingness http://www.7words.co.uk/ |
Thursday, March 1, 2007
love
I am removing the picture of the machete from this original posting.customer service 2 1ove
http://www.folkcuba.com/stores/bot_images/dj29_OgunMachete480.jpg
(Mark 2008may29)





