Questions tagged [picolisp]

PicoLisp is a virtual machine architecture and an interpreted programming language.

PicoLisp has been used in several commercial and research programming projects since 1988. Its internal structures are simple enough, allowing an experienced programmer always to fully understand what's going on under the hood, and its language features, efficiency and extensibility make it suitable for almost any practical programming task.

PicoLisp is unusual for being one of the few active Lisps to feature both fexprs and dynamic binding, both of which it employs to a great extent where other Lisps would rely on macros. Other features include a builtin web server and persistent database engine, and an integrated Prolog query language. The style of the language is very concise. PicoLisp leans towards stateful and object-oriented, rather than functional, programming.

PicoLisp is primarily implemented as an interpreter for Linux on x86-64, but other implementations exist for 32-bit systems, the JVM, and JavaScript. The primary implementation is available under the MIT/X11 license.

http://picolisp.com

Books

7 questions
5
votes
2 answers

OSX GNU assembler problem with 'call foo@plt'

In an attempt to build 64-bit PicoLisp on Mac OS X (10.6.7) it seems I've encountered a problem with the OSX Dev. Tools GNU assembler ('as'), which is version 1.38. My Xcode is version 3.2.4. The lines in my (generated) x86-64.darwin.base.s that…
Jon K
  • 327
  • 2
  • 9
5
votes
1 answer

Color Pairs in ncurses not using correct colors

I'm trying to use ncursesw6.1 (linked to PicoLisp). As far as I know, PicoLisp directly passes through values in such a way that the fact that I'm calling ncurses through a non-C language shouldn't be a factor[1]. However, when I try to use color…
Alexis Dumas
  • 1,299
  • 11
  • 30
4
votes
1 answer

How to write a PicoLisp function that does not shadow variables with it's parameters

I am idly exploring PicoLisp, and find myself perplexed about how to write meta-programming functions that would traditionally be handled with macros (in other lisp dialects). The biggest source of concern for me is that I do not see how I can…
Charlim
  • 521
  • 4
  • 12
3
votes
1 answer

Picolisp question, segfault when manipulating lists of numbers (from mailing list)

I'm new to Picolisp. I tried this, and obtained a segfault: : ('(1 2) 6) Segmentation fault But, if i try: : ('(a b c) 6) -> NIL I mostly understand why, but it was a surprise that PicoLisp responded with a segfault instead of an error. Does this…
Prof. Falken
  • 24,226
  • 19
  • 100
  • 173
2
votes
2 answers

picoLisp language: onOff question

This question is really moot, I think I must have hit a bug in my program or something. If you are still looking for PicoLisp and onOff behaviour, look here. is this supposed to happen? : (show NIL) NIL NIL -> NIL : (onOff) -> T : (show NIL) T…
Prof. Falken
  • 24,226
  • 19
  • 100
  • 173
1
vote
1 answer

How to return a default value with `cond` in PicoLisp

I'm trying to return a default value when the other conditionals are not met with the cond statement. How can I achieve this in PicoLisp? (de fib (n) (cond ((= n 0) 0) ((= n 1) 1) (+ (fib (- n 1)) (fib (- n 2))) ) ) (prinl (fib 1)) #…
A1rPun
  • 16,287
  • 7
  • 57
  • 90
1
vote
1 answer

Autogenerated keys in Pilog

What's the best way to go about autogenerated keys for Pilog? i've been digging around a bit and can't find anything related. Hints and pointers would be most appreciated. Thank you.
Prof. Falken
  • 24,226
  • 19
  • 100
  • 173