Lambdaheads: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
(46 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<span style="float:right;border:10px;"> http://asset.soup.io/asset/1196/8300_0b12.jpeg <br /><div align="right"><small>Source: [http://soup.fnordicwalking.de/post/84983706/my-head-is-now-a-lambda-expression soup.fnordicwalking.de]</small></div></span>
+
{{Usergroup
 +
|logo=Lambdaheads-Logo.jpg
 +
|organizer=[[User:citizen428|citizen428]], [[User:epsilonhalbe|epsilonhalbe]]
 +
|email=
 +
|irc=
 +
|startdate=
 +
|homepage=
 +
|topic=Lambdaheads
 +
|status=active
 +
|meetings=alter Termin + 28 Tage
 +
|targetgroup=Jeder mit Interesse an funktionaler Programmierung, vom Mathematiker zum Software-Entwickler.
 +
|description=Ein regelmäßiges Treffen von Leuten die sich für [[wde:Lisp|Lisp-Dialekte]] und [[wde:Funktionale_Programmierung|funktionale Programmierung]] im Allgemeinen interessieren.
 +
}}
 +
= WTF =
 +
Ein regelmäßiges Treffen von Leuten die sich für [[wde:Lisp|Lisp-Dialekte]] und [[wde:Funktionale_Programmierung|funktionale Programmierung]] im Allgemeinen interessieren.
  
=== WTF ===
+
= Kommende Events =
Ein regelmäßiges Treffen von Leuten die sich für [[wde:Lisp|Lisp-Dialekte]] und [[wde:Funktionale_Programmierung|funktionale Programmierung]] im Allgemeinen interessieren.
 
 
 
=== Kommende Events ===
 
  
 
Nächster Termin = alter Termin + 28 Tage
 
Nächster Termin = alter Termin + 28 Tage
  
'''Achtung:''' Spezialtermin im <del>Februar</del> <del>März</del> April(??) mit einem Vortrag von Microsoft zu F#, Termin tba.
+
== nächster regulärer Termin ==
  
Nächster regulärer Termin:  
+
Termin: Mo, '''2013-07-16''' ab 20:00 Uhr in der Bibliothek [[Lage|im Metalab]]
  
Termin: Mo, '''2012-03-05''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
+
=== Programm ===
  
Programm: Ich bin vor kurzem auf den catalyst coding contest hingewiesen worden und habe versucht das Challenge von 2010 in Haskell zu lösen, und stehe nun (ich armer Tor) vor dem 5ten Level. Und komm nicht weiter. Ich werde meinen Code präsentieren und wäre interessiert Lösungen funktionaler und nichtfunktionaler Art zu sehen, bzw. hoffe ich auf Ideen eurerseits wie ich weitercoden könnte.
+
generators in future ECMAscript
  
Mein Zeug bzw die Aufgabenbeschreibungen (als pdf) findet Ihr auf [https://github.com/epsilonhalbe/Lambdaheads github]
+
=== Teilnehmer ===
- ε/2
 
  
Teilnehmer:
+
* [[Benutzer:Daxim]]
 +
* [[Benutzer:Epsilon.halbe|ε/2]]
 +
* http://www.meetup.com/viennajs/events/126593272/
  
 +
<!--
 +
* [[Benutzer:Lefant|Lefant]]
 +
* [[Benutzer:Mark.probst|schani]]
 
* [[User:Citizen428|citizen428]]
 
* [[User:Citizen428|citizen428]]
* [[Benutzer:Epsilon.halbe|ε/2]]
+
-->
 
 
=== Vortragswünsche ===
 
  
* Interfacing to SDL/Games in functional languages
+
== Vortragswünsche ==
* Intro to Haskell
+
* Coq - a proof assistant ([[Benutzer:Epsilon.halbe|ε/2]]?)
* Intro to a Clojure Web Framework
+
* Interfacing to SDL/Games in functional languages ([http://prog21.dadgum.com/23.html Purely Functional Retro Games])
* Readable Haskell Examples
+
* Readable/non-trivial Haskell Examples ([[Benutzer:Epsilon.halbe|ε/2]], e.g. Pandoc)
 
* How Darcs works
 
* How Darcs works
* Intro to QuickCheck and Software Testing in Haskell
 
* [http://marcoil.org/wp-content/uploads/2009/04/format-fear.jpg Format], Mutterliebhaber, do you speak it?
 
* [http://en.wikipedia.org/wiki/Zipper_(data_structure) Zippers]
 
 
* Two λ enter, one λ leaves: [http://snapframework.com/ Snap] vs. [http://yesodweb.com/ Yesod]
 
* Two λ enter, one λ leaves: [http://snapframework.com/ Snap] vs. [http://yesodweb.com/ Yesod]
 
+
* Emacs
 +
__TOC__
 
== Vortragsvorschläge ==
 
== Vortragsvorschläge ==
* Intro to Clojure ([[User:Cypher|cypher]])
 
* Principles of Functional Programming ([[User:Cypher|cypher]])
 
 
* [http://weitz.de/hunchentoot/ Hunchentoot], Web programming, maybe hunchentoot-fcgi (WIP) or [http://common-lisp.net/project/postmodern/ Postmodern] ([[User:japhy|japhy]])
 
* [http://weitz.de/hunchentoot/ Hunchentoot], Web programming, maybe hunchentoot-fcgi (WIP) or [http://common-lisp.net/project/postmodern/ Postmodern] ([[User:japhy|japhy]])
 
* Zippers ([[User:Citizen428|citizen428]])
 
* Zippers ([[User:Citizen428|citizen428]])
 +
* fold and it's universal mapping property - ein versuch fold kennenzulernen - [[Benutzer:Epsilon.halbe|ε/2]]
 +
* Intro to QuickCheck and Software Testing in Haskell  ([[Benutzer:Epsilon.halbe|ε/2]])
 +
* Intro to a Clojure Web Framework (Noir semi-done, again [[User:Citizen428|citizen428]])
  
=== Links ===
+
= Links =
 
* [[wde:Lambda-Kalkül|Lambda-Kalkül]]
 
* [[wde:Lambda-Kalkül|Lambda-Kalkül]]
 
* [http://common-lisp.net/ Common Lisp]
 
* [http://common-lisp.net/ Common Lisp]
Zeile 53: Zeile 65:
 
* [http://www.complang.tuwien.ac.at/schani/chpp/ Chakotay]
 
* [http://www.complang.tuwien.ac.at/schani/chpp/ Chakotay]
  
=== Kontakt ===
+
= Kontakt =
* [[User:Citizen428|citizen428]]
+
* [[User:Citizen428|citizen428]] - derzeit auf Weltreise
 +
* [[User:Epsilon.halbe|epsilonhalbe]]
 +
 
 +
= Frühere Events =
 +
 
 +
== 2013-06-18 ==
 +
 
 +
comb, one of the opposites of join (the other one is split)
 +
 
 +
<pre>
 +
String.prototype.comb = function(re) {
 +
    // lol type conversion the hacky way
 +
    re = ('' + re)              // now it's a string
 +
        .replace(/^\//, '')    // hack off leading
 +
        .replace(/\/$/, '');    // trailing delimiter
 +
    // no interpolation, no sigils, no sprintf
 +
    return eval('this.match(/(' + re + ')+/g)');
 +
}
 +
</pre>
 +
 
 +
gather/take construct reimplemented for JS - a replacement for the idiom of declaring a collecting variable and pushing into it occasionally http://perl6.wikia.com/wiki/Gather
 +
 
 +
<pre>
 +
function gather(fn) {
 +
    var guard = new Array;
 +
    var take = function (items) {
 +
        guard = guard.concat(items);
 +
    };
 +
    fn(take);
 +
    return guard;
 +
};
 +
 
 +
console.log(
 +
    gather(function(take) {
 +
        for (var i = 0; i <= 10; i++) {
 +
            if (i % 2) {
 +
                take(i);
 +
            }
 +
        }
 +
    })
 +
)
 +
 
 +
var arr = [];
 +
for (var i = 0; i <= 10; i++) {
 +
    if (i % 2) {
 +
        arr.push(i);
 +
    }
 +
}
 +
</pre>
 +
 
 +
Haskell example is incomplete
 +
 
 +
<pre>
 +
gather x = foldr (:) [] x
 +
main = print $ gather [0..10]
 +
</pre>
 +
 
 +
reimplementation of List::Gen::by http://p3rl.org/List::Gen#by-NUM-LIST (no generators, just list transformation)
 +
 
 +
<pre>
 +
function by(n, a) {
 +
    var r = new Array;
 +
    while(a.length) {
 +
        r.push(a.splice(0, n));
 +
    };
 +
    console.log(a);
 +
    return r;
 +
};
 +
 
 +
function by2(n, a) {
 +
    return a.length ? [a.slice(0, n)].concat(by2(n, a.slice(n))) : [];
 +
}
 +
 
 +
console.log( by2(5, [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]) );
 +
console.log( by2(5, [1,2,3,4,5,6,7,8,9,10,11,12,13,14]) );
 +
console.log( by2(5, [1,2,3,4]) );
 +
console.log( by2(5, []) );
 +
</pre>
 +
 
 +
<pre>
 +
// contrib by intval
 +
// divides array into equal arrays, each of size n
 +
function by(n, arr) {
 +
    function byby(n, arr, accum) {
 +
        if(arr.length < 1) {
 +
            return accum;
 +
        }
 +
        var head = [arr.slice(0,n)];
 +
        var tail = arr.slice(n);
 +
        return byby(n, tail, accum.concat(head));
 +
    }
 +
    return byby(n, arr, []);
 +
}
 +
 
 +
console.log( by(5, [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]) );
 +
console.log( by(5, [1,2,3,4,5,6,7,8,9,10,11,12,13,14]) );
 +
console.log( by(5, [1,2,3,4]) );
 +
console.log( by(25, []) );
 +
</pre>
 +
 
 +
== 2013-05-21 ==
 +
 
 +
A revival to much muttering, fretting and frowning of brows!
 +
 
 +
* A little tutorial on Monads [[User:Epsilon.halbe|(ε/2)]]
 +
** [https://github.com/epsilonhalbe/MonadTalk SourceCode]
 +
** [[media:MonadTalk.pdf|Slides(pdf)]]
 +
 
 +
* Func-prog in JS:
 +
** [http://stevelosh.com/blog/2013/03/list-out-of-lambda/ Steve Losh: List out of Lambda]
 +
** [http://www.youtube.com/watch?v=3ujq55fCx6o YouTube Elise Huard: Why functional is the new black -- JSConf EU 2012]
 +
 
 +
== 2012-10-15 ==
 +
 
 +
* Coding Challenge: bring your favourite languages, solve a small practical real-world problem from Stack Overflow in a functional fashion, let's hack and learn from each others' solutions [https://github.com/lambdaheads] [https://github.com/epsilonhalbe/Lambdaheads]
 +
 
 +
http://stackoverflow.com/questions/12872469
 +
 
 +
== 2012-09-17 ==
 +
 
 +
* Introduction to Scala von Alex ([[Scala_User_Group]])
 +
 
 +
== 2012-08-20 ==
 +
 
 +
- Burrows-Wheeler Transformation aus "R.Bird - Pearls of functional Programming"
 +
* Algorithmus durchbesprechen und
 +
* Ein bischen testen mit QuickCheck
 +
 
 +
== 2012-07-23 ==
 +
 
 +
* [https://github.com/schani/clojurec ClojureC] Status Report von [[Benutzer:Mark.probst|schani]]
 +
 
 +
== 2012-06-25 ==
 +
 
 +
* ClojureC - neues Projekt von [[Benutzer:Mark.probst|schani]]
 +
 
 +
== 2012-05-24 ==
 +
 
 +
* neues bei [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:pugs Pugs]
 +
 
 +
== 2012-04-30 ==
 +
* [http://www.lisperati.com/casting.html Casting SPELs in Lisp] ([http://www.lisperati.com/casting-spels-emacs/html/casting-spels-emacs-1.html EmacsLisp version])
 +
* [http://lisperati.com/haskell/ Haskell tutorial von Conrad Barski]
 +
* [http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/ Learn Haskell Fast and Hard]
 +
* [https://gist.github.com/c3ef3b994a43bee8f90b Solution for Martin's coding challenge]
 +
* [http://shop.oreilly.com/product/0636920023142.do Yesod Buch]
 +
 
 +
== 2012-03-05 ==
 +
<del>Mo, '''2012-04-02''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]</del><br>
 +
