<cr1901_modern>
The paper on it is utterly fascinating even if on a personal level I am very resistant to change
<shapr>
"Shrink to fit mid-sized FPGA kits (eg. DE2-115 and BeMicroCV-A9). DONE!"
<shapr>
because of graph reduction?
<shapr>
or how much can be done in fewer clocks?
<shapr>
or other reasons?
<cr1901_modern>
reduceron is a CPU optimized for functional programmers (particularly Haskell, IIRC)
<shapr>
yup
<cr1901_modern>
I'm... ideologically opposed to "no mutable state"
<cr1901_modern>
in my programs
<shapr>
heh, ok
<shapr>
I'll have to ask you about your ideology at some point :-)
<shapr>
in my opinion, mutating a variable is a garbage collection decision, and I'm not smart enough to make perfect decisions in that respect
<cr1901_modern>
My ideology is, basically: "I want abstractions that map cleanly to hardware we can physically implement." I don't have the bandwidth to elaborate
<shapr>
cr1901_modern: is that the fascinating part?
<shapr>
that covers a bunch
<shapr>
I understand that.
<cr1901_modern>
And the idea that we as humans are "too stupid to manage memory, so let the magickul GC pretend the problem doesn't exist" doesn't really sit well with me.
<shapr>
It is a trade-off
<cr1901_modern>
(exception: Henry Baker did a real time GC for Lisp that I like a lot. But you lose half the address space in exchange.)
<shapr>
ah, I swapped some emails with him a few years back
<shapr>
he's a frickn smart dude
<awygle>
the rustlike approach is still my favorite of what I've seen
<qu1j0t3>
i think henry baker is from this town.
<awygle>
in a lot of ways it's basically "c but composable"
<qu1j0t3>
oh, no
<shapr>
cr1901_modern: I had a webpage of unicycling programmers, found a pic of him unicycling and sent him an email.
<awygle>
... isn't Henry Spencer a white supremacist?
<shapr>
He told me he often saw Claude Shannon unicyling through the infinite hallway at MIT
<cr1901_modern>
Also not useful for virtual memory systems :(
<awygle>
Maybe I'm bad with names...
<cr1901_modern>
(Though for my use case that's not a problem)
<cr1901_modern>
awygle: Richard Spencer is the white supremacist
<awygle>
cr1901_modern: thank you
<cr1901_modern>
His face is very punchable
<qu1j0t3>
i was right, though. Henry Spencer is from Toronto and helped save the Usenet archive
<shapr>
cr1901_modern: so, not a fan of generational GC?
<cr1901_modern>
Dunno enough about it, but probably not
<awygle>
generational gc isn't too bad (I write a lot of C# these days) but I don't see it being different philosophically
<shapr>
I still want to know what you find interesting about the reduceron papers, but I realize you may not have the bandwidth at the moment.
<awygle>
(also our code base takes a LOH/Gen2 pause every 700 ms and I don't know why)
<cr1901_modern>
shapr: I appreciate the fact that someone is actually creating hardware optimized for functional languages
<shapr>
ah yeah
<shapr>
though from what I remember, it needs even MORE memory bandwidth
<shapr>
I should go through those papers again
<awygle>
something something that one guy. symbolic machines. koppe? Something like that
<cr1901_modern>
rather than simply creating abstractions that are good for FP, but don't map well to physical reality
<shapr>
yah, Haskell compilers are a miracle
<shapr>
it's amazing Haskell works at all on what we have
<cr1901_modern>
I know someone w/ the handle symbolics_lisp
<cr1901_modern>
he's in this room even
* shapr
looks at qu1j0t3
<shapr>
still, the lispm wasn't quite the same thing
<shapr>
cr1901_modern: thing is, I'm going to ICFP in a coupla weeks
<cr1901_modern>
awygle: It's funny, Rust's complexity has made me doubt "this can't be worth 'no GC'" at times. It's just a sad state of affairs all around to just "shape the world- i.e. the address space- as I see fit"
<shapr>
and I've heard of some failed PhD theses around the Reduceron in the past few years
<shapr>
so I figured I'd ask around, see what's new
<shapr>
sometimes the failures teach me more than the successes
<awygle>
cr1901_modern: I didn't quite understand that last sentence
<qu1j0t3>
awygle: Kogge. "The Architecture of Symbolic Computers"
<cr1901_modern>
awygle: Zero order approx: I don't want the borrow checker telling me what to do.
<awygle>
qu1j0t3: *thank* you, that was driving me nuts
<shapr>
I still think of the borrow checker as having linear types for memory. I realize that's not correct, I need to write enough rust to have an intuitive understanding.
<qu1j0t3>
awygle: pretty amazing book that i haven't yet read all the way through. But that book started me on the FP journey, about 13 years ago when I found it in a goodwill, and quickly realised i'd need more math to understand its prerequisites.
<awygle>
cr1901_modern: okay fair enough. I wonder if you might enjoy unikernels or library operating systems...
<shapr>
exokernels?
<awygle>
qu1j0t3: I have it, I've read like... Half.