wukix's comments

wukix | 10 years ago | on: Why Lisp?

Did you reach out to me when you were using mocl? Surprised to hear this. AFAIK most users get up and running w/o much trouble.

wukix | 11 years ago | on: LambdaLite: A functional, relational Lisp database in 250 lines of Common Lisp

Sorry if the documentation is lacking; you can put anything you want in an attribute. Defattributes is simply a convenience macro that defines validation functions (as well as row getter functions) that you can use if you want, or not.

Generally SQL parameterization interfaces (in mainstream languages) involve syntax like:

  execute("SELECT * FROM FOO WHERE BAR = ?bar AND BAZ = ?baz", {'bar': bar, 'baz': baz})
At best you have something cleaner in languages with string interpolation, but the use of string interpolation itself is debatable. I stand by the claim that those approaches lack elegance, but if it's really "SQL Interface 101" to do it better, please share some examples. I'd be curious to see them.

wukix | 11 years ago | on: LambdaLite: A functional, relational Lisp database in 250 lines of Common Lisp

LambdaLite creator here. I just wanted to point out, in case it is not clear, that LambdaLite doesn't really introduce a new query language per se. The syntax is just "write any Lisp code you want" because actual Lisp closures are used where expressiveness is needed. Hopefully, this means the learning overhead is actually less: instead of needing to know both Lisp and SQL, you only need to know Lisp. (Disclaimer: obviously there is still an API to learn, but that would be the case with any SQL client library too.)

wukix | 11 years ago | on: Practically Accurate Floating-Point Math

If they're base-10 floats, they have all the same issues base-2 floats have

Nitpick: although base 10 floats have similar issues related to being of limited precision, they are superior to base 2 floats in the aspect of representing decimal numbers without the binary approximation: e.g. 1/10 is nonrepeating as 1.0 x 10^-1 but infinitely repeating as binary, so for IEEE 754 binary32 you get 1.10011001100110011001101 (1.60000002384185791015625) x 2^-4.

wukix | 11 years ago | on: Practically Accurate Floating-Point Math

Wu-Decimal uses exact rationals (they aren't base 10 floats). Division works according to normal Lisp semantics, since the CL ratio type is used for arithmetic. Let's say you divide something by 3 and now you have infinitely repeating digits: then it is no longer in set D, and Wu-Decimal no longer considers it to be of decimal type. Instead, it is treated as a fraction, again per standard CL semantics. The "Printing" example tries to clarify this (notice that 1/2 prints as '0.5' but 1/3 remains '1/3').

wukix | 11 years ago | on: New Requests for Startups

Thanks! I hope there is another BALisp meetup soon. The recent Parallac thing was cool, although it clearly needed more Lisp :)

wukix | 11 years ago | on: New Requests for Startups

I am the founder a developer tools startup and I've thought a lot about the future of programming. To be honest, the developer tools market is extremely competitive ("everything must be free") and it is not for the faint of heart. That said, if anyone wants to chat sometime in the Bay Area about future dev tools and/or startups around them, I'd be happy to meet. (contact info at https://wukix.com/contact)

wukix | 11 years ago | on: International Lisp Conference 2014 Summary

Nitpick: It's not licensing for a language, it's licensing for a specific tool. Common Lisp itself is not proprietary (having a standard) and code can be portable across implementations.

To answer your question, I would say that the business model (of charging for licenses) is fine in principle, but developer tools is a very difficult business to be in.

wukix | 11 years ago | on: International Lisp Conference 2014 Summary

the language is so fundamentally good -- Mature, robust, standarized, performant, compiled, gradually-typed -- that it is worth sticking with it, it is worth working to expand its ecosystem

This is why I created https://wukix.com/mocl. CL has a ton of merits. It's unfortunate that people pass over CL because it's "old" or whatever (a worthless criterion if there ever was one). The language is great, and with a little house cleaning, CL can seriously kick ass.

wukix | 12 years ago | on: My Thoughts on the Datomic License

For starters, objecting to the anti-criminality clauses seems paranoid. Granted, if you're a human rights organization under a hostile government, maybe you need to worry about this. But otherwise, what is the problem? Does one really need the ability to write viruses with Datomic? WTF?

Can you point to any specific examples of the extortionate behavior you describe? I imagine some companies cry extortion when they get nailed for genuine infringement (e.g., lots of unlicensed installs), but I would like to see an example where a software vendor went truly tyrannical on a customer that was actually using the software as agreed and intended.

wukix | 12 years ago | on: My Thoughts on the Datomic License

As a developer of commercial software, this strikes me as a lot of paranoia, although I do agree with one or two points.

These types of agreements have to be somewhat broadly written so that if someone acts like a jerk and e.g. resells Datomic as a cloud service, the license has a way to stop that. It has nothing to do with preventing you from privately installing your Datomic instance on AWS, or otherwise being a reasonable customer.

Companies generally have a strong interest in being fair to their customers. Taking the most paranoid reading of the license text like it is constitutional law and tyranny is right around the corner is simply incorrect and unfair.

I invite comment on my own license: https://wukix.com/mocl-license-agreement (for https://wukix.com/mocl)

wukix | 12 years ago | on: Open-Sourcing My Gambit Scheme iOS Game from 2010

It's true that CL's huge feature set promotes implementation bloat, but that doesn't completely rule out having a compact implementation.

In fact, mocl can run with only a few megabytes of memory, and has options to control the heap size.

If this seems unbelievable, feel free to stop by the mocl office in Redwood City, and I will explain it :)

page 1