Mo, '''2012-03-05''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
 +
Programm: Ich bin vor kurzem auf den catalyst coding contest hingewiesen worden und habe versucht das Challenge von 2010 in Haskell zu lösen, und stehe nun (ich armer Tor) vor dem 5ten Level. Und komm nicht weiter. Ich werde meinen Code präsentieren und wäre interessiert Lösungen funktionaler und nichtfunktionaler Art zu sehen, bzw. hoffe ich auf Ideen eurerseits wie ich weitercoden könnte.
  
=== Frühere Events ===
+
Mein Zeug bzw die Aufgabenbeschreibungen (als pdf) findet Ihr auf [https://github.com/epsilonhalbe/Lambdaheads github]
 +
- ε/2
  
 +
== 2012-02-13 ==
 
Mo '''2012-02-13''' ab 19:30 in der Bibliothek [[Lage|im Metalab]]
 
Mo '''2012-02-13''' ab 19:30 in der Bibliothek [[Lage|im Metalab]]
  
Zeile 69: Zeile 233:
 
* [http://evincarofautumn.blogspot.com/2012/02/why-concatenative-programming-matters.html Why Concatenative Programming Matters]
 
* [http://evincarofautumn.blogspot.com/2012/02/why-concatenative-programming-matters.html Why Concatenative Programming Matters]
  
 +
== 2012-01-09 ==
 
Mo, '''2012-01-09''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
 
