This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;source: http://norvig.com/paip/interp2.lisp | |
;;; -*- Mode: Lisp; Syntax: Common-Lisp; -*- | |
;;; Code from Paradigms of Artificial Intelligence Programming | |
;;; Copyright (c) 1991 Peter Norvig | |
;;; File interp2.lisp: Tail-recursive Scheme interpreter. | |
(requires "interp1") |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;source: http://norvig.com/paip/interp1.lisp | |
;;; -*- Mode: Lisp; Syntax: Common-Lisp; -*- | |
;;; Code from Paradigms of Artificial Intelligence Programming | |
;;; Copyright (c) 1991 Peter Norvig | |
;;; File interp1.lisp: simple Scheme interpreter, including macro.sgi | |
(defun interp (x &optional env) | |
"Interpret (evaluate) the expression x in the environment env." |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;source: http://ideone.com/lEx0T | |
;explanation: http://stackoverflow.com/a/3685147 | |
(defun null. (x) | |
(eq x '())) | |
(defun and. (x y) | |
(cond (x (cond (y 't) ('t '()))) | |
('t '()))) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
################ Scheme Interpreter in Python | |
## (c) Peter Norvig, 2010; See http://norvig.com/lispy2.html | |
################ Symbol, Procedure, classes | |
from __future__ import division | |
import re, sys, StringIO | |
class Symbol(str): pass |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
################ Lispy: Scheme Interpreter in Python | |
## (c) Peter Norvig, 2010; See http://norvig.com/lispy.html | |
################ Symbol, Env classes | |
from __future__ import division | |
Symbol = str |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;Lisp in Lisp in Golomb forests. Includes use of linked lists. | |
;Based on Paul Graham's version of McCarthy's paper and code. | |
;Uses only eq, cond, atom, quote, cons, car, and cdr. | |
(defun null. (x) | |
(eq x '())) | |
(defun and. (x y) | |
(cond (x | |
(cond (y 't) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns fsm | |
(:refer-clojure :exclude [==]) | |
(:use [clojure.core.logic])) | |
;; Encoding a Finite State Machine and recognizing strings in its language in Clojure core.logic | |
;; We will encode the following FSM: | |
;; | |
;; (ok) --+---b---> (fail) | |
;; ^ | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; outlet code for implementing traditional macro expansion | |
;; macros | |
(define (expand form) | |
(cond | |
((variable? form) form) | |
((literal? form) form) | |
((macro? (car form)) | |
(expand ((macro-function (car form)) form))) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Rozhovor v kancelárii. | |
"Čaf. Workuje to?" | |
"No čau, už si tu? Nie, zatiaľ sa mi to nepodarilo rozbehať." | |
"Okej, tak sa logofni, ja sa na to luknem." | |
"Inak júzujem tvoju stoličku, neva? Len si toto sejvnem a hneď ti ju ritarnem. Aj tak to musím ísť dať sajnúť hedovi." | |
"Kľudne si ju nechaj, tejknem si tamtú." | |
"Ako chceš, ja už idem za hedom, už si môžeš tejknúť svoju." | |
U šéfa: | |
"Šéfko, sajneš mi túto invojsu? Vendor ma už obháňa, že sme overďjú." |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; source: http://okmij.org/ftp/Scheme/sokuza-kanren.scm | |
; Quick miniKanren-like code | |
; | |
; written at the meeting of a Functional Programming Group | |
; (Toukyou/Shibuya, Apr 29, 2006), as a quick illustration of logic | |
; programming. The code is really quite trivial and unsophisticated: | |
; it was written without any preparation whatsoever. The present file | |
; adds comments and makes minor adjustments. |