Hacker News new | past | comments | ask | show | jobs | submit login
Lisp Space – A Space for Parentheses (lisp.space)
82 points by weavie on April 16, 2015 | hide | past | favorite | 52 comments



So I wasn't really expecting this site to get to the front page of HN. It's pretty cool that it did though, I hope some people find it useful. Please contribute and get some good discussion going!

I don't think things are working 100% at the minute which is probably due to the load - it is running on a $3 pm OVH VPS. I'm quite amazed it is still running at all.

It is a Telescope app at the minute which uses Meteor, so there is no chance of it running without Javascript. It was just a quick evening idea that took about 5 minutes to set up. Telescope is pretty amazing how simple it is to set up.

I hear you about being able to run without JS - especially within Emacs. Awesome idea! If the interest continues I will look into rewriting the site (in a Lisp obviously) to serve static content. Could be a fun little project.

Thanks for the interest!


Thanks for using Telescope :) Let me know if I can do anything to help!



Would be nice to have it working at least to some degree without javascript. Good luck!


I think it is running on Telescope (http://www.telescopeapp.org/) which is a Meteor app. As far as I know this makes it pretty much impossible to run without JS.


Why can't Meteor do server-side rendering? The whole design seems almost ideal for it.


It should, but it doesn't yet. It's on the roadmap though.


What's the use-case for that? Are there people reading that using a Lisp Machine or something?

I'd say it should offer some form of API. Then you can use anything to read. Such as Emacs.


At a bare minimum it should work in Emacs's eww. Or at least some other browser, completely written in Lisp.


If it just used plain markup, I could read it in emacs without building a custom client for the API.


On closer inspection, you're correct.

I thought it would first render the page, then the javascript would take over. It does not seem to be the case, on first load there's only javascript.


> What's the use-case for that?

Running without JavaScript is a use-case. Not everyone wants to run that insecure stuff on their machine.


Insecure... how, exactly? It's only as insecure as your browser's parsers for other formats.


The number of browser exploits requiring JS compared to the number of browser exploits not requiring browser JS disagree with your assertion.

The distinction is that JS is a complex and turing-complete language that browsers put a lot of effort into making fast and memory-efficient.

And as a result JS doesn't exactly have the best security record.


1. In the last year, numerous security holes have been found in the JavaScript implementations of every major browser.

2. Even if you assume JavaScript sandboxes are secure, the actual expected behavior of the language is that all code runs in a big global scope. A perfect sandbox would prevent sites from running arbitrary code on your machine, but any JavaScript running on a page effectively has access to all the data on the page. That means every ad, tracker, etc. on the page has access to all the data on the page, including passwords on forms, etc.


> Why is Scheme not a Lisp?

Oh god, please no.


Why not? It seems interesting to me. I've always called scheme/racket a lisp, and I never knew that anyone felt differently. Does this mean that clojure is also not a lisp?


That discussion is about as pedantic as a discussion can be.

The main point against seems to be "they didn't name it Lisp". From there it goes into weird accusations like that people call Scheme a Lisp to defame Common Lisp (WTF?). They also say stuff like "Lisp and Scheme parted ways" which is just ignorant of the fact that "Lisp" in that context means "Common Lisp" and most people saying "Scheme is a Lisp" are basically talking about languages inspired by McCarthy's Lisp. But instead of making this reasonable counterargument, people start arguing that Scheme has a lot of similarities to Lisp (meaning Common Lisp).

And that link is one of the more intelligent debates on the subject. It's a long-running debate and most places I've seen it discussed are even more confused.

I just can't be arsed to give a fuck. Usually when I'm talking about Common Lisp I say "Common Lisp" because I value actual clear communication over saving six characters. And when I say "Lisp" I usually mean "languages inspired by McCarthy's Lisp" (which includes Scheme), but it's pretty rare I have anything useful to say about such a broad group of languages.


That's a whole lot of history, neatly packed.


It's a holy war, like vim vs emacs and tabs vs spaces. Tread carefully.

If you want to read more on it, there's a discussion in the Wiki: http://c2.com/cgi/wiki?IsSchemeLisp


If scheme isn't a lisp, then clojure almost certainly isn't.

To use more widely known languages: Is C++ a C? What about Java? Javascript? Those languages share a lot of syntax and keywords between them, but they are clearly distinct languages.

On the other hand, most people feel comfortable classifying both FORTRAN and C as "in the algol family" while nobody would call either of them an algol.

Actually, if you're at all familiar with the history of FORTRAN, you can see how much it has changed, while nobody denies that FORTRAN 2003 is still as much FORTRAN as FORTRAN IV.


I thoroughly enjoyed reading Erik Naggum's comments on that holy war thread.

http://en.wikipedia.org/wiki/Erik_Naggum


I was pretty disappointed to see that he got his hands dirty in that discussion.


Why has the name Lisp been coöpted to mean Common Lisp?


Because people are lazy and say the shorter thing. It's not particularly a bad thing. It's only a problem in this argument because people have no understanding of context and don't understand the meaning of the word "Lisp" in context.

It's like arguing about whether English is a Dutch, while claiming that Pennsylvania Dutch is the real Dutch, when in fact both languages have something to do with Dutch (they're all Germanic Languages) but neither one is Dutch.