Mo, '''2012-01-09''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
 
[http://stackoverflow.com/questions/8439003/what-is-the-regex-to-extract-a-date-mask-in-perl Programming Challenge] by [[Benutzer:daxim|daxim]]. Solutions in [https://gist.github.com/64db740e0d69d03d756e Ruby] ([[User:Citizen428|citizen428]]), [https://gist.github.com/1582790 Haskell] ([[User:Epsilon.halbe|ε/2]]), [https://gist.github.com/1638626 Python2] (a friend of ε/2) and [https://gist.github.com/e4d81989ba2f2e119a4d Common Lisp] ([[User:japhy|japhy]]).
 
[http://stackoverflow.com/questions/8439003/what-is-the-regex-to-extract-a-date-mask-in-perl Programming Challenge] by [[Benutzer:daxim|daxim]]. Solutions in [https://gist.github.com/64db740e0d69d03d756e Ruby] ([[User:Citizen428|citizen428]]), [https://gist.github.com/1582790 Haskell] ([[User:Epsilon.halbe|ε/2]]), [https://gist.github.com/1638626 Python2] (a friend of ε/2) and [https://gist.github.com/e4d81989ba2f2e119a4d Common Lisp] ([[User:japhy|japhy]]).
  
 
+
== 2011-11-12 ==
 
Mo., '''2011-11-12''', ab 19:30 Uhr im Hauptraum [[Lage|im Metalab]]
 
Mo., '''2011-11-12''', ab 19:30 Uhr im Hauptraum [[Lage|im Metalab]]
  
 
angeregte Diskussion auf der Couch vor der Blinkenwall über alles mögliche™
 
angeregte Diskussion auf der Couch vor der Blinkenwall über alles mögliche™
  
 
+
== 2011-10-17 ==
 
Mo, '''17.10.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
 
