Live data from Hacker News

Robpike/Lisp: Toy Lisp 1.5 interpreter in Go

github.com

21–30 of 73 posts

Re: Robpike/Lisp: Toy Lisp 1.5 interpreter in Go

#21
post #19
post #17

Earlier quoted context omitted.

Balance is important too. He won a Silver Medal for archery in the Olympics.

...using Lisp's parentheses as a bow. (Hint: look up 1980 Olympics)

I hated you for doing this and myself more for actually falling down that rabbit hole. The explanation is here[1].

tldr: he is canadian and 1980 summer Olympics was boycotted by both canada and america.

[1] https://wiki.c2.com/?RobPike

Re: Robpike/Lisp: Toy Lisp 1.5 interpreter in Go

#22
post #3

Earlier quoted context omitted.

Personally, I find that one much more interesting. Before I was familiar with array languages, I hoped that functional programming and lisp would become the new zeitgeist of software development. Now, I think that array languages have the most promise in revolutionizing the discipline. While it probably wont happen, I wouldn't complain if array languages became the defacto norm for most new applications.

what would you add to awk so that it would make a big difference?

I would not call awk an array language. Arrays are essential in awk, but it lacks array operations. For example, in an array language, you add two arrays a and b, element by element, with a+b, while in awk you need a loop. Moreover, you do not have direct map and reduce operations, and again you need loops.

As a fan of both awk and array languages, I think that an nsl-awk would be a really interesting project.

Re: Robpike/Lisp: Toy Lisp 1.5 interpreter in Go

#24
post #9

Earlier quoted context omitted.

How about some CRUD app examples? :)

Dyalog is an APL vendor, they also offer a non-commercial license and high quality documentation. They have a case study of a school management system that is a record keeping system [0]. [0] https://www.dyalog.com/case-studies/education.htm

Thanks! Btw, what would be the open source alternative (of APL) that is popular and used in production?

Re: Robpike/Lisp: Toy Lisp 1.5 interpreter in Go

#25
post #19

Earlier quoted context omitted.

...using Lisp's parentheses as a bow. (Hint: look up 1980 Olympics)

I hated you for doing this and myself more for actually falling down that rabbit hole. The explanation is here[1]. tldr: he is canadian and 1980 summer Olympics was boycotted by both canada and america. [1] https://wiki.c2.com/?RobPike

My only memory is of the closing ceremony: a fleeting image of a bear mascot being carried across the stadium by balloons. I watched that on TV as a nine-year-old boy in Slovakia..

Re: Robpike/Lisp: Toy Lisp 1.5 interpreter in Go

#27
post #24

Earlier quoted context omitted.

Dyalog is an APL vendor, they also offer a non-commercial license and high quality documentation. They have a case study of a school management system that is a record keeping system [0]. [0] https://www.dyalog.com/case-studies/education.htm

Thanks! Btw, what would be the open source alternative (of APL) that is popular and used in production?

Probably J, if I had to guess. I'm unaware of how much production use it has.

Re: Robpike/Lisp: Toy Lisp 1.5 interpreter in Go

#28
post #14

It is a pedagogical experiment to see just how well the interpreter (actually EVALQOUTE/APPLY) defined on page 13 of that book really works. The answer is: perfectly, of course. Well timed! I've just been trying this out myself after reading Maxwell's Equations of Software [1]. It's fun realising that the "base" functions you're doing in Go can be reduced to even more fundamental forms using the Lisp you're implement…

Well-timed for you, but Pike could have benefited from doing this experimentation forty years earlier. Who knows where he would be now?

Re: Robpike/Lisp: Toy Lisp 1.5 interpreter in Go

#29
post #3

He also implemented an APL-like interpreter in Go: https://github.com/robpike/ivy

Personally, I find that one much more interesting. Before I was familiar with array languages, I hoped that functional programming and lisp would become the new zeitgeist of software development. Now, I think that array languages have the most promise in revolutionizing the discipline. While it probably wont happen, I wouldn't complain if array languages became the defacto norm for most new applications.

I always get the feeling that a lot of languages would be well served by having an APL or prolog implementation added as a library or macro; this would let teams leverage these tools down in the core of their application without having to compromise on how they create APIs.

Closest I’ve seen to this was core.logic in the Clojure community, but it appears to be dead.

Re: Robpike/Lisp: Toy Lisp 1.5 interpreter in Go

#30
post #3

Earlier quoted context omitted.

Personally, I find that one much more interesting. Before I was familiar with array languages, I hoped that functional programming and lisp would become the new zeitgeist of software development. Now, I think that array languages have the most promise in revolutionizing the discipline. While it probably wont happen, I wouldn't complain if array languages became the defacto norm for most new applications.

I always get the feeling that a lot of languages would be well served by having an APL or prolog implementation added as a library or macro; this would let teams leverage these tools down in the core of their application without having to compromise on how they create APIs. Closest I’ve seen to this was core.logic in the Clojure community, but it appears to be dead.

Rust is working on chalk, which claims to be “Prolog-ish”: https://github.com/rust-lang/chalk/blob/master/README.md

It’s being used in rust-analyzer (the leading language server) today, and is likely to be used in the compiler in the future. Not really intended to be general-purpose, but an interesting datapoint. And could evolve to be more general, knowing the Rust community.

Post reply on HN