Email or username:

Password:

Forgot your password?
Devil Lu Linvega

"Surely there must be a less primitive way of making big changes in the store than by pushing vast numbers of words back and forth through the von Neumann bottleneck"
cs.cmu.edu/~crary/819-f09/Back

31 comments
πŸ’œ pry πŸ’œ

@neauoire I love that paper a lot and also the talk "the future of programming" by Bret Victor

lots of great ideas from the past that still have not been adopted.

I don't really know very much about this but it feels like part of the problem is how CPUs are designed. we have extremely fast out of order processors connected to a very large and complex memory hierarchy

unless of course the paper is just talking about programming style. but idk it's much harder for me to map functional programming to assembly or what hardware does

@neauoire I love that paper a lot and also the talk "the future of programming" by Bret Victor

lots of great ideas from the past that still have not been adopted.

I don't really know very much about this but it feels like part of the problem is how CPUs are designed. we have extremely fast out of order processors connected to a very large and complex memory hierarchy

Devil Lu Linvega

@pry Backus talks about how the current CPU design hinders alternative ways of programming because they might not map well to the current CPU/RAM style architecture where you branch and jump to labels and things.

That Bret Victor talk is excellent btw, I'm due for a rewatch.

πŸ’œ pry πŸ’œ

@neauoire I suppose I wonder what an alternative CPU / assembly model looks like? a stack machine? I don't really know what a functional cpu would look like. maybe I should look into lisp machines

Devil Lu Linvega

@pry In the paper I linked up on top, if you can get over the snarky remarks ;), Backus goes on defining a few alternative futures, one of those is something like a stack machine.

But there's a lot of different possibilities, the lisp machines don't really do anything special but are still worth looking into: wiki.xxiivv.com/docs/memo528_c

You might get a kick out of the LispKit books(SECD-style), or the BQN VM(APL-style):
mlochbaum.github.io/BQN/implem

@pry In the paper I linked up on top, if you can get over the snarky remarks ;), Backus goes on defining a few alternative futures, one of those is something like a stack machine.

But there's a lot of different possibilities, the lisp machines don't really do anything special but are still worth looking into: wiki.xxiivv.com/docs/memo528_c

Devil Lu Linvega

@pry alternatively, you can imagine a Thue-like computer where its only instruction is string replacement, and how that might look like.

wiki.xxiivv.com/site/thue.html

πŸ’œ pry πŸ’œ

@neauoire ooh this is a very interesting fixpoint sort of computation model

Devil Lu Linvega

@pry You might want to look into OCCAM parallel computing, or Fredkin's BBM: cell-auto.com/bbm/2d/index.htm

Or, imagine a OISC that is just Fractran, its one task is to hold prime encoded numbers and multiply! There's so many cool designs out there to try. I'd love to see a combinatory computer where opcodes are permutations of the combinatorics :mocking:

Or ternary! wiki.xxiivv.com/docs/dssp.txt

Or linear! plover.com/~mjd/misc/hbaker-ar

πŸ’œ pry πŸ’œ

@neauoire yea idk hardware design for these sorts of models is such a fascinating problem. this summer I'll be working at a company designing CPUs (am just doing software simulation work) but I rlly do want to spend some more time thinking about alternate methods of instantiating computation in hardware

πŸ’œ pry πŸ’œ

@neauoire ooh I have been meaning to look into SECD and yea just checked and the paper mentions Mago which looks like it might be another thread to look into

max22-

@neauoire what about interaction nets in hardware ? (found here : twitter.com/VictorTaelin/statu)
I don't know how it works but i am mesmerized by this little circuit. ☺️

max22-

@neauoire me when i try to read some articles

Devil Lu Linvega

@maxime_andre yeah these articles suck, I'm always just like "GIVE ME THE LISP VERSION" so I can get on with my life

max22-

@neauoire it is related to interaction networks ?

Devil Lu Linvega

@maxime_andre for interaction nets, I'd be like "SHOW ME THE HASKELL VERSION" so I can get on with my life.. same difference.

max22-

@neauoire what ? you don't like that kind of stuff ? πŸ˜‚

max22- replied to Devil Lu Linvega

@neauoire btw, what have you done with interaction nets ?

Devil Lu Linvega replied to max22-

@maxime_andre I've tried to implement Lamping's graph reduction in uxntal, I've noodled with pretty much every one of these programs: github.com/HigherOrderCO/Wikin

I've ran their little webserver thing and got the tictactoe program to show

Devil Lu Linvega replied to Devil Lu Linvega

@maxime_andre I'm only superficially interested in this stuff, I mean, it's cool and everything -- I like to read about alternative ways of doing combinatory logic, I'm always looking for things that I couldn't do in uxn, that I might draw inspiration from. I think I also just like running these types of programs that are easy to reflect about.

I think so far, the most accessible implementation of interaction net is Inpla, I've been thinking about making a visual editor for it.

max22- replied to Devil Lu Linvega

@neauoire yes this morning during breakfast πŸ˜‚ . and another time a couple of weeks ago iirc (or maybe it was another paper, but related to inpla)

Devil Lu Linvega replied to max22-

@maxime_andre When I read it, I was like okay, I need a graphical editor for this. It'll be so nice to see the graph instead of using textual representation, for once, this would make sense.

A lot of folks are interested in flow-based programming but mapping over non-structural programming, this would be the ideal candidate.

Devil Lu Linvega replied to Devil Lu Linvega

@maxime_andre Just stumbled on a pdf that is basically a focused version of Shinya's chapter 5(LL0) implementation!
arxiv.org/pdf/1505.07164.pdf

max22- replied to Devil Lu Linvega

@neauoire ah yes this one is more readable :)
i think i have seen one by Ian Mackie which was quite cool too, but i can't find it anymore... :(

max22- replied to Devil Lu Linvega

@neauoire ok ok, on my side i've tried to implement the graph reduction too, but i have not played with the examples. I'd like to understand how it works, and build my little toy. I've managed to calculate 2^2, 2+2 in church encoding, but it starts to be a little boring. I've not implemented the inet -> lambda translation to show the result.

Invictvs

@neauoire Interesting, I will read it. Thank you

Go Up