Mo, '''17.10.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
 
* [http://www.complang.tuwien.ac.at/schani/chpp/ Chakotay] von Schani
 
* [http://www.complang.tuwien.ac.at/schani/chpp/ Chakotay] von Schani
  
 +
== 2011-09-19 ==
 +
Mo, '''19.9.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
Mo, '''19.9.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
+
* Overview: Martins (=[[User:Epsilon.halbe|ε/2]]) Spielprojekt "Algebra Alchemy"
 
 
* Overview: Martins (=[[User:Epsilon.halbe|ε/2]]) Spielprojekt "Algebra Alchemy"  
 
 
** Symbolic Algebra<br>
 
** Symbolic Algebra<br>
 
** Algebraic Expression Trees<br>
 
** Algebraic Expression Trees<br>
Zeile 94: Zeile 259:
 
in Haskell all DIY - hopefully readable ;-)
 
in Haskell all DIY - hopefully readable ;-)
  
 
+
== 2011-08-29 ==
 
Lambdaheads Spezial, '''29.8.''', 18:15 - 19:45
 
Lambdaheads Spezial, '''29.8.''', 18:15 - 19:45
  
 
[[User:Antifuchs]] zeig [http://www.franz.com/agraph/allegrograph/ AllegroGraph] in der Bibliothek [[Lage|im Metalab]].
 
[[User:Antifuchs]] zeig [http://www.franz.com/agraph/allegrograph/ AllegroGraph] in der Bibliothek [[Lage|im Metalab]].
  
 
+
== 2011-07-25 ==
 
Mo, '''25.7.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
 
Mo, '''25.7.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
Zeile 109: Zeile 274:
 
* http://98.245.80.27/tcpc/OSCON2011/gbu/gbu.html
 
* http://98.245.80.27/tcpc/OSCON2011/gbu/gbu.html
  
 
+
== 2011-06-27 ==
Mo, '''27.6.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]  
+
Mo, '''27.6.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
 
* OCaml is dead - long live OCaml
 
* OCaml is dead - long live OCaml
Zeile 117: Zeile 282:
 
* Misc stuff to read [http://www.haskell.org/wikiupload/8/85/TMR-Issue13.pdf the Monad.Reader #13] - Typeclassopedia
 
* Misc stuff to read [http://www.haskell.org/wikiupload/8/85/TMR-Issue13.pdf the Monad.Reader #13] - Typeclassopedia
  
 
+
== 2011-05-30 ==
Mo, '''30.5.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]  
+
Mo, '''30.5.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
 
* Introduction to F# ([[User:Citizen428|citizen428]])
 
* Introduction to F# ([[User:Citizen428|citizen428]])
 
* Robert Zinkov: http://lafp.us/
 
* Robert Zinkov: http://lafp.us/
  
 
+
== 2011-05-02 ==
 
Mo, '''2.5.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
 
Mo, '''2.5.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
Zeile 129: Zeile 294:
 
* Buch: Learn You A Haskell for Great Good ([[User:Citizen428|citizen428]])
 
* Buch: Learn You A Haskell for Great Good ([[User:Citizen428|citizen428]])
  
 
+
== 2011-04-04 ==
Mo, '''4.4.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]  
+
Mo, '''4.4.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
 
* Testen wie ein Weltmeister mit [http://testanything.org/wiki/index.php/TAP_Producers#Haskell TAP]  ([[Benutzer:Daxim|Daxim]])
 
* Testen wie ein Weltmeister mit [http://testanything.org/wiki/index.php/TAP_Producers#Haskell TAP]  ([[Benutzer:Daxim|Daxim]])
 
* Dies und das: https://gist.github.com/c7d4744047a2bb3b3c9c ([[User:Citizen428|citizen428]])
 
* Dies und das: https://gist.github.com/c7d4744047a2bb3b3c9c ([[User:Citizen428|citizen428]])
  
 
+
== 2011-03-07 ==
 
Mo, '''7.3.2011''' ab 19:30 in der Bibliothek [[Lage|im Metalab]]
 
Mo, '''7.3.2011''' ab 19:30 in der Bibliothek [[Lage|im Metalab]]
  
 
* [https://github.com/epsilonhalbe/Mastermind Mastermind] ([[Benutzer:Epsilon.halbe|ε/2]])
 
* [https://github.com/epsilonhalbe/Mastermind Mastermind] ([[Benutzer:Epsilon.halbe|ε/2]])
  
 
+
== 2011-02-07 ==
 
Mo, '''7.2.2011''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
 
