32

Supposedly, the engine behind the iPhone's new Siri feature has been under development for several years (spawned from the CALO project). It is said that they even developed a new programming language specifically for it.

I can't find information about it anywhere. The only possible leads are academic papers, but I am not in an university network, so I don't have access to most of them.

Does anyone have any leads, examples, or even something vague as "it is similar to Prolog" or perhaps "it is a dialect of Lisp"?

vikingosegundo
  • 52,040
  • 14
  • 137
  • 178
Stephen Eilert
  • 1,527
  • 1
  • 17
  • 17
  • 4
    "In the first four years of the project, CALO-funded research has resulted in more than five hundred publications across all fields of artificial intelligence."- I'd say that qualifies it as an AI project. – Stephen Eilert Oct 06 '11 at 18:45
  • I wonder if some or all was ported to Objective-C... – Kit Oct 14 '11 at 00:12
  • 3
    I haven't seen anything about a Siri programming language in [Tom Gruber's publications](http://tomgruber.org/writing.htm) (he is the founder of Siri and product lead at Apple). – Jano Oct 16 '11 at 17:56
  • 1
    More important than the language is the way the data is organized and how is pulled from Siri. Any language wouldn't make a big difference as long they have the same algorithm/APIs. Am I wrong? – nacho4d Oct 18 '11 at 11:30
  • @nacho4d No, you are correct, up to a point. It has to deal with the level of abstraction. If the majority of Siri was coded in say, C, but they had devised a nice DSL to express some of their algorithms or data structures, that would be very interesting in itself. In fact, I'd be surprised if they didn't do something like that. – Stephen Eilert Oct 18 '11 at 20:54

2 Answers2

17

In terms of the Siri work, the direct predecessor ( http://www.sri.com/about/siri-timeline.html), the Personalized Assistant that Learns (PAL) Program, did produce an "agent-based language/framework" SPARK (not to be confused with SPARK Ada). They have publicly available documentation on it http://www.ai.sri.com/~spark/, https://pal.sri.com/CALOfiles/cstore/PAL-publications/calo/2005/IntrotoSPARK.pdf, and http://www.ai.sri.com/pubs/files/1023.pdf (and an Eclipse plugin, apparently). This is very different from a general-purpose programming language. The "language" is more of a language in the sense that it models a specific formalism for planning and knowledge representation (think semantic web rather than programming language). The framework itself is hosted in Python and sometimes Java.

gkuan
  • 921
  • 6
  • 6
  • That's exactly what I was looking for, but couldn't for the life of me remember where I had seen it. I had the impression that it was a general-purpose programming language, but a planning or knowledge representation language sounds even better. I am specially interested in agents lately, and I'm reading all papers I can find about NASA's Remote Agent Experiment (which flew on DS-1). – Stephen Eilert Jan 05 '12 at 01:04
4

From this blog post:

Siri has developed a new programming language and GUI for the API web. This is huge, although it’s too bad that it’s so early and so hidden.

There is a video in that blog post that shows the owner of the website interviewing two important figures from Siri, and they discuss what you asked about and much more.

Nathan
  • 11,814
  • 11
  • 50
  • 93
Gabriel
  • 3,039
  • 6
  • 34
  • 44