Re: Terseness, precedence, deprogramming (was Re: [fonc] languages)
On Sun, Jun 5, 2011 at 8:13 PM, Casey Ransberger casey.obrie...@gmail.comwrote: Another approach I think is really cool is actually just using mathematical notation as one representation of what's otherwise basically an s-expr, in which case I think one is having some cake and eating it too. I've been playing with Mathematica a bit, which seems to do some of that. Kind of like flipping between the piano roll and the notation view in a music program. I also think their big algorithm library is a really lovely idea... If it doesn't necessarily separate meaning from optimization, it at least seems like it could help separate math from glue and plumbing which would just be a godsend in my work, where it often feels like I have to read-between-the-lines to find an algorithm in a piece of code I'm looking at. You would like Fortress: http://labs.oracle.com/projects/plrg/faq/NAS-CG.pdf Here is an example of runnable Fortress code: http://labs.oracle.com/projects/plrg/faq/NAS-CG.pdf (There is also an ASCII-only syntax for us luddites.) --scott -- ( http://cscott.net ) ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc
Re: Terseness, precedence, deprogramming (was Re: [fonc] languages)
Yep ... As Abrams pointed out, Beating should be pronounced Bee-Ating because it was a promotion scheme that reminded him of the beatification process in the path towards sainthood ... Cheers, Alan From: David Leibs david.le...@oracle.com To: Fundamentals of New Computing fonc@vpri.org Sent: Sun, June 5, 2011 9:59:33 PM Subject: Re: Terseness, precedence, deprogramming (was Re: [fonc] languages) Alan, Your memory for great dissertations is amazing. I don't think the Phil Abrams APL machine was ever actually built but It had some really good techniques for making APL efficient colorfully named beating and drag-along. -djl On Jun 5, 2011, at 7:50 PM, Alan Kay wrote: I think this one was derived from Phil Abrams' Stanford (and SLAC) PhD thesis on dynamic analysis and optimization of APL -- a very nice piece of work! (Maybe in the early 70s or late 60s?) Cheers, Alan From: David Pennell pennell.da...@gmail.com To: Fundamentals of New Computing fonc@vpri.org Sent: Sun, June 5, 2011 7:33:40 PM Subject: Re: Terseness, precedence, deprogramming (was Re: [fonc] languages) HP had a version of APL in the early 80's that included structured conditional statements and where performance didn't depend on cramming your entire program into one line of code. Between the two, it was possible to create reasonably readable code. That version of APl also did some clever performance optimizations by manipulating array descriptors instead just using brute force. APL was the first language other than Fortran that I learned - very eye opening. -david On Sun, Jun 5, 2011 at 9:13 PM, Alan Kay alan.n...@yahoo.com wrote: Hi David I've always been very fond of APL also -- and a slightly better and more readable syntax could be devised these days now that things don't have to be squeezed onto an IBM Selectric golfball ... Cheers, Alan From: David Leibs david.le...@oracle.com To: Fundamentals of New Computing fonc@vpri.org Sent: Sun, June 5, 2011 7:06:55 PM Subject: Re: Terseness, precedence, deprogramming (was Re: [fonc] languages) I love APL! Learning APL is really all about learning the idioms and how to apply them. This takes quite a lot of training time. Doing this kind of training will change the way you think. Alan Perlis quote: A language that doesn't affect the way you think about programming, is not worth knowing. There is some old analysis out there that indicates that APL is naturally very parallel. Willhoft-1991 claimed that 94 of the 101 primitives operations in APL2 could be implemented in parallel and that 40-50% of APL code in real applications was naturally parallel. R. G. Willhoft, Parallel expression in the apl2 language, IBM Syst. J. 30 (1991), no. 4, 498–512. -David Leibs ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc
Re: Terseness, precedence, deprogramming (was Re: [fonc] languages)
I love APL! Learning APL is really all about learning the idioms and how to apply them. This takes quite a lot of training time. Doing this kind of training will change the way you think. Alan Perlis quote: A language that doesn't affect the way you think about programming, is not worth knowing. There is some old analysis out there that indicates that APL is naturally very parallel. Willhoft-1991 claimed that 94 of the 101 primitives operations in APL2 could be implemented in parallel and that 40-50% of APL code in real applications was naturally parallel. R. G. Willhoft, Parallel expression in the apl2 language, IBM Syst. J. 30 (1991), no. 4, 498–512. -David Leibs ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc
Re: Terseness, precedence, deprogramming (was Re: [fonc] languages)
Hi David I've always been very fond of APL also -- and a slightly better and more readable syntax could be devised these days now that things don't have to be squeezed onto an IBM Selectric golfball ... Cheers, Alan From: David Leibs david.le...@oracle.com To: Fundamentals of New Computing fonc@vpri.org Sent: Sun, June 5, 2011 7:06:55 PM Subject: Re: Terseness, precedence, deprogramming (was Re: [fonc] languages) I love APL! Learning APL is really all about learning the idioms and how to apply them. This takes quite a lot of training time. Doing this kind of training will change the way you think. Alan Perlis quote: A language that doesn't affect the way you think about programming, is not worth knowing. There is some old analysis out there that indicates that APL is naturally very parallel. Willhoft-1991 claimed that 94 of the 101 primitives operations in APL2 could be implemented in parallel and that 40-50% of APL code in real applications was naturally parallel. R. G. Willhoft, Parallel expression in the apl2 language, IBM Syst. J. 30 (1991), no. 4, 498–512. -David Leibs ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc
Re: Terseness, precedence, deprogramming (was Re: [fonc] languages)
I think this one was derived from Phil Abrams' Stanford (and SLAC) PhD thesis on dynamic analysis and optimization of APL -- a very nice piece of work! (Maybe in the early 70s or late 60s?) Cheers, Alan From: David Pennell pennell.da...@gmail.com To: Fundamentals of New Computing fonc@vpri.org Sent: Sun, June 5, 2011 7:33:40 PM Subject: Re: Terseness, precedence, deprogramming (was Re: [fonc] languages) HP had a version of APL in the early 80's that included structured conditional statements and where performance didn't depend on cramming your entire program into one line of code. Between the two, it was possible to create reasonably readable code. That version of APl also did some clever performance optimizations by manipulating array descriptors instead just using brute force. APL was the first language other than Fortran that I learned - very eye opening. -david On Sun, Jun 5, 2011 at 9:13 PM, Alan Kay alan.n...@yahoo.com wrote: Hi David I've always been very fond of APL also -- and a slightly better and more readable syntax could be devised these days now that things don't have to be squeezed onto an IBM Selectric golfball ... Cheers, Alan From: David Leibs david.le...@oracle.com To: Fundamentals of New Computing fonc@vpri.org Sent: Sun, June 5, 2011 7:06:55 PM Subject: Re: Terseness, precedence, deprogramming (was Re: [fonc] languages) I love APL! Learning APL is really all about learning the idioms and how to apply them. This takes quite a lot of training time. Doing this kind of training will change the way you think. Alan Perlis quote: A language that doesn't affect the way you think about programming, is not worth knowing. There is some old analysis out there that indicates that APL is naturally very parallel. Willhoft-1991 claimed that 94 of the 101 primitives operations in APL2 could be implemented in parallel and that 40-50% of APL code in real applications was naturally parallel. R. G. Willhoft, Parallel expression in the apl2 language, IBM Syst. J. 30 (1991), no. 4, 498–512. -David Leibs ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc
Re: Terseness, precedence, deprogramming (was Re: [fonc] languages)
Alan- I expect you lost a few readers there. I have fond memories of APL on an IBM 360/145 with APL microcode support and Selectric terminals. David On Sun, Jun 5, 2011 at 7:13 PM, Alan Kay alan.n...@yahoo.com wrote: Hi David I've always been very fond of APL also -- and a slightly better and more readable syntax could be devised these days now that things don't have to be squeezed onto an IBM Selectric golfball ... Cheers, Alan -- *From:* David Leibs david.le...@oracle.com *To:* Fundamentals of New Computing fonc@vpri.org *Sent:* Sun, June 5, 2011 7:06:55 PM *Subject:* Re: Terseness, precedence, deprogramming (was Re: [fonc] languages) I love APL! Learning APL is really all about learning the idioms and how to apply them. This takes quite a lot of training time. Doing this kind of training will change the way you think. Alan Perlis quote: A language that doesn't affect the way you think about programming, is not worth knowing. There is some old analysis out there that indicates that APL is naturally very parallel. Willhoft-1991 claimed that 94 of the 101 primitives operations in APL2 could be implemented in parallel and that 40-50% of APL code in real applications was naturally parallel. R. G. Willhoft, Parallel expression in the apl2 language, IBM Syst. J. 30 (1991), no. 4, 498–512. -David Leibs ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc
Re: Terseness, precedence, deprogramming (was Re: [fonc] languages)
On 6/5/2011 7:06 PM, David Leibs wrote: I love APL! Learning APL is really all about learning the idioms and how to apply them. This takes quite a lot of training time. Doing this kind of training will change the way you think. Alan Perlis quote: A language that doesn't affect the way you think about programming, is not worth knowing. not everyone wants to learn new things though. very often, people want to get the job done as their main priority, and being faced with new ideas or new ways of doing things is a hindrance to the maximization of productivity (or, people may see any new/unfamiliar things as inherently malevolent). granted, these are not the sort of people one is likely to find using a language like APL... a lot depends on who ones' market or target audience is, and whether or not they like the thing in question. if it is the wrong product for the wrong person, one isn't going to make a sale (and people neither like having something being forced on them, nor buying or committing resources to something which is not to to their liking, as although maybe not immediate, this will breed frustration later...). it doesn't mean either the product or the potential customer is bad, only that things need to be matched up. it is like, you don't put sugar in the coffee of someone who likes their coffee black. There is some old analysis out there that indicates that APL is naturally very parallel. Willhoft-1991 claimed that 94 of the 101 primitives operations in APL2 could be implemented in parallel and that 40-50% of APL code in real applications was naturally parallel. R. G. Willhoft, Parallel expression in the apl2 language, IBM Syst. J. 30 (1991), no. 4, 498–512. not personally dealt with APL, so I don't know. I sort of like having the ability to write code with asynchronous operations, but this is a little different. I guess a task for myself would be to determine whether or not what I am imagining as 'async' is equivalent to the actor model, hmm... decided to leave out a more complex elaboration. ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc