- Duncan McGreggor: Erlang Music Systems Programming with Lisp
In this talk, Duncan will be sharing the open source "undertone" project, a new effort in the Erlang ecosystem for interacting with music systems in a reliable, fault-tolerant manner. A brief background will be provided on Erlang and LFE with a special focus on OTP -- the suite behaviours available to Erlang, LFE, and Elixir programmers for creating distributed systems software. Erlang's elegant approach for working with external applications and OS processes will be covered as well, thus providing additional context for how undertone effectively incorporates disparate systems. Example code of undertone providing a unifying API around music performance will be shared, as will LFE macros used for creating musical compositions. Technology spirits and muses willing, a handful of audio demos will be Interspersed at appropriate points in the presentation.
Duncan has had a full career in the computing industry, where his quarter-century of computer programming experience has led to the current position as Principal Engineer working for the CTO of a tech company. The path to this point has been wild and varied, including not only professional high-points of working at NASA as well as for Ubuntu -- at the time, the world’s most popular Linux operating system distribution -- but also as a linguist in the 101st Airborne Division; physics and maths student at uni; a meditation student traveling to India and Nepal; a casualty of the dot-com bust of 2000/2001 and the 2007/2008 recession; and one of millions of programmers in Silicon Valley and the Bay Area. He has also managed to write a technical book on mathematical programming, create two home-based recording studios, and learn carpentry as part of fixing up a 1915 American Arts-and-Crafts-era home, falling in love with the hand tools of fine woodworking as a result. His deepest technical passion for the past decade has been as a contributor to Lisp Flavoured Erlang (LFE), created and maintained by Robert Virding, co-inventor of Erlang itself.
- Pierre de Lacaze, Babar: Knowledge Recognition, Extraction and Representation
Babar is a research project in the field of Artificial Intelligence. It aims to bridge together Neural AI and Symbolic AI. As such it is implemented in three different programming languages: Clojure, Python and CLOS.
The Clojure component (Clobar) implements the graphical user interface to Babar. Examples of the Clojure Hiccup library and interfacing Clojure to Javacript will be presented. The Python module (Pybar) implements the web crawling and scraping and the Neural Networks aspect of Babar. The Word Embedding and and LSTM (Long Short-Term Memory) components of Pybar will be described in detail. Finally the Common Lisp module (Lispbar) implements the Symbolic AI aspect of Babar. This latter includes an English Language Parser and Semantic Networks implemented as an in-memory Hypergraph.
We will present each of these components and target individual aspects with code examples. Specifically we will first present the web developments and Neural Networks components. Then the English Language parser will be examined in detail. We will also present the knowledge extraction aspect and bridge this with the Neural Network component.
Ultimately we will argue what can be termed "Neural AI" and "Symbolic AI" are at not at odds with each other but rather complement each other. In summary Artificial Intelligence is not a question of "brain" or "mind", but rather a question of "brain" and "mind".
- LispNYC Social: All aboard the S-Expression express!
Train coming. Get your tickets, pack your atoms, and get on the list!
- LispNYC Social: Lamda all the way down!
Child: What are Records made of?
Dad: They are just product types
Child: What are product types made of?
Dad: They are made of lamdas
Child: What are lambdas made of?
Dad: It's Lambdas all the way down... now go play!
- Robert Virding: Lisp Flavored Erlang
LFE, https://lfe.io , is a Lisp-2+ written for the Erlang VM, providing 100% compatibility with Core Erlang. It is a proper, functional dialect of Lisp with a REPL and macros, as well as features inherited from Erlang, such as pattern pattern matching. Importantly, LFE boasts seamless interoperability with Erlang and the BEAM ecosystem of libraries. It not only has been used in stable production applications since 2015, it has also been employed by start-ups as their differentiating tech. LFE is flexible enough to be everything from your go-to scripting solution to your preferred syntax for massively scalable, soft-real time services.
Robert Virding is one of the co-inventors of Erlang and was an early member of the Ericsson Computer Science Lab. He took part in the original system design and contributed much of the original libraries, as well as to the current compiler. He has always been interested in the design of languages and their implementation, particularly functional and logic languages. Robert has created several different languages in Erlang and on the Erlang system, which have had various levels of adoption around the world. He has also worked as an entrepreneur, having been one of the co-founders of one of the first Erlang startups (Bluetail). Additionally, Robert spent a number of years at the Swedish Defence Materiel Administration (FMV) Modelling and Simulations Group. He co-authored the first book on Erlang, published by Prentice-Hall, is now Principal Language Expert at Erlang Solutions Ltd., and is regularly invited to teach and present throughout the world.
- Larry Masinter, The Medley Interlisp Project: Status and Plans
Medley Interlisp is the environment from the old Xerox Lisp machines, which was spun out to a company called Envos, which then turned into Venue.
It was once a commercial software development environment aimed at the 1980s AI market, and it contained many influential ideas. Notecards, for example, was a conceptual predecessor of Apple's Hypercard, and D-EDIT and S-EDIT are sort of the canonical ancestral structure editors. Masterscope and the "file package" included system-management tools that combined features of version control and build systems, with comprehensive cross referencing support.
Medley was the latest release of the Xerox Lisp environment, before the whole environment was renamed Medley. It was originally written in Interlisp (a dialect separate from the MACLISP/Common Lisp tradition, with its own ancestry), but later, Common Lisp also became part of the environment. Medley includes WYSIWYG text editor (TEdit), email organizer (Lafite), performance tools (Spy) and many other libraries and user contributed code (from the 1980s).
The 1992 ACM Software System Award, to Daniel G. Bobrow, Richard R. Burton, L. Peter Deutsch, Ronald M. Kaplan, Larry Masinter, Warren Teitelman
for their pioneering work in programming environments that integrated source-language debuggers, fully compatible integrated interpreter/compiler, automatic change management, structure-based editing, logging facilities, interactive graphics, and analysis/profiling tools in the Interlisp system.
At this point the base system is usable enough on 64-bit OSes and quite fast (A $40 pi runs Lisp > 150 times faster than a $30,000 Xerox 1108 in 1982).
- François-René Rideau: Prototype Object Programming in Gerbil Scheme
What is the essence of object-oriented programming?
Incremental composition of code and data fragments with late binding.
We will summarize the theoretical idea in 99 characters of Scheme code.We will explain how the very same design was achieved before by Jsonnet https://jsonnet.org/ and Nix https://github.com/NixOS/nixpkgs/blob/master/lib/fixed-points.nix: object instances as trivial fixed-points of prototypes, themselves simple composable mixins in a dynamically-typed pure lazy functional language.
We will also present POO, a practical implementation of Prototype Object-Orientation in a few hundreds of lines of Gerbil Scheme. https://github.com/fare/gerbil-poo . We will demonstrate how this design can express Class-based Object-Orientation or Typeclasses as simple prototypes for type descriptors (hence the need for dynamic types or reflection), and how it enables both parametric polymorphism and ad hoc polymorphism in interface-passing style. We will show how in practice we use this design to factor our code into extremely succinct components that we can reuse compositionally.
We will briefly mention not-yet-implement projects to overcome limitations to this implementation, including the handling of inheritance hierarchies as DAGs rather than manually linearized lists, method composition, typing, as well as many shaping and caching optimizations.
- J.D. Hollis: Tansley, CAD for the Cloud
Terraform is a powerful tool, but it is not without its shortcomings. The configuration language is verbose and repetitive. There is no clearly established way to structure projects, and it can be a challenge to effectively modularize your code. Bootstrapping projects often involves manually solving chicken-and-egg issues via multiple applies. You have almost no visibility into the current state of your infrastructure, and trying to get your head around all of the resources in a larger system can take hours of research.
But what if you had a map?
In this talk, I’ll be discussing Tansley, an application that pairs Lisp’s code as data with infrastructure as code. Tansley enables you to visualize your infrastructure as you build it, generate Terraform with Clojure, and query that configuration with Datalog.
Tansley is CAD for cloud architecture—a map with a REPL.
J.D. Hollis is a designer and engineer with over 15 years of experience creating digital products and platforms. He helps early stage startups launch at scale with cloud-native architecture and strong DevOps practices.