Mo, '''7.2.2011''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
Zeile 146: Zeile 311:
 
* myReverse list - a hard task todo on the fly - except in haskell ;-) (ε/2)
 
* myReverse list - a hard task todo on the fly - except in haskell ;-) (ε/2)
  
 
+
== 2011-01-17 ==
Mo, '''17.1.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]  
+
Mo, '''17.1.''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
 
* [https://gist.github.com/783538 Func proc basics] ([[Benutzer:Citizen428|citizen428]])
 
* [https://gist.github.com/783538 Func proc basics] ([[Benutzer:Citizen428|citizen428]])
 
* Land of Lisp ([[Benutzer:Citizen428|citizen428]])
 
* Land of Lisp ([[Benutzer:Citizen428|citizen428]])
  
 
+
== 2010-11-29 ==
Mo, '''29.11. ab 19:30''' Uhr in der Bibliothek [[Lage|im Metalab]]  
+
Mo, '''29.11. ab 19:30''' Uhr in der Bibliothek [[Lage|im Metalab]]
  
 
* Func proc concepts: Monads ([[Benutzer:Citizen428|citizen428]])
 
* Func proc concepts: Monads ([[Benutzer:Citizen428|citizen428]])
 
[http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Dont-fear-the-Monads Brian Beckman's "Don't fear the Monads" talk]
 
[http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Dont-fear-the-Monads Brian Beckman's "Don't fear the Monads" talk]
  
 
+
== 2010-10-04 ==
Mo. '''04.10.2010''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]  
+
Mo. '''04.10.2010''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
 
* Common Lisp Object System ([[User:japhy|japhy]])
 
* Common Lisp Object System ([[User:japhy|japhy]])
  
 
+
== 2010-09-06 ==
Mo. '''06.09.2010''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]  
+
Mo. '''06.09.2010''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
 
* Func proc concepts: Higher-order functions ([[Benutzer:Citizen428|citizen428]])
 
* Func proc concepts: Higher-order functions ([[Benutzer:Citizen428|citizen428]])
Zeile 170: Zeile 335:
 
* Function level programming with APL and J ([[Benutzer:Citizen428|citizen428]])
 
* Function level programming with APL and J ([[Benutzer:Citizen428|citizen428]])
  
 
+
== 2010-07-12 ==
Mo. '''12.07.2010''' ab 19:30 Uhr im Hauptraum [[Lage|im Metalab]]  
+
Mo. '''12.07.2010''' ab 19:30 Uhr im Hauptraum [[Lage|im Metalab]]
  
 
* Introduction to Scala ([[User:MSch|MSch]])
 
* Introduction to Scala ([[User:MSch|MSch]])
Zeile 177: Zeile 342:
 
* Random [https://gist.github.com/7d6e873ae8b6b767a7af func prog tidbits] ([[User:Citizen428|citizen428]])
 
* Random [https://gist.github.com/7d6e873ae8b6b767a7af func prog tidbits] ([[User:Citizen428|citizen428]])
  
 
+
== 2010-06-14 ==
Mo. '''14.06.2010''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]  
+
Mo. '''14.06.2010''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
 
* Functional features of C# ([[Benutzer:Metaz|Metaz]])
 
* Functional features of C# ([[Benutzer:Metaz|Metaz]])
Zeile 185: Zeile 350:
 
* The Little Schemer ([[Benutzer:Citizen428|citizen428]])
 
* The Little Schemer ([[Benutzer:Citizen428|citizen428]])
  
 
+
== 2010-05-17 ==
Mo. '''17.05.2010''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]  
+
Mo. '''17.05.2010''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
 
* New GHC packages for openSUSE  ([[Benutzer:Daxim|Daxim]])
 
* New GHC packages for openSUSE  ([[Benutzer:Daxim|Daxim]])
Zeile 193: Zeile 358:
 
* The monthly "[https://gist.github.com/674e091831cb7bb5d226 What's new in Clojure land?]" ([[User:Citizen428|citizen428]])
 
* The monthly "[https://gist.github.com/674e091831cb7bb5d226 What's new in Clojure land?]" ([[User:Citizen428|citizen428]])
  
 
+
== 2010-04-19 ==
Mo. '''19.04.2010''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]  
+
Mo. '''19.04.2010''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
 
* What is functional programming? - Diskussion anhand der [[Functional Programming|Workshop]]-Slides ([[User:Citizen428|citizen428]] & [[User:red667|red667]])
 
* What is functional programming? - Diskussion anhand der [[Functional Programming|Workshop]]-Slides ([[User:Citizen428|citizen428]] & [[User:red667|red667]])
Zeile 200: Zeile 365:
 
* Common Lisp: format and more ([[Benutzer:Antifuchs|Antifuchs]])
 
* Common Lisp: format and more ([[Benutzer:Antifuchs|Antifuchs]])
  
 
+
== 2010-03-22 ==
Mo. '''22.03.2010''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]  
+
Mo. '''22.03.2010''' ab 19:30 Uhr in der Bibliothek [[Lage|im Metalab]]
  
 
* Lambdaheads: Was, warum, wieso, etc.
 
* Lambdaheads: Was, warum, wieso, etc.
Zeile 209: Zeile 374:
 
* Functional Programming in Perl 6
 
* Functional Programming in Perl 6
  
[[Kategorie:Veranstaltungen]]
+
[[Kategorie:Usergroups]]
[[Kategorie:Stammtische]]
 
[[Kategorie:UserGroup]]
 
  
__NOTOC__
+
[[Kategorie:Usergroups]]

Version vom 26. Juni 2013, 17:05 Uhr


Lambdaheads
Lambdaheads-Logo.jpg
Status: active
Thema: Lambdaheads
Organisator: citizen428, epsilonhalbe
Treffen: alter Termin + 28 Tage
Zielgruppe: Jeder mit Interesse an funktionaler Programmierung, vom Mathematiker zum Software-Entwickler.
Inhalt: Ein regelmäßiges Treffen von Leuten die sich für Lisp-Dialekte und funktionale Programmierung im Allgemeinen interessieren.
Zuletzt aktualisiert: 2013-06-26