(In this metaphor, Scheme = English, Common Lisp = Pennsylvania Dutch, Dutch = Academic Variations on McCarthy's Lisp, Ancient German = McCarthy's Lisp).


I don't think it's that. The thing is that Common Lispers believe Common Lisp to be, well, Common. The Lisp to end all lisps, the one true lisp, the one lisp to unite the community. And some believe there should be no other lisps as they are just fracturing the community. So calling CL Lisp comes down to arrogance.


That may be so. It's a weird stance to take, though. CL has as little in common with McCarthy's Lisp as any of the other variations that descend from McCarthy's Lisp. So at this point it's just a name, and I'm not sure what's to be gained even if CL somehow got everyone to agree they had sole ownership of the name.


> CL has as little in common with McCarthy's Lisp as any of the other variations that descend from McCarthy's Lisp.

That's not true.

http://www.informatimago.com/develop/lisp/com/informatimago/...

McCarthy's implementation of Wang's algorithm from 1960.

Run's unchanged in Common Lisp, with only very little support code.

> CL somehow got everyone to agree they had sole ownership of the name.

CL does not have the ownership of the name Lisp.

But for many Lisp is like "German", a family of dialects which share literature, speech and an audience. Common Lisp is the main "German" dialect. Others are Emacs Lisp, ISLisp, Eulisp, XLisp, Franz Lisp, ... all those are closely related.

Then Lisp is not "Germanic", which for example included English and German. English and German are Germanic languages, but they don't share literature, speech and the audience.

Languages like Logo, Clojure, Newlisp and several others are 'lispy'. But they are not in any way compatible to Lisp. Porting a program means a full rewrite and re-architecture.


> McCarthy's implementation of Wang's algorithm from 1960.

> Run's unchanged in Common Lisp, with only very little support code.

Riiiiight, okay, so how difficult would it really be to change `defun trace (functions)` to `define (trace functions)` and a few other minor syntactic so it runs in Scheme?

What you're saying is basically tantamount to a claim that CL has stayed truer to the syntax of McCarthy's Lisp, but it would be easy to argue that Scheme is truer to the mathematical principles of McCarthy's Lisp. Looking at syntax is a very shallow way to look at it.

>> CL somehow got everyone to agree they had sole ownership of the name.

> CL does not have the ownership of the name Lisp.

I said "So at this point it's just a name, and I'm not sure what's to be gained even if CL somehow got everyone to agree they had sole ownership of the name." Please don't quote me out of context.

The rest of your post is incoherent because you've used the isolated word "Lisp" despite the fact that this conversation is about the very fact that the meaning of "Lisp" is unclear.

> Languages like Logo, Clojure, Newlisp and several others are 'lispy'. But they are not in any way compatible to Lisp. Porting a program means a full rewrite and re-architecture.

Porting almost any CL program from CL to McCarthy's Lisp would require dropping most features. Hopefully this highlights the problem with this whole debate.


> Riiiiight, okay, so how difficult would it really be to change `defun trace (functions)` to `define (trace functions)` and a few other minor syntactic so it runs in Scheme?

You can try it. Report back. Try also Logo, Dylan, Clojure, Newlisp and a bunch of other languages.

> What you're saying is basically tantamount to a claim that CL has stayed truer to the syntax of McCarthy's Lisp, but it would be easy to argue that Scheme is truer to the mathematical principles of McCarthy's Lisp.

You can try to argue that, but it would be wrong. McCarthy's Lisp uses Symbols, Functions and even EVAL quite different from Scheme. Scheme has done everything to remove EVAL. Look at various Scheme reports where EVAL is not even part of the language or defined as a 'library' function.

> Looking at syntax is a very shallow way to look at it.

If we only need to provide a little bit of syntactic support to make Lisp 1.5 code run in Common Lisp. What does it say? Most of the other stuff is intact: 90% of the syntax and a lot of semantics, naming, APIs, core principles.

> The rest of your post is incoherent because you've used the isolated word "Lisp" despite the fact that this conversation is about the very fact that the meaning of "Lisp" is unclear.

Maybe it's unclear for you. I told you what Lisp is: a group of languages who, evolve over time, share literature, community and code.

People wrote compatibility packages and translators to make porting across these languages easier.

Today it makes no sense to share software between Racket, Clojure and SBCL (a Common Lisp implementation). They are fully incompatible: semantics, names, architectures, tools, ... literally nothing is shared.

> Porting almost any CL program from CL to McCarthy's Lisp would require dropping most features. Hopefully this highlights the problem with this whole debate.

Time moves mostly in one direction. People wrote math software in Lisp 1.5, ported it to Maclisp, then Lisp Machine Lisp, then to various Common Lisp variants. Lisp code was written sometimes to work in older dialects too, but that support was usually dropped when the older implementation was no longer used. For example some people wrote software in Interlisp and ported it to Lisp Machine Lisp. Then Common Lisp. Then the Interlisp support was dropped.

The Computer Algebra system Macsyma for example has bits implemented in old Lisp implementations from the 60s. It was then ported to Maclisp, Franz Lisp, Lisp Machine Lisp, Common Lisp.

Each time the Lisp dialect was improved and extended. But many of the core principles remained. Some code ran in multiple Lisp dialects and was maintained in one file. The LOOP macro was for example inspired by Interlisp's FOR, was then implemented in Maclisp and then ported to Lisp Machine Lisp, NIL and Common Lisp. For several years it was maintained in one master file. A really hairy piece of code with lots of macrology.


> Maybe it's unclear for you. I told you what Lisp is: a group of languages who, evolve over time, share literature, community and code.

Okay, so ignoring the fact that this definition is so vague it could apply to C, C++, and Objective-C, can we agree that this is entirely your opinion and is obviously not shared by Scheme users? Can we agree that the meaning of words is determined by usage and not everyone uses the word your way?

> Time moves mostly in one direction.

Thank you obviousman.

Look, the core of what I'm saying is that words can mean more than one thing. The fact is, the word "Lisp" is overloaded. Maybe it isn't overloaded in your little insular community, but that doesn't mean other people's usage of the term is wrong, and there's it's both pointless and rude to try to force other people to use your jargon.


> C, C++, and Objective-C

Notice the use of 'C' in the names of the languages? Its because they all belong to a C family which shares code. Just like Lisp languages.

Wikipedia:

"Objective-C is a thin layer on top of C, and is often called a "strict superset" of C"

"The C and C++ programming languages are closely related. C++ grew out of C, as it was designed to be source-and-link compatible with C"

Emacs Lisp contains many Common Lisp functions and there is even an implementation of Common Lisp integrated into Emacs Lisp: http://www.emacswiki.org/emacs/EmacsCommonLisp Emacs Lisp grew out of Maclisp, just like Common Lisp.

ISLisp is largely a subset of Common Lisp. For example the Gabriel benchmarks for Common Lisp have been used in ISLisp and they work with only minor changes.


..with a brilliant example.


If you read that discussion, it actually hasn't. KMP, for example seems content to consider ISlisp and elisp as being lisps (not to mention the several pre-common lisp lisps such as maclisp and interlisp.


I grew a professor style beard just visiting that site.


I saw many pages like `Hacker News for x`. Did any of those took off? (Just wondering, no hate)


It's more of an alternative/competitor than "Hacker News for x", but https://lobste.rs/ seems active.


Datatau seems to be alive, and I check it regularly. Not much discussion though. http://www.datatau.com/


Regarding DataTau I built a small front page analyzer and have some graphs up. It runs every 3 hours and looks at some aspects of both HackerNews and DataTau and compares the two. It's still very much a work in progress. At one point I will let it run for an extended period of time.

Graphs: https://github.com/not-much-io/hn-dt-frontpage-comparison/tr...


There's a whole load of them here : http://www.telescopeapp.org/showcase


https://growthhackers.com/ http://www.bootstrappers.io/

Are a couple of more business oriented ones that seem to be doing fairly well.


Since this site requires JavaScript in order to work at all, is the source code available under a free license? I'm interested in participating, but not if I have to use proprietary software to do it.



So, it is just a telescope instance without any modifications? Okay, sounds good. Would be nice if they provided a link to download the exact source code that they are using.


It is pure unmodified Telescope. Will add an about page to site shortly.


Thank you!


How is this different than planet.lisp.org?


planets only contain the post; the highest value of sites like HN and reddit is the comments, because that's where discussion can happen and counterpoints can be brought forward.


Too bad it's on Meteor, it's going to be a pain to keep this running.

Good luck!


I would be interested to hear what you think the pain points may be. In truth I just started this up on a whim and didn't look into things too closely.


Biggest issue is basically that meteor has an ecosystem of dependencies that need their source code modified to work with Meteor, Meteor also relies entirely on global variables and a number of other uglies.

I have been involved professionally with developing two medium-large applications on Meteor, and it's terrifying.(first time was when it was in alpha, so I forgave it, second time out of alpha, and it's almost worse).

I think that HN is run from this https://github.com/arclanguage/anarki or something similar. (there's a run-news script in there which IIRC instantiates something a whole lot like HN).


Am I the only one who notice the '.space' domain?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: