Giter Site home page Giter Site logo

eugeneia / erlangen Goto Github PK

View Code? Open in Web Editor NEW
65.0 9.0 9.0 194 KB

Distributed, asychronous message passing system for Clozure Common Lisp

License: Other

Common Lisp 98.36% Makefile 1.26% NewLisp 0.38%
distributed message-passing actors supervision common-lisp

erlangen's People

Contributors

eugeneia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

erlangen's Issues

awesome project

It's It's better than the LFE(lisp flavor erlang). Very useful

Can't compile on Raspberry Pi

I'm trying to compile erlangen on a Rasperry Pi (latest Raspbian). It fails to compile, maybe you can spot the problem easily?

Thanks!
Hans

Welcome to Clozure Common Lisp Version 1.11-r16635  (LinuxARM32)!

CCL is developed and maintained by Clozure Associates. For more information
about CCL visit http://ccl.clozure.com.  To enquire about Clozure's Common Lisp
consulting services e-mail [email protected] or visit http://www.clozure.com.

? (ql:quickload :erlangen)
To load "erlangen":
  Load 1 ASDF system:
    erlangen
; Loading "erlangen"
> Error: The value 3690216436 is not of the expected type FIXNUM.
> While executing: MAKE-AGENT%, in process listener(1).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.
1 > :b
*(76B2DAA8) : 0 (MAKE-AGENT% :MAILBOX #S(MAILBOX :QUEUE #<BOUNDED-FIFO-QUEUE capacity 64 #x152484CE> :PRIORITY #<JPL-QUEUES:UNBOUNDED-FIFO-QUEUE #x152482AE> ...) :LINKS NIL :MONITORS NIL :LOCK #<RECURSIVE-LOCK "erlangen.agent" [ptr @ #x7680CAA0] #x15247CFE> :SYMBOL NIL :BIRTHTIME 3690216436 :DEATHTIME 0) 360
 (76B2DAA8) : 1 (FUNCALL #'#<Anonymous Function #x15248656>) 116
 (76B2DAB8) : 2 (FUNCALL #'#<CCL::$FASL-LFUNCALL> #<CCL::FASLSTATE #x76B2E746>) 72
 (76B2DAC8) : 3 (%FASLOAD "/home/hans/.cache/common-lisp/ccl-1.11-f101-linux-arm/home/hans/quicklisp/local-projects/erlangen/agent.lafsl" #(#<Compiled-function CCL::$FASL-NOOP (Non-Global)  #x14035356> #<Compiled-function CCL::$FASL-S32-VECTOR (Non-Global)  #x14036E4E> #<Compiled-function CCL::$FASL-CODE-VECTOR (Non-Global)  #x14037176> CCL::%BAD-FASL #<Compiled-function CCL::$FASL-LFUNCALL (Non-Global)  #x14035616> ...)) 1084
 (76B2E790) : 4 (%LOAD #P"/home/hans/.cache/common-lisp/ccl-1.11-f101-linux-arm/home/hans/quicklisp/local-projects/erlangen/agent.lafsl" NIL NIL :ERROR :DEFAULT NIL) 2832
 (76B2E890) : 5 (LOAD #P"/home/hans/.cache/common-lisp/ccl-1.11-f101-linux-arm/home/hans/quicklisp/local-projects/erlangen/agent.lafsl" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT :PRESERVE-OPTIMIZATION-SETTINGS NIL) 832
 (76B2E988) : 6 (CALL-WITH-MUFFLED-CONDITIONS #<COMPILED-LEXICAL-CLOSURE (:INTERNAL UIOP/LISP-BUILD:LOAD*) #x15241066> ("Overwriting already existing readtable ~S." #(#:FINALIZERS-OFF-WARNING :ASDF-FINALIZERS))) 212
 (76B2E9F8) : 7 (%%BEFORE-AND-AFTER-COMBINED-METHOD-DCODE (NIL #<STANDARD-METHOD ASDF/ACTION:PERFORM #> . 497023470)) 872
 (76B2EA18) : 8 (%%STANDARD-COMBINED-METHOD-DCODE ((#<#>) (#<#>) #<STANDARD-METHOD ASDF/ACTION:PERFORM #>) 497023470) 132
 (76B2EA78) : 9 (%CALL-NEXT-METHOD (NIL #<STANDARD-METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS #> . 497023520)) 724
 (76B2EAD0) : 10 (FUNCALL #'#<#<STANDARD-METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS (ASDF/LISP-ACTION:LOAD-OP ASDF/LISP-ACTION:CL-SOURCE-FILE)>> (NIL #<STANDARD-METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS #> . 497023520) #<LOAD-OP :VERBOSE NIL>) 304
 (76B2EB68) : 11 (%CALL-NEXT-METHOD (NIL #<STANDARD-METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS #> . 497023520)) 724
 (76B2EBC0) : 12 (FUNCALL #'#<#<STANDARD-METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)>> (NIL #<STANDARD-METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS #> . 497023520) #<LOAD-OP :VERBOSE NIL>) 476
 (76B2EC88) : 13 (%%STANDARD-COMBINED-METHOD-DCODE (#<STANDARD-METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND #> #<STANDARD-METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS #> #<STANDARD-METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS #>) 497023520) 460
 (76B2ECC8) : 14 (FUNCALL #'#<#<STANDARD-METHOD ASDF/PLAN:PERFORM-PLAN (LIST)>> ((#<# > . #<# #>) (#<# > . #<# # #>) (#<# > . #<# # #>) (#<# > . #<# # #>) (#<# > . #<# # #>) ...) :FORCE NIL) 288
 (76B2ECE8) : 15 (%CALL-NEXT-METHOD (NIL #<STANDARD-METHOD ASDF/PLAN:PERFORM-PLAN #> . 497023564)) 724
 (76B2ED40) : 16 (CALL-WITH-COMPILATION-UNIT #<COMPILED-LEXICAL-CLOSURE (:INTERNAL CCL::WITH-COMPILATION-UNIT-BODY #) #x76B2ED7E> :OVERRIDE NIL) 120
 (76B2ED60) : 17 (FUNCALL #'#<#<STANDARD-METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)>> (NIL #<STANDARD-METHOD ASDF/PLAN:PERFORM-PLAN #> . 497023564)) 256
 (76B2EDA8) : 18 (%%STANDARD-COMBINED-METHOD-DCODE (#<STANDARD-METHOD ASDF/PLAN:PERFORM-PLAN :AROUND #> #<STANDARD-METHOD ASDF/PLAN:PERFORM-PLAN #>) 497023564) 460
 (76B2EE08) : 19 (%CALL-NEXT-METHOD (NIL #<STANDARD-METHOD ASDF/PLAN:PERFORM-PLAN #> . 497023603)) 724
 (76B2EE60) : 20 (CALL-WITH-COMPILATION-UNIT #<COMPILED-LEXICAL-CLOSURE (:INTERNAL CCL::WITH-COMPILATION-UNIT-BODY #) #x76B2EE9E> :OVERRIDE NIL) 120
 (76B2EE80) : 21 (FUNCALL #'#<#<STANDARD-METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)>> (NIL #<STANDARD-METHOD ASDF/PLAN:PERFORM-PLAN #> . 497023603)) 256
 (76B2EEC8) : 22 (%%STANDARD-COMBINED-METHOD-DCODE (#<STANDARD-METHOD ASDF/PLAN:PERFORM-PLAN :AROUND #> #<STANDARD-METHOD ASDF/PLAN:PERFORM-PLAN #>) 497023603) 460
 (76B2EF08) : 23 (FUNCALL #'#<#<STANDARD-METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)>> #<LOAD-OP :VERBOSE NIL> #<SYSTEM "erlangen"> :VERBOSE NIL) 172
 (76B2EF28) : 24 (%CALL-NEXT-METHOD ((NIL) #<STANDARD-METHOD ASDF/OPERATE:OPERATE #> #<LOAD-OP :VERBOSE NIL> #<SYSTEM "erlangen"> :VERBOSE ...)) 332
 (76B2EF80) : 25 (FUNCALL #'#<(:INTERNAL (ASDF/OPERATE:OPERATE :AROUND (T T)))>) 124

Overview of infant branches

For people who come here via my ELS lightning talk, you might expect to find some code that is not yet in the master branch. Here’s an overview of the relevant branches:

  • platform this includes a system erlangen-platform, analogous to Erlang’s OTP. It currently includes a fairly complete (but undocumented, fear not the code is simple) supervisor implementation, a basic logger framework, a timer service, a generic server behavior, as well as a generic "socket-server" behavior that can be used to implement concurrent socket servers.

  • mesh-table (based off platform) that features a tiny (300 SLOC) generic Kademlia DHT implementation

  • cas replaces the jpl-queues dependency with compare-and-swap based queue implementations that are roughly twice as fast, but less well tested (the numbers from the talk were on this branch)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.