WTF

Ein regelmäßiges Treffen von Leuten die sich für Lisp-Dialekte und funktionale Programmierung im Allgemeinen interessieren.

Kommende Events

Nächster Termin = alter Termin + 28 Tage

nächster regulärer Termin

Termin: Mo, 2013-07-16 ab 20:00 Uhr in der Bibliothek im Metalab

Programm

generators in future ECMAscript

Teilnehmer


Vortragswünsche

  • Coq - a proof assistant (ε/2?)
  • Interfacing to SDL/Games in functional languages (Purely Functional Retro Games)
  • Readable/non-trivial Haskell Examples (ε/2, e.g. Pandoc)
  • How Darcs works
  • Two λ enter, one λ leaves: Snap vs. Yesod
  • Emacs

Vortragsvorschläge

  • Hunchentoot, Web programming, maybe hunchentoot-fcgi (WIP) or Postmodern (japhy)
  • Zippers (citizen428)
  • fold and it's universal mapping property - ein versuch fold kennenzulernen - ε/2
  • Intro to QuickCheck and Software Testing in Haskell (ε/2)
  • Intro to a Clojure Web Framework (Noir semi-done, again citizen428)

Links

Kontakt

Frühere Events

2013-06-18

comb, one of the opposites of join (the other one is split)

String.prototype.comb = function(re) {
    // lol type conversion the hacky way
    re = ('' + re)              // now it's a string
        .replace(/^\//, '')     // hack off leading
        .replace(/\/$/, '');    // trailing delimiter
    // no interpolation, no sigils, no sprintf
    return eval('this.match(/(' + re + ')+/g)');
}

gather/take construct reimplemented for JS - a replacement for the idiom of declaring a collecting variable and pushing into it occasionally http://perl6.wikia.com/wiki/Gather

function gather(fn) {
    var guard = new Array;
    var take = function (items) {
        guard = guard.concat(items);
    };
    fn(take);
    return guard;
};

console.log(
    gather(function(take) {
        for (var i = 0; i <= 10; i++) {
            if (i % 2) {
                take(i);
            }
        }
    })
)

var arr = [];
for (var i = 0; i <= 10; i++) {
    if (i % 2) {
        arr.push(i);
    }
}

Haskell example is incomplete

gather x = foldr (:) [] x
main = print $ gather [0..10]

reimplementation of List::Gen::by http://p3rl.org/List::Gen#by-NUM-LIST (no generators, just list transformation)

function by(n, a) {
    var r = new Array;
    while(a.length) {
        r.push(a.splice(0, n));
    };
    console.log(a);
    return r;
};

function by2(n, a) {
    return a.length ? [a.slice(0, n)].concat(by2(n, a.slice(n))) : [];
}

console.log( by2(5, [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]) );
console.log( by2(5, [1,2,3,4,5,6,7,8,9,10,11,12,13,14]) );
console.log( by2(5, [1,2,3,4]) );
console.log( by2(5, []) );
// contrib by intval
// divides array into equal arrays, each of size n
function by(n, arr) {
    function byby(n, arr, accum) {
        if(arr.length < 1) {
            return accum;
        }
        var head = [arr.slice(0,n)];
        var tail = arr.slice(n);
        return byby(n, tail, accum.concat(head));
    }
    return byby(n, arr, []);
}

console.log( by(5, [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]) );
console.log( by(5, [1,2,3,4,5,6,7,8,9,10,11,12,13,14]) );
console.log( by(5, [1,2,3,4]) );
console.log( by(25, []) );

2013-05-21

A revival to much muttering, fretting and frowning of brows!

2012-10-15

  • Coding Challenge: bring your favourite languages, solve a small practical real-world problem from Stack Overflow in a functional fashion, let's hack and learn from each others' solutions [1] [2]

http://stackoverflow.com/questions/12872469

2012-09-17

2012-08-20

- Burrows-Wheeler Transformation aus "R.Bird - Pearls of functional Programming"

  • Algorithmus durchbesprechen und
  • Ein bischen testen mit QuickCheck

2012-07-23

2012-06-25

  • ClojureC - neues Projekt von schani

2012-05-24

2012-04-30

2012-03-05

Mo, 2012-04-02 ab 19:30 Uhr in der Bibliothek im Metalab
Mo, 2012-03-05 ab 19:30 Uhr in der Bibliothek im Metalab

Programm: Ich bin vor kurzem auf den catalyst coding contest hingewiesen worden und habe versucht das Challenge von 2010 in Haskell zu lösen, und stehe nun (ich armer Tor) vor dem 5ten Level. Und komm nicht weiter. Ich werde meinen Code präsentieren und wäre interessiert Lösungen funktionaler und nichtfunktionaler Art zu sehen, bzw. hoffe ich auf Ideen eurerseits wie ich weitercoden könnte.

Mein Zeug bzw die Aufgabenbeschreibungen (als pdf) findet Ihr auf github - ε/2

2012-02-13

Mo 2012-02-13 ab 19:30 in der Bibliothek im Metalab

Programm:

2012-01-09

Mo, 2012-01-09 ab 19:30 Uhr in der Bibliothek im Metalab

Programming Challenge by daxim. Solutions in Ruby (citizen428), Haskell (ε/2), Python2 (a friend of ε/2) and Common Lisp (japhy).

2011-11-12

Mo., 2011-11-12, ab 19:30 Uhr im Hauptraum im Metalab

angeregte Diskussion auf der Couch vor der Blinkenwall über alles mögliche™

2011-10-17

Mo, 17.10. ab 19:30 Uhr in der Bibliothek im Metalab

2011-09-19

Mo, 19.9. ab 19:30 Uhr in der Bibliothek im Metalab

  • Overview: Martins (=ε/2) Spielprojekt "Algebra Alchemy"
    • Symbolic Algebra
    • Algebraic Expression Trees
    • Parsing
    • Testing (HUnit)
    • Documentation (Haddock)

in Haskell all DIY - hopefully readable ;-)

2011-08-29

Lambdaheads Spezial, 29.8., 18:15 - 19:45

User:Antifuchs zeig AllegroGraph in der Bibliothek im Metalab.

2011-07-25

Mo, 25.7. ab 19:30 Uhr in der Bibliothek im Metalab

2011-06-27

Mo, 27.6. ab 19:30 Uhr in der Bibliothek im Metalab

  • OCaml is dead - long live OCaml
  • Sequential versus ISeq - Clo-shure?!?
  • Haskell examples - code of a newbie (ε/2)
  • Misc stuff to read the Monad.Reader #13 - Typeclassopedia

2011-05-30

Mo, 30.5. ab 19:30 Uhr in der Bibliothek im Metalab

2011-05-02

Mo, 2.5. ab 19:30 Uhr in der Bibliothek im Metalab

2011-04-04

Mo, 4.4. ab 19:30 Uhr in der Bibliothek im Metalab

2011-03-07

Mo, 7.3.2011 ab 19:30 in der Bibliothek im Metalab

2011-02-07

Mo, 7.2.2011 ab 19:30 Uhr in der Bibliothek im Metalab

  • Y-Combinator in Perl/Lisp/Javascript (citizen428)
  • myReverse list - a hard task todo on the fly - except in haskell ;-) (ε/2)

2011-01-17

Mo, 17.1. ab 19:30 Uhr in der Bibliothek im Metalab

2010-11-29

Mo, 29.11. ab 19:30 Uhr in der Bibliothek im Metalab

Brian Beckman's "Don't fear the Monads" talk

2010-10-04

Mo. 04.10.2010 ab 19:30 Uhr in der Bibliothek im Metalab

  • Common Lisp Object System (japhy)

2010-09-06

Mo. 06.09.2010 ab 19:30 Uhr in der Bibliothek im Metalab

  • Func proc concepts: Higher-order functions (citizen428)
  • Functional programming in Perl 6 (Daxim)
  • Function level programming with APL and J (citizen428)

2010-07-12

Mo. 12.07.2010 ab 19:30 Uhr im Hauptraum im Metalab

2010-06-14

Mo. 14.06.2010 ab 19:30 Uhr in der Bibliothek im Metalab

2010-05-17

Mo. 17.05.2010 ab 19:30 Uhr in der Bibliothek im Metalab

2010-04-19

Mo. 19.04.2010 ab 19:30 Uhr in der Bibliothek im Metalab

2010-03-22

Mo. 22.03.2010 ab 19:30 Uhr in der Bibliothek im Metalab