Merge branch 'master' into specialized-arrays
commit
3b25d04b8a
|
@ -0,0 +1,11 @@
|
|||
! Copyright (C) 2008 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: io.encodings.utf8 io.files kernel sequences xml ;
|
||||
IN: benchmark.xml
|
||||
|
||||
: xml-benchmark ( -- )
|
||||
"resource:basis/xmode/modes/" [
|
||||
[ utf8 <file-reader> read-xml drop ] each
|
||||
] with-directory-files ;
|
||||
|
||||
MAIN: xml-benchmark
|
|
@ -0,0 +1,55 @@
|
|||
! Copyright (C) 2008 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: fry irc.client irc.client.private kernel namespaces
|
||||
sequences threads io.encodings.8-bit io.launcher io splitting
|
||||
make mason.common mason.updates calendar math alarms ;
|
||||
IN: irc.gitbot
|
||||
|
||||
: bot-profile ( -- obj )
|
||||
"irc.freenode.org" 6667 "jackass" f <irc-profile> ;
|
||||
|
||||
: bot-channel ( -- seq ) "#concatenative" ;
|
||||
|
||||
GENERIC: handle-message ( msg -- )
|
||||
|
||||
M: object handle-message drop ;
|
||||
|
||||
: bot-loop ( chat -- )
|
||||
dup hear handle-message bot-loop ;
|
||||
|
||||
: start-bot ( -- chat )
|
||||
bot-profile <irc-client>
|
||||
[ connect-irc ]
|
||||
[
|
||||
[ bot-channel <irc-channel-chat> dup ] dip
|
||||
'[ _ [ _ attach-chat ] [ bot-loop ] bi ]
|
||||
"GitBot" spawn drop
|
||||
] bi ;
|
||||
|
||||
: git-log ( from to -- lines )
|
||||
[
|
||||
"git-log" ,
|
||||
"--no-merges" ,
|
||||
"--pretty=format:%h %an: %s" ,
|
||||
".." swap 3append ,
|
||||
] { } make
|
||||
latin1 [ input-stream get lines ] with-process-reader ;
|
||||
|
||||
: updates ( from to -- lines )
|
||||
git-log reverse
|
||||
dup length 4 > [ 4 head "... and more" suffix ] when ;
|
||||
|
||||
: report-updates ( from to chat -- )
|
||||
[ updates ] dip
|
||||
[ 1 seconds sleep ] swap
|
||||
'[ _ speak ] interleave ;
|
||||
|
||||
: check-for-updates ( chat -- )
|
||||
[ git-id git-pull-cmd short-running-process git-id ] dip
|
||||
report-updates ;
|
||||
|
||||
: bot ( -- )
|
||||
start-bot
|
||||
'[ _ check-for-updates ] 5 minutes every drop ;
|
||||
|
||||
MAIN: bot
|
Loading…
Reference in New Issue