Sign In
Code Monkey Have Fun
Options
Email Blog Author
RSS for posts
Atom
RSS for comments
OK
Search
Advanced search options...
Search In:
Everything
Blogs
Forums
People
Groups
Places
Pages
Date range:
All Time
Last Year
Last 6 Months
Last 3 Months
Last Month
Last Week
Last Two Days
Tags
C#
Calculators
Composition
Concatenative Languages
Continuations
CPS
Curiosities
Demo Code
F#
Forth
FRP
FScheme
HP-35
HPCalcs
Kids Programming
Logo
Magimathics
Microsoft Life
Pages
Project Euler
Recursion
RPN
Scheme
TransForth
Turtle Graphics
Archive
Archives
January 2012
(2)
December 2011
(1)
September 2011
(2)
August 2011
(1)
June 2011
(1)
April 2011
(1)
March 2011
(2)
February 2011
(5)
January 2011
(2)
November 2010
(1)
October 2010
(1)
September 2010
(9)
June 2010
(2)
March 2010
(3)
February 2010
(3)
January 2010
(9)
December 2009
(2)
October 2009
(1)
September 2009
(4)
August 2009
(7)
April 2009
(3)
December 2008
(1)
September 2007
(1)
April 2007
(3)
November 2005
(1)
February 1996
(1)
Blog - Link List
Blogroll
Tomas Petricek
Harry Pierson
Dustin Campbell
Don Syme
Luca Bolognese
Luke Hoban
Matthew Podwysocki
James Iry
Steve Horsfield
Tom Kirby-Green
Mads Torgersen
Wes Dyer
Retro Programming - John Metcalf
Gram Wheeler
Favorites
Talks
Posts
Quotes
Posts
Subscribe via RSS
Sort by:
Most Recent
|
Most Views
|
Most Comments
Excerpt View
|
Full Post View
Code Monkey Have Fun
96 Line F# Emulator + 960 bytes of HP-35 Microcode
Posted
15 days ago
by
Ashley Feniello
0
Comments
[Part 3 of the HP Calc series ] In this post, we’ll create a 96-line F# emulator for the HP-35 calculator with which we’ll run the 960 byte (!) ROM image. As you may well know, I am a calculator freak. The 40-year-old HP-35 is an especially...
Code Monkey Have Fun
Introducing the Cult of the Bound Variable to the Cult of Forth
Posted
1 month ago
by
Ashley Feniello
0
Comments
[The twelfth in a series of posts on the evolution of TransForth ] It’s been quite fun playing with this Universal Machine from the Cult of the Bound Variable . In this post we’re going to continue the journey toward building a full Forth for this...
Code Monkey Have Fun
Lego KinNXT
Posted
1 month ago
by
Ashley Feniello
12
Comments
I’ve been having some fun playing with the Kinect SDK and the Lego NXT kit . The protocol to talk to the Lego brick over Bluetooth is pretty straight forward. Below is a little F# module for most of the basic commands. I’ll fill out the full set soon...
Code Monkey Have Fun
Programming a 2000 Year Old Sandstone Computer
Posted
4 months ago
by
Ashley Feniello
0
Comments
[The eleventh in a series of posts on the evolution of TransForth ] If you think coding with punch cards is old school, you should try using sandstone tablets! Legend has it that members of the Cult of the Bound Variable designed and may have even...
Code Monkey Have Fun
Meta-Circular Chicken and Egg
Posted
5 months ago
by
Ashley Feniello
0
Comments
[The tenth in a series of posts on the evolution of TransForth ] This post may not quite be deserving of a wizard’s cape and 2001 Space Odyssey background music as when Sussman writes out Lisp in Lisp (at 34:34 - my absolute favorite SICP lecture...
Code Monkey Have Fun
Going “Retro” and Loving It!
Posted
5 months ago
by
Ashley Feniello
1
Comments
Continuing my concatenative language kick, I’ve been having fun playing with Retro ( http://www.retroforth.com ) and couldn’t resist making an F#-based VM on which to run it. It is an elegant, minimal Forth with an important twist. What caught...
Code Monkey Have Fun
Project Euler Problem #14
Posted
8 months ago
by
Ashley Feniello
2
Comments
Longest hailstone sequence with starting number under one-million. let hailstone n = Seq.unfold ( function 0L -> None | 1L -> Some(1L, 0L) ...
Code Monkey Have Fun
Programming is “Pointless”
Posted
9 months ago
by
Ashley Feniello
6
Comments
Some may call it “pointless”, but I absolutely love the point-free tacit programming style . The level of brevity can be truly astounding! Some of the terseness comes from not having to mention parameter names all over the place and much of...
Code Monkey Have Fun
Spanning Two Worlds
Posted
10 months ago
by
Ashley Feniello
0
Comments
[The ninth in a series of posts on the evolution of TransForth ] The dictionary we have at the moment is split across two worlds. The definitions are in Forth-world; packed into plain memory. But we still have the F#-world mapping of WordRecord s to those...
Code Monkey Have Fun
Heart Transplant
Posted
10 months ago
by
Ashley Feniello
0
Comments
[The eighth in a series of posts on the evolution of TransForth ] They say that the inner interpreter is the heart of Forth and outer interpreter is the soul. It’s time to give TransForth a heart transplant! To really understand what we’re...
Code Monkey Have Fun
Tearing Away the Scaffolding
Posted
11 months ago
by
Ashley Feniello
2
Comments
[The seventh in a series of posts on the evolution of TransForth ] At this point we have a reasonably complete Forth that’s pretty fun to play with. Like I said in the first post though, we don’t just want to build a Forth in F#. Stopping...
Code Monkey Have Fun
: LOOPTY DO I . LOOP ;
Posted
over 1 year ago
by
Ashley Feniello
0
Comments
[The sixth in a series of posts on the evolution of TransForth ] There’s beginning to be more Forth than F# in these posts! The last major piece we’re missing in the language, aside from some compile-time trickery we’ll get into later...
Code Monkey Have Fun
IF … ELSE … THEN
Posted
over 1 year ago
by
Ashley Feniello
0
Comments
[The fifth in a series of posts on the evolution of TransForth ] Sadly (or happily), we’ve come to a point at which we need to begin thinking like an assembly programmer in order to appreciate the mechanics of Forth’s control flow...
Code Monkey Have Fun
VARIABLE X
Posted
over 1 year ago
by
Ashley Feniello
0
Comments
[The fourth in a series of posts on the evolution of TransForth ] We’re getting very close to the point at which we’ll need to start moving closer to the machine with things like direct memory access. Implementing IF / ELSE / THEN ,...
Code Monkey Have Fun
: REFACTOR TRIM BUILD ;
Posted
over 1 year ago
by
Ashley Feniello
1
Comments
[The third in a series of posts on the evolution of TransForth ] Now that we have Forth hobbling along, we can start to peel away the scaffolding. Some of the things we’ve defined in F# can now be redefined in Forth instead. As we go along, I...
Code Monkey Have Fun
: HELLO FORTH WORLD ;
Posted
over 1 year ago
by
Ashley Feniello
0
Comments
[The second in a series of posts on the evolution of TransForth ] In the last post we completed the tokenizer/parser and the REPL along with some baked in primitives. We now want to be able to add to the dictionary of known words from within Forth...
Code Monkey Have Fun
FORTH LOVE? IF HONK THEN
Posted
over 1 year ago
by
Ashley Feniello
11
Comments
[The first in a series of posts on the evolution of TransForth ] I’ve been enthralled by retro computing recently and have been filling my bookshelf [yes, actual bound paper books] with (nearly) extinct programming language topics: Lisp, Fortran...
Code Monkey Have Fun
Bowling Kata
Posted
over 2 years ago
by
Ashley Feniello
7
Comments
Our team’s been doing Katas to get the hang of TDD. One such kata ( calculating bowling scores ) struck me as insanely simple with pattern matching in F#: let rec score acc = function | 10 :: (a :: b :: _ as t) -> score (acc + 10 + a + b)...
Code Monkey Have Fun
8-Queens in 8 Lines
Posted
over 2 years ago
by
Ashley Feniello
1
Comments
Brushing up on “whiteboard coding” for internal interviews… Inspired by Hal Ableson’s streams-based solution to this old classic in the SICP lectures, here’s a pretty concise n-Queens solution: let rec Solutions n...
Code Monkey Have Fun
Fixing Decades-old Bugs in the HP-35
Posted
over 2 years ago
by
Ashley Feniello
2
Comments
[Part 2 of the HP Calc series ] Making the JavaScript-based HP-35 microcode emulator has been a fun little project. Last time we disassembled the original bits from the ROM. I say “disassemble” but really our microcode instructions were...
Code Monkey Have Fun
Microcode-level HP-35 Emulator (in JavaScript!)
Posted
over 2 years ago
by
Ashley Feniello
1
Comments
[Part 1 of the HP Calc series ] I recently started a super-geeky side hobby of collecting vintage calculators and got my hands on a pair of HP calcs. The more I learned about the internals of the devices, the more intrigued I was. Jacques Laporte...
Code Monkey Have Fun
FScheme - Scheme in F#
Posted
over 2 years ago
by
Ashley Feniello
4
Comments
[Part 1 of the FScheme series ] One of my New Year’s goals is to re-read Lisp in Small Pieces and implement all 11 interpreters and 2 compilers. As much as I like the "Lisp in Lisp" idea and enjoyed the eureka moment in SICP when Sussman writes...
Code Monkey Have Fun
Project Euler Problem #13
Posted
over 2 years ago
by
Ashley Feniello
0
Comments
First ten digits of sum of following one-hundred 50-digit numbers. It would be interesting to do without BigInts. Could use doubles with enough precision for just the first ten digits or some such thing, but just wanted the correct answer to plug into...
Code Monkey Have Fun
Project Euler Problem #12
Posted
over 2 years ago
by
Ashley Feniello
0
Comments
First triangle number to have over five hundred divisors. let naturals = Seq.unfold ( fun i -> Some(i, i + 1)) 1 // from prob7 let triangleNums = Seq.scan (+) 0 naturals let isFactor n d = n % d = 0 let factors n = seq { 1..int (sqrt (float n))...
Code Monkey Have Fun
Project Euler Problem #11
Posted
over 2 years ago
by
Ashley Feniello
2
Comments
Greatest product of four adjacent numbers (up, down, left, right, or diagonally) in this 20x20 grid: let grid = [|08;02;22;97;38;15;00;40;00;75;04;05;07;78;52;12;50;77;91;08; 49;49;99;40;17;81;18;57;60;87;17;40;98;43;69;48;04;56;62;00; 81;49;31;73;55;79;14;29;93;71;40;67;53;88;30;03;49;13;36;65;...
Page 1 of 3 (66 items)
1
2
3
MSDN Blogs
>
Code Monkey Have Fun
Social Media Sharing