7 ms·
A new RISC-V version of uLisp
- pjmlp 7y agoGreat! Probably one of the first managed languages to properly support RISC-V.
- chrisseaton 7y agoIs it hard for managed languages to support RISC-V for some architectural reason?
- muricula 7y agoRISC-V is basically a MIPs ripoff with healthy architectural inspiration from ARM. There is a linux distro for RISC-V, and there's no reason Python or nodejs etc. can't run on it. https://riscv.org/2015/01/a-linux-distribution-for-risc-v/ https://riscv.org/2015/01/a-linux-distribution-for-risc-v/
- opencl 7y agoThere is a perfectly good reason that NodeJS does not run on RISC-V Linux, which is that NodeJS has not been ported to RISC-V. Projects like Node (or rather the underlying V8 engine) have nontrivial amounts of architecture-specific code.
- skratlo 7y agoThat's a plus, at least the platform won't get infected by node.js virus
- russler23 7y agoJS is inevitable, it just has a flattened curve.
- microcolonel 7y agoI can attest to that, though it looks as though the work involved in each part is decreasing.
- ampdepolymerase 7y agoMIPS is the original RISC one. RISC V is the fifth iteration of the line.
- CalChris 7y agoNo, Stanford MIPS is a separate lineage from Berkeley RISC. RISC RISC II SOAR SPUR RISC-V https://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-6.pdf https://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-... As for the original OG RISC, I think that'd be the Cray 1.
- FullyFunctional 7y agoAs always, the obsession with firsts is a fools errand. The IBM 801 and the CDC 6600 are often mentioned as some of the earliest candidates. As so often with technology, it's a function of the context. In the case of RISC, integrated circuits were reaching capabilities that made it worthwhile reconsidering the conventional wisdom.
- CalChris 7y agoThe 6600 didn't have general purpose registers. It had operand, address and increment registers. The 801 development began in October 1975. The Cray 1 had been in development for 4 years when it was released in 1975. So I'll go with the Cray as being to OG RISC. But yes, firsts don't really matter except to say it sure wasn't the Berkeley RISC or the Stanford MIPS.
- msla 7y agoNever seek after "firsts" too avidly. I've seen people claim the rock is the first computer, and an IBM mainframe running VM/CMS is the first personal computer. (You get your own personal CMS instance running on the massive, institutional big iron, see?)
- pjmlp 7y agoI guess not, it is just that the whole ecosystem is still on its infancy, and as usual C and C++ get the first class treatment.
- nineteen999 7y agoJust as well in this instance, since uLisp is a C program.
- pjmlp 7y agoYeah, as always in compiler design, bootstraping versus depending on widespread systems programming languages, is an engineering decision. uLisp could also take advantage of cross compiling, the author just chose another path that allowed him the focus on other areas instead.
- nineteen999 7y agoWhat's preventing you from cross-compiling uLisp?
- pjmlp 7y agoI guess not feeling like rewriting uLisp compiler/runtime in uLisp/Assembly, and not being the author,
- Ericson2314 7y agoNope
- FullyFunctional 7y agoCertainly not, and for interpreters it's a trivial port. JITs require more work. I imagine the biggest challenge for uLisp wasn't RISC-V per se, but the very limited amount of data memory on this particular chip (16 KiB IIRC).
- fulafel 7y agoI think Go is there also, the riscv-go repo proclaims itself obsolete with "This port has been upstreamed in Go 1.14.". Also probably most interpreted languages work out of the box (Ruby, Python etc)
- pjmlp 7y agoI see, thanks for the heads up. Interpreter languages is easier, given the existence of C and C++ compilers.
- ____Sash---701_ 7y agoBest place/resource to learn Lisp?
- foundry27 7y agoI’m sure a lot of people have their opinions about what the best introductory lisp text is. I won’t add to that list since a google search will give results from reviewers far more eloquent than I am. What I would like to suggest is that once you basically “get” how the prefix syntax works, and how to process lists, Doug Hoyte’s Let Over Lambda (https://letoverlambda.com/textmode.cl/guest/toc https://letoverlambda.com/textmode.cl/guest/toc) is a book that can really help you -learn- lisp, to fundamentally understand what makes lisp so powerful compared to other languages. Incredibly perspective-expanding content when I first read it, and largely references many of the “great” lisp texts that helped build the language and its community into what they are today.
- CalChris 7y agoLittle Lisper or Little Schemer.
- voldacar 7y agoSICP and PAIP are great if you work through them and do all the exercises instead of just skimming
- bear8642 7y agoFor those not in the know SICP = Structure and Interpretation of Computer Programs PAIP = Paradigms of AI Programming
- nikofeyn 7y agoregardless of experience, i recommend the little schemer, land of lisp, realm of racket, structure and interpretation of computer programs, and the courses how to code: simple data and how to code: complex data (don't be discouraged by the apparently simple titles as they cover the book how to design programs). if common lisp is really what you want, then i have lisp by winston and horn and common lisp by touretzky and find them quite nice, although i haven't gone through them, just peeking from time to time.
- ngcc_hk 7y agouLisp is very much Arduino and not sure new platform purpose. Love to see it expand not just board but platform.
- nanomonkey 7y agoAnyone use uLisp, Ferret (clojure->C++) and/or esp-lisp that can give a good recommendation on which one is most appropriate and capable on microcontrollers?
- nanomonkey 7y agoOr apparently microscheme!