Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
junke
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
54 ms
·
601.
▲
by
junke
10y ago
func (n)to(m)do(blk) { x = n ... do blk x ... } This looks ambiguous. Your function does not have a name, how do you do if another library wants to do something different with the same keywords? And how do yo
602.
▲
by
junke
10y ago
> Few languages allow you to just keep diving in deeper and deeper as you desire, while still letting you get to work right away without being a master. I find it to be the case with most languages. > Even template metaprogramming al
603.
▲
by
junke
10y ago
I read your rant and while I agree, you said that classes are not objects in Java. But last time I checked, there was a java.lang.Class object (and objects have a getClass() method which return a Class).
604.
▲
by
junke
10y ago
You never rely on finalizers to clean up resources. At best, you check that the resource is properly released and signal an error otherwise, because you should have released it earlier (you have a bug). That may happen when you manually m
605.
▲
by
junke
10y ago
Related talk about Tis-interpreter and SQLite: http://gdr-gpl.cnrs.fr/sites/default/files/documentsGPL/Jour... Note also: > We want verification to be about proving absence of bugs, not about finding
606.
▲
by
junke
10y ago
There is a renewed interest for washable diapers (see e.g. http://www.mothercare.com ). They are really easy to use and wash. The initial cost is in fact lower than the cumulative cost of disposable diapers after some months. Thi
607.
▲
by
junke
10y ago
It is true that arguments don't change and should be examined from their own qualities, but people are generally irrational and attach importance, implicitly, to meta-data. If I am an author and I put a note saying "this is not my
608.
▲
by
junke
10y ago
I am not trying to refute your point. You selectively quoted a part of an article without acknowledging that the original author changed his mind later, which I found misleading. This is unrelated to C++/safety.
609.
▲
by
junke
10y ago
The article you link starts with: > 2013 Update: I was young and stupid when I wrote this.
610.
▲
by
junke
10y ago
Call panic() from the callback ;-)
611.
▲
by
junke
10y ago
See for example Structured Programming with Limited Private Types in Ada: Nesting is for the Soaring Eagles , by Henry G. Baker. ( http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.39.... )
612.
▲
by
junke
10y ago
> Common Lisp is an ancestor of LISP You probably mean a descendant
613.
▲
by
junke
10y ago
TL;DR: forking Clojure to fix namespaces. > Because namespaces are mutable, even if I were to perform a rename correctly, the old name is still present in the namespace. First, ns-unmap your old name (a refactoring tool should do that fo
614.
▲
by
junke
10y ago
Having separate layers of abstraction is a good approach in general: see "Abstraction Barriers" from SICP ( https://mitpress.mit.edu/sicp/full-text/sicp/book/node29.htm... ). Lasagna code is abst
615.
▲
by
junke
10y ago
First, you should not abbreviate Common Lisp as CLISP: this is confusing because CLISP is one of the many implementations of CL. As for comparisons, this is a Gorilla vs Shark problem ( https://blog.stackoverflow.com/2011
616.
▲
by
junke
10y ago
What bothers me: - Line numbering is a little too close to code - There seem to be two kind of fonts for code, some render bigger than the other on two different devices - Texboxes are too narrow and as a result the code wraps around a lot.
617.
▲
by
junke
10y ago
They only share the name.
618.
▲
by
junke
10y ago
A reader macro is not a kind of macros [0]. It is a way to customize the Lisp reader by associating a custom function to an entry in the readtable. So you can say that character '[' will be tied to a custom reader function, whic
619.
▲
by
junke
10y ago
I don't know if it will be explained in the book, but you can generate javascript from Lisp, using parenscript. https://common-lisp.net/project/parenscript/tutorial.html
620.
▲
by
junke
10y ago
Option[Option[String]]? Is this a Church Numeral?
621.
▲
by
junke
10y ago
Exactly. The problem is not that there is a null, it is that it is a valid value for all types (e.g. you can pass null to a function that expects a String). Allowing nulls explicitly, like with a "String?" type, is the way to go i
622.
▲
by
junke
10y ago
Those regular expressions for sequences seem related to "Efficient dynamic type checking of heterogeneous sequences", or maybe some other prior work I don't know about. See https://github.com/jimka2001/r
623.
▲
by
junke
10y ago
The behavior is undefined if a value does not match its type declaration, and implementations are free to ignore some declarations, like CLISP. So for a portable approach just add a CHECK-TYPE: (defun foo (s) (check-type s strin
624.
▲
by
junke
10y ago
> That is not how Lisp works. You are just wrong. Please tell me how it works, then. I guess you could easily find a counter-example. First things first. Optional arguments are handled by &OPTIONAL and &KEY parameters, which can
625.
▲
by
junke
10y ago
The mistake is Null being a member of all (reference) types. This is not the case in all languages that have a nil value. In Common Lisp if you declare an argument to be a string, it is an error to pass NIL. You have to declare the type to
626.
▲
by
junke
10y ago
You can't blame git bisect skip for that. Note also that many other commits that could not build did not contain the bugs ;-) (Speaking of luck, I worked with a codebase where the bug was always inside a jumbo commit involving at least
627.
▲
by
junke
10y ago
Not saying that you should keep everything, but your argument does not take into account "git bisect skip", which works both manually and automatically. https://git-scm.com/docs/git-bisect .
628.
▲
by
junke
10y ago
I couldn't resist making a Common Lisp version. DB, REST and SECURITY are imaginary packages. CLSQL is an existing library for interfacing with databases. You define the meat of your code with a primary method: (defmethod get-u
629.
▲
by
junke
10y ago
The main difference is that unless you are using an interpreter, you can apply macros at compile-time. Also, without macro you build forms which you must then evaluate: eval cannot access the lexical environment. You need to systematically
630.
▲
by
junke
10y ago
> you're talking from the perspective of an experienced lisper. If I am an experienced Common Lisper, it is because I was once a noob Common Lisper and already not bothered by syntax. Maybe that's because I already had experien